Timeline for Python vs. compiled languages in OR research using metaheuristics
Current License: CC BY-SA 4.0
26 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 16, 2022 at 17:38 | answer | added | h22 | timeline score: 1 | |
S Jun 16, 2022 at 7:17 | history | suggested | tripleee | CC BY-SA 4.0 |
Typo in title
|
Jun 16, 2022 at 6:23 | review | Suggested edits | |||
S Jun 16, 2022 at 7:17 | |||||
Jun 15, 2022 at 22:45 | answer | added | user2284570 | timeline score: 3 | |
Jun 15, 2022 at 22:36 | comment | added | user2284570 | @marcelm it is compiled into an intermediate representation which is then interpreted. Also function names aren’t compiled, it is only at run time it is known if a variable/object/function was declared or not. | |
Jun 15, 2022 at 22:32 | comment | added | user2284570 |
@joni Cython code is just somewhat parsed Python. Instead of converting to C data, all variables are directly used as their Cpython internal representation (Gill and reference counting).
|
|
Jun 15, 2022 at 13:19 | comment | added | Rusi | An eg why Julia in OR makes sense juliacomputing.com/case-studies/alpha-route | |
Jun 15, 2022 at 11:05 | comment | added | Rusi | You should seriously consider Julia. If you know Python, Julia you'll find close enough (for starters). And if you need C-grade efficiency, default Julia comes close. And, in the hands of experts, often betters C. | |
Jun 15, 2022 at 10:56 | comment | added | marcelm | It's worth noting that Python (in the default implementation) is actually compiled. So I don't think "Python vs. compiled languages" is the correct question to ask. Why do you even care if it's compiled? If the answer is "performance", then I recommend you ask about performance specifically. | |
Jun 15, 2022 at 10:55 | comment | added | joni | @fontanf I like both Cython and C++. However, Cython can be used as a standalone language, so it's more than just a tool to optimize specific parts of your python code. And IMO, Cython is much easier to learn than C++ when coming from Python. Good Cython code can easily match the performance of pure C++ (which requires a good knowledge of both languages, to be fair). | |
Jun 15, 2022 at 10:45 | answer | added | J Fabian Meier | timeline score: 7 | |
Jun 15, 2022 at 10:18 | comment | added | fontanf | @joni Cython is relevant if you work on a Python project and you need to optimize a specific part of the program. But not if you're choosing the tools you're going to use in the next 10 years. It would be much more complex to use in the end and won't even reach the performances of pure C++ | |
Jun 15, 2022 at 7:43 | comment | added | Geoffrey De Smet | I see a performance cost to using Pyhon. For example OptaPy on the Vehicle Routing Problem is significantly slower than in Java with OptaPlanner (although that gap is shrinking). But in practice, ease of development (such as using a language in which you are proficient, with strong library ecosystem, etc) is far more important than picking the right programming language. | |
Jun 15, 2022 at 7:14 | comment | added | joni | You could also learn Cython if performance is your main concern. | |
Jun 15, 2022 at 5:26 | vote | accept | Leon Lan | ||
Jun 15, 2022 at 5:26 | history | edited | Leon Lan | CC BY-SA 4.0 |
deleted 84 characters in body
|
Jun 14, 2022 at 23:15 | history | became hot network question | |||
Jun 14, 2022 at 17:50 | comment | added | fontanf | I would recommend you to learn C++ now. Otherwise, you're just going to make your research harder until you accept to learn it - and you will anyway if you stay in the field of heuristics. A good Python implementation will be 10 times slower than a good C++ implementation and won't even be that easy to implement | |
Jun 14, 2022 at 17:37 | comment | added | Leon Lan | @PeterD The main scientific contribution of my work is solving real-world optimization problems. For example, solving a rich vehicle routing problem with 5+ attributes or scheduling problems such as hybrid flexible flow shop with again lots of constraints. | |
Jun 14, 2022 at 16:01 | answer | added | prubin♦ | timeline score: 16 | |
Jun 14, 2022 at 15:40 | comment | added | PeterD | What is the scientific contribution of your work? Do you want to beat a benchmark of an existing problem or do you come up with a new problem? | |
Jun 14, 2022 at 15:24 | history | edited | Leon Lan | CC BY-SA 4.0 |
added 283 characters in body
|
Jun 14, 2022 at 15:11 | history | edited | Leon Lan | CC BY-SA 4.0 |
edited title
|
Jun 14, 2022 at 15:10 | history | edited | Leon Lan | CC BY-SA 4.0 |
deleted 1 character in body
|
S Jun 14, 2022 at 15:10 | review | First questions | |||
Jun 14, 2022 at 16:29 | |||||
S Jun 14, 2022 at 15:10 | history | asked | Leon Lan | CC BY-SA 4.0 |