@Scholastik: Bei Pypy muss man daran denken, dass das ein JIT-Compiler ist der ein bisschen Aufwärmzeit braucht. Das hatte __deets__ auch schon geschrieben. Der Compiler analysiert was Funktionen machen und übersetzt die dann in Maschinensprache. Das heisst beim ersten Aufruf von Funktionen sind die noch nicht schneller, weil da erst einmal die Python-Variante ausgeführt wird und *zusätzlich* geschaut wird was die mit welchen Datentypen so macht. Daraufhin wird dann Maschinencode erzeugt, und erst beim nächsten Aufruf mit passenden Typen wird *der* dann ausgeführt. Das sollte man beim Schreiben, oder mindestens beim Bewerten von Tests berücksichtigen.
Generell würde ich auch für solche Mikrotests nicht selbst eine Schleife schreiben die das millionenmal macht, sondern das `timeit`-Modul verwenden.
SortedCollection vs SortedContainers
- __blackjack__
- User
- Beiträge: 14007
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis