| ▲ | _ZeD_ 16 hours ago | ||||||||||||||||
keep in mind that, apart from the money throw at js runtime interpreters by google and others, there is also the fact that python - as a language - is way more "dynamic" than javascript. Even "simple" stuff like field access in python may refer to multiple dynamically-mapped method resolution. Also, the ffi-bindings of python, while offering a way to extend it with libraries written in c/c++/fortran/... , limit how freely the internals can be changed (see the bug-by-bug compatibility work done for example by pypy, just to name an example, with some constraint that limit some optimizations) | |||||||||||||||||
| ▲ | pjmlp 3 hours ago | parent | next [-] | ||||||||||||||||
See Smalltalk, Self and Common Lisp for highly dynamic languages with good enough JIT, the first two having their research contributed to Hotspot and V8. | |||||||||||||||||
| ▲ | pansa2 15 hours ago | parent | prev | next [-] | ||||||||||||||||
> python - as a language - is way more "dynamic" than javascript Very true, but IMO the existence of PyPy proves that this doesn't necessarily prevent a fast implementation. I think the reason for CPython's poor performance must be your other point: > the ffi-bindings of python [...] limit how freely the internals can be changed | |||||||||||||||||
| ▲ | nikisweeting 9 hours ago | parent | prev [-] | ||||||||||||||||
genuinely curious, doesn't JS's proxy objects and prototype-based MRO have a similar performance impact in theory? | |||||||||||||||||
| |||||||||||||||||