... python esetén az asszociatív tömbök kényelmesek, de igen lassúak. A bitműveletek (bittologatás, egyesével mazsolázás) sem egy gyors mutatvány. Mindkettőből sok kellett az adatdekóderemhez, de egyéb okokból jó lenne, ha Pythonban maradna. Szóval ezért ilyen kiugróan lassú.
A Python előnye és hátránya, hogy egy
python<enter>
a = 5
help(a)
hatására ha kipróbálod, nem egy "int a=5;" történik, hanem egy int típusú osztály jön létre, saját metódusokkal. Ez kényelmessé teszi, ám JIT nélkül őrülten lassúvá és JIT-tel sem mondható közel C sebességűnek.
A C "struct" kulcsszava ehhez képest fapad, ám igen gyors (direkt memóriás, nem valami képlékenyen formálható osztály) és sok jó trükk megcsinálható vele. Ahogy a bit tologatások is közvetlen CPU utasításra fordulnak. Ellenben kevésbé kényelmes (és gyorsan tákolható), mint a Python list, dict, set, ... osztályainak kezelése.
Egyébként ha például stringeket kell feldolgozni, akkor elmondható, hogy
- C-ben írva 10 másodperc
- Pypy esetén kb. 30 másodperc
- Python esetén 100 másodperc
körüli string feldolgozási idővel lehet számolni.
Egy érdekes teszt eredménysor cPython és Pypy között: http://speed.pypy.org/