A következő program egy intenzív matematikai ciklust futtat. Ha ezt PyPy-val futtatod, a JIT motor menet közben gépi kódra fordítja a ciklust, így akár nagyságrendekkel gyorsabban futhat, mint a hagyományos CPython interpreterben.
------------------------------
import time
def szamolas_ciklussal(n):
osszeg = 0
for i in range(n):
osszeg += i
return osszeg
if __name__ == "__main__":
n = 100_000_000
start_ido = time.time()
eredmeny = szamolas_ciklussal(n)
vege_ido = time.time()
print(f"Eredmény: {eredmeny}")
print(f"Futási idő: {vege_ido - start_ido:.4f} másodperc")
------------
Eredmény: 4999999950000000
Futási idő: 24.8180 másodperc
** Process exited - Return Code: 0 **
---------------
Hogyan futtasd JIT-tel?Telepítsd a PyPy-t: Töltsd le vagy telepítsd a csomagkezelőddel (pl. Ubuntu/Debian esetén sudo apt install pypy3, vagy Mac-en brew install pypy).
Futtatás: Futtasd a szkriptet a pypy3 paranccsal a terminálban:bashpypy3 a_program_neve.py
A PyPy automatikusan felismeri a forró pontokat (hot spotokat) a kódban, és lefordítja azokat, így biztosítva a JIT-fordítás előnyeit.
Nincsenek megjegyzések:
Megjegyzés küldése