Witam!
Jakiś czas temu dowiedziałem się o Numba czyli JIT dla Pythona. Z ciekawości postanowiłem napisać prosty test który wyszukuje liczby pierwsze i mierzy czas w jakim to nastąpiło. Oczywiście JIT poprawiło wydajność wielokrotnie ale postanowiłem uruchomić test również na laptopie x86 i okazało się iż niskonapięciowy ARM... uzyskał w zasadzie bliski wynik, pomimo że w odróżnieniu od i7 nie ma nawet większego radiatora. Po przepisaniu na C++ podobne rezultaty. Osobiście podejrzewam iż chodzi o to że Mediatek jest młodszy oraz instrukcje ARM są tłumaczone na miktoinstrukcje w zasadzie 1:1 a w x86 niestety jedna instrukcja to często kilka mikroinstrukcji, ale nie mam pojęcia czy to prawidłowe rozwiązanie zagadki.
Repozytorium:
https://github.com/CixoDevelop/NumbaBenchmark
Poza pytaniem o interpretację wyników proszę o wypowiedzenie się o kodzie, jak można by to ewentualnie dopoprawiać aby działało lepiej, czy też zapisać by kod był czytelniejszy