py2many.py --rust=1 test.py
rustc -O test.rs
$ time -p ./test.py
iterations 3
sum 1.4999999709476166e+17
real 436.55
user 435.45
sys 1.08
$ time -p ./test 3
iterations 3
sum 1.500000E+17
real 4.94
user 4.67
sys 0.25
Pyccel https://github.com/pyccel/pyccel translates Python3 to C or Fortran and is intended for numerical Python code. I have played with it, and it works pretty well.
I like the idea, but it's seems a little premature to show it, since there's very little information. For example, what is the supported subset? Are there any divergences in behavior? (for example, are the dicts always ordered?)
Also, just wondering how modular it is. How hard would it be to add another target, say Javascript?
Looking for feedback here. How many programmers actually know this and expect it? Is it worth the extra complexity when translating to static languages which don't provide this guarantee?
From an implementation perspective, doing it for the ordereddict special case is much simpler.
I think you can get away with keeping it unordered for 95% of the code. But the remaining 5% are going to fail in very confusing, and possibly inconsistent ways.
https://github.com/adsharma/py2many/tree/main/tests/cases https://github.com/adsharma/py2many/tree/main/tests/expected
100x speedup on this benchmark
http://www.hildstrom.com/projects/langcomp/index.html#test-p...