[NSWI176] Profilování (Graal) Python kódu
Jaroslav Tulach
jaroslav.tulach at oracle.com
Wed Mar 2 17:11:08 CET 2022
Zdravím všechny a hlavně kolegu, který zkoušel použít GraalPython a
potřeboval zjistit, proč je jeden jeho program pomalý. Příští úterý mohu
předvést jak profilovat pomocí [VisualVM](https://visualvm.github.io/) a
to jak Python kód, tak Java kód toho interpreteru. Také mi ale kolegové
řekli, že GraalPython podporuje standardní cProfiler. Takže můžete
upravit tento Python soubor
https://github.com/jtulach/sieve/blob/master/python/sieve.py třeba takto:
diff --git a/python/sieve.py b/python/sieve.py
index 243a69e..3ae817c 100644
--- a/python/sieve.py
+++ b/python/sieve.py
@@ -1,6 +1,7 @@
import math
import time
import sys
+import cProfile
class Natural:
n = 2
@@ -68,6 +69,6 @@ count = -1
if len(sys.argv) > 1:
count = int(float(sys.argv[1]))
while count != 0:
- took= measure(97, 100000)
+ took= cProfile.run("measure(97, 100000)")
print("Hundred thousand prime numbers in " + ms(took) + " ms")
count = count - 1
a pak jej spustit jak normálním, tak GraalVM Pythonem. V obou případech
to vypíše nějaké statistiky. Můžeme si to ukázat na přednášce.
-jt
More information about the NSWI176
mailing list