8 Punkte von xguru 2021-03-31 | 1 Kommentare | Auf WhatsApp teilen
  • In welcher Sprache ist es einfacher, effizienten Code zu schreiben?

  • Implementierung eines Membership-Tests per linearer Suche zum Finden eines gewünschten Werts in einem Datensatz mit einer Million Ganzzahlen in den drei Sprachen und Vergleich mit einer C-Implementierung

Gesamtvergleich

  • Die Performance von Julia liegt nahe an C. Beim Schreiben von vektorisiertem Code ähnlich wie in R wird es jedoch 3-mal langsamer

  • Fügt man Python JIT (Numba) hinzu, ist die Performance der schleifenbasierten Implementierung ähnlich wie bei Julia

  • Bei Python muss man gut abwägen, ob man native Listen oder NumPy-Arrays wählt und wann man Numba verwendet

  • R ist nicht am schnellsten, zeigt aber im Vergleich zu Python konsistentere Ergebnisse. (Verglichen mit der schnellsten Implementierung ist R 24-mal langsamer, Python jedoch 343-mal langsamer. Julia nur bis etwa zum 3-Fachen.)

  • Native R ist immer schneller als Native Python

  • Wenn sich Looping in Python oder R nicht vermeiden lässt, ist elementbasiertes Looping effizienter als indexbasiertes Looping

1 Kommentare

 
dalinaum 2021-04-02

Dass Numba nur bei Numpy, Arrays, Schleifen usw. Wirkung zeigen kann und man Dekoratoren verwenden muss, wodurch der Code unübersichtlich wird, scheint mir ein gravierender Nachteil zu sein.

Sobald man auch nur Pandas beimischt, gibt es sofort Leistungseinbußen.