1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Guido van Rossum: Python…

Wer Geschwindigkeit will nutzt weder Java noch Python

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Profi_in_allem 14.05.21 - 17:11

    Python ist für andere Dinge gut. Wer Geschwindigkeit will programmiert in Assembler oder C, also direkt auf Hardware. Python ist gut so wie es ist.

    Da ich IT-Profi bin und überaus intelligent, zählt meine Meinung mehr als alle anderen. Dies begründe ich ganz einfach, meine Meinung ist immer gut durchdacht, ich habe also einen Denkvorsprung vor allen anderen. Ich bitte dies bei etwaigen Antworten auf meine Posts zu bedenken, ich habe und hatte bisher immer Recht. Wer also anderer Meinung ist wie ich, sollte vorher bedenken, dass er höchstwahrscheinlich im Unrecht ist.

  2. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: chrisku 14.05.21 - 17:37

    Zwischen Java und Python liegt ungefähr Faktor 33.

    https://medium.com/swlh/a-performance-comparison-between-c-java-and-python-df3890545f6d

  3. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Feuerfuchs 14.05.21 - 17:53

    Merkwürdige Aussage. Das riesige Python-Ökosystem rund um Machine Learning und Pandas profitiert massiv von einem schnelleren Interpreter, und da programmiert sicher niemand alles in C oder gar Assembler.



    1 mal bearbeitet, zuletzt am 14.05.21 17:53 durch Feuerfuchs.

  4. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: bstea 14.05.21 - 17:56

    Und der Kram ist in Pure Python, wohl eher nicht?

  5. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: deisi 14.05.21 - 18:38

    Wenn der Code zu langsam ist, dann sitzt in 9 von 10 Fällen das Problem vor dem PC, denn schlechten Code schreiben und dann auf die Sprache schimpfen, dass kann jeder.

  6. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: blackout24 14.05.21 - 20:42

    Feuerfuchs schrieb:
    --------------------------------------------------------------------------------
    > Merkwürdige Aussage. Das riesige Python-Ökosystem rund um Machine Learning
    > und Pandas profitiert massiv von einem schnelleren Interpreter, und da
    > programmiert sicher niemand alles in C oder gar Assembler.

    Ehhhh die ganzen performance kritischen Python Bibliotheken haben alle Bindings zu C oder CUDA Libs.... Python ist einfach nur ein bisschen Kleber drumherum.

  7. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Steffo 14.05.21 - 21:54

    deisi schrieb:
    --------------------------------------------------------------------------------
    > Wenn der Code zu langsam ist, dann sitzt in 9 von 10 Fällen das Problem vor
    > dem PC, denn schlechten Code schreiben und dann auf die Sprache schimpfen,
    > dass kann jeder.

    Die Aussage ist genau so simplifizierend wie die Aussage des OTs. Wenn du dir einfach mal diesen Benchmark anschaust, wo dieselben Algorithmen implementiert wurden, dann sind die meisten Ergebnisse jenseits von gut und böse!

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python3-gcc.html

  8. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Steffo 14.05.21 - 22:04

    Nur schreibt kaum noch jemand komplexere Software in C oder Assembler, es sei denn, es ist Embedded oder irgendwelche intensive Berechnungen wie Numerik-Bibliotheken, Codecs etc.

    Ich habe mal in einer Firma gearbeitet, da wurde die KI zu 99% in Python entwickelt und in der Industrie als Klassifikator am Fließband eingesetzt.
    Hier und da hatte man tatsächlich mit Performance-Problemen zu kämpfen. Da musste dann getrickst werden. Z. B. einen neuen Prozess aufzumachen und über Interprozesskommunikation zu kommunizieren, weil in Python das Multithreading auf einem Core stattfindet. Oder man hat eine Berechnung in C++ ausgelagert. Mit Numpy hat man sich auch geholfen, das ja intern Fortran und C verwendet.
    Diese Umwege könnte man sich evtl. sparen, wenn Python bspw. um den Faktor 10 schneller wäre und echtes Multithreading unterstützen würde.

    Die Performance zwischen C++ und C gibt es übrigens praktisch nicht. C++ kann in Einzelfällen sogar schneller sein. Bspw. durch Templates anstatt void-Pointer zu verwenden, was in C nicht unüblich ist.
    Rust ist ebenfalls genau so performant.
    Wenn du das nicht glaubst, dann schau mal hier vorbei:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust.html

  9. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: subjord 14.05.21 - 23:09

    Genau. Python ist zwar langsam, aber welcher Python Programmierer verwendet schon reine Python syntax um komplexe Probleme zu lösen.
    In Python verwendet man Bibliotheken, die nicht in Python programmiert wurden, sondern nur über Python kontrolliert werden.
    Wenn man also herausfinden möchte wie schnell man praktisch eine Millionen zahlen in Python multiplizieren kann, sollte eher ein numpy array erstellen und die .square() Funktion aufrufen. Dabei werden zwar keine Zahlen in Python quadriert sondern in C, aber warum sollte irgendjemand auf die Idee kommen so etwas mit reinen Python zu erledigen.

    Man wird auch merken, dass obwohl Python 3.11 doppelt so schnell wird wie 3.09, die Programme vermutlich im Endeffekt gleich lange laufen. Ich sehe da nicht viel nützliches Verbesserungspotential.



    1 mal bearbeitet, zuletzt am 14.05.21 23:13 durch subjord.

  10. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: zonk 14.05.21 - 23:49

    Profi_in_allem schrieb:
    --------------------------------------------------------------------------------
    > ... will programmiert in Assembler ...

    15 Jahre und gerade frisch gehört, was ein Assembler ist?
    oder
    50++ Und noch nicht gehört, dass man Assembler sicher nirgends verwendet, wo Python als alternative infrage kommt.

  11. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Steffo 14.05.21 - 23:58

    subjord schrieb:
    --------------------------------------------------------------------------------
    > Genau. Python ist zwar langsam, aber welcher Python Programmierer verwendet
    > schon reine Python syntax um komplexe Probleme zu lösen.
    > In Python verwendet man Bibliotheken, die nicht in Python programmiert
    > wurden, sondern nur über Python kontrolliert werden.
    > Wenn man also herausfinden möchte wie schnell man praktisch eine Millionen
    > zahlen in Python multiplizieren kann, sollte eher ein numpy array erstellen
    > und die .square() Funktion aufrufen. Dabei werden zwar keine Zahlen in
    > Python quadriert sondern in C, aber warum sollte irgendjemand auf die Idee
    > kommen so etwas mit reinen Python zu erledigen.
    >
    > Man wird auch merken, dass obwohl Python 3.11 doppelt so schnell wird wie
    > 3.09, die Programme vermutlich im Endeffekt gleich lange laufen. Ich sehe
    > da nicht viel nützliches Verbesserungspotential.

    Du kannst nur im mathematischen Bereich die schlechte Python-Performance mit Numpy abfangen. Schau dir einfach mal das obige Benchmark an das ich verlinkt habe. Die Möglichkeit third party libs einzubinden, die gibt es bei dem Benchmark auch, nur hat es in dem Fall nicht geholfen.

  12. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: spiegelneuron 15.05.21 - 07:46

    > Wenn der Code zu langsam ist, dann sitzt in 9 von 10 Fällen das Problem vor
    > dem PC, denn schlechten Code schreiben und dann auf die Sprache schimpfen,
    > dass kann jeder.

    In Python selbst ist es unmöglich schnellen Code zu schreiben da interpretiert, da kann man sich beliebig Mühe geben.

  13. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: spiegelneuron 15.05.21 - 07:48

    > Die Performance zwischen C++ und C gibt es übrigens praktisch nicht. ..

    Guck dir das CLBG an, da ist C im Schnitt ein kleines Stück schneller.

  14. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Steffo 15.05.21 - 10:07

    spiegelneuron schrieb:
    --------------------------------------------------------------------------------
    > > Die Performance zwischen C++ und C gibt es übrigens praktisch nicht. ..
    >
    > Guck dir das CLBG an, da ist C im Schnitt ein kleines Stück schneller.

    Ne, es ist in 7 von 10 Fällen langsamer:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/gcc-gpp.html

  15. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: M. 15.05.21 - 11:07

    > > ... will programmiert in Assembler ...
    > 50++ Und noch nicht gehört, dass man Assembler sicher nirgends verwendet,
    > wo Python als alternative infrage kommt.
    Der Witz dabei ist ja - wenn du heute Code in Assembler schreibst, weil dir der C/C++/...-Code zu langsam ist, wirst du in den allermeisten Faellen das Problem nicht loesen, denn:
    - Code-Optimierung moderner Compiler ist schon ganz gut, und laesst sich im Zweifel durch Hints (likely etc.) noch weiter verbessern.
    Da musst du die Zielarchitektur schon sehr genau kennen, um das von Hand besser zu machen.
    - du schiesst dir ganz schnell ins Knie, und dann viel Spass beim Debuggen :-)

    Ausnahmen im Bereich von Embedded/Echtzeitsystemen bestaetigen diese Regel.

    There's no sense crying over every mistake,
    you just keep on trying 'till you run out of cake.

  16. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: Cerdo 15.05.21 - 11:58

    M. schrieb:
    --------------------------------------------------------------------------------
    > Da musst du die Zielarchitektur schon sehr genau kennen, um das von Hand
    > besser zu machen.
    > - du schiesst dir ganz schnell ins Knie, und dann viel Spass beim Debuggen
    > :-)
    >
    > Ausnahmen im Bereich von Embedded/Echtzeitsystemen bestaetigen diese Regel.
    Genau das. Kein Mensch schreibt ganze Programme in Assembler. Da wird höchstens in kritischen Bereichen eines C-Programms noch Performance rausgeholt, wenn die spezielle CPU (meist RISC) da noch Spielraum hat.

  17. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: FrankM 15.05.21 - 12:24

    Immer diese künstlichen Benchmarks. Wer würde denn wirklich so ein Python Programm schreiben? Jeder Wissenschaftler bindet dafür Numpy ein und die Sache ist wieder erledigt. Ja, richtig, Numpy ist nicht mehr in Python geschrieben. Und ja, solche Bibliotheken gibt es auch für Java und C die dafür auch verwendet werden. Ja und? Wo liegt das Problem? Python ist eine einfache Sprache um schnell zum Ergebnis zu kommen. Manchmal muss man nur triviale Dinge höchsteffizient machen (Python + Numpy), schnell etwas ändern, dafür ist es optimal.

    Dennoch ist es natürlich toll, wenn Python an sich schneller wird. Aber jedes !!!normal programmierte!!!! Python Skript/Programm ist nicht 33 mal langsamer als Java, sondern eher vergleichbar ... aufgrund der Bibliotheken natürlich.

  18. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: interlingueX 15.05.21 - 12:35

    Cerdo schrieb:
    --------------------------------------------------------------------------------
    > Kein Mensch schreibt ganze Programme in Assembler.

    Jup – am ehesten sind das dann Liebhaber- oder Hobbyprojekte wie menuetOS.

    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
    Also, ich bin Generation A. Trends muss man setzen, bevor es zu spät ist.

  19. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: spiegelneuron 15.05.21 - 12:51

    > Da musst du die Zielarchitektur schon sehr genau kennen, um das von Hand
    > besser zu machen.

    Nö, wenn man mal von solchen selten sinnvoll anwendbaren Spielchen wie AVX & Co absieht kann man den Code so schreiben, dass er auf jede Zielarchitektur passt.

  20. Re: Wer Geschwindigkeit will nutzt weder Java noch Python

    Autor: spiegelneuron 15.05.21 - 12:51

    > Genau das. Kein Mensch schreibt ganze Programme in Assembler. Da wird
    > höchstens in kritischen Bereichen eines C-Programms noch Performance
    > rausgeholt, wenn die spezielle CPU (meist RISC) da noch Spielraum hat.

    Wobei es meistens schwierig ist gg. so einen Wunder-Compiler wie den gcc anzukommen.

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Einkäuferin / Einkäufer (w/m/d) für den Bereich Zentrale Beschaffung und IT-Vertragsmanagement
    Bau- und Liegenschaftsbetrieb NRW, Düsseldorf
  2. Softwareentwickler Android, Navigation und Map (m/w/d)
    e.solutions GmbH, Erlangen
  3. Projektleiter Digitalisierung (m/w/d)
    Renfert GmbH, Hilzingen
  4. Go-to-Market Experte "New Work Produkte" (m/w/d)
    Haufe Group, Freiburg im Breisgau, Sankt Gallen (Schweiz)

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. über 2 Millionen Spar-Deals für Prime-Mitglieder
  2. (u. a. Robas Lund DX Racer 1 für 194,99€, Corsair T1 Race für 207€, Razer Iskur für 389...
  3. nur für Prime-Mitglieder
  4. (u. a. Monster Hunter World - Iceborne (DLC) für 18,99€, Horizon Zero Dawn - Complete Edition...


Haben wir etwas übersehen?

E-Mail an news@golem.de


Lois Lew: Die berühmteste Sekretärin, die IBM je hatte
Lois Lew
Die berühmteste Sekretärin, die IBM je hatte

Lois Lew war Sekretärin bei IBM, als sie die Chance bekam, auf eine große Werbetour zu gehen. Dabei stellte sich heraus: Sie ist ein Gedächtnisgenie.
Ein Porträt von Elke Wittich

  1. Kyndryl IBMs aufgespaltenes Unternehmen bekommt einen neuen Namen
  2. Programmiersprache IBM will mit Cobol in die Linux-Cloud
  3. IBM Deutschland IBM-Beschäftigte wehren sich in Webex gegen Kündigungen

Dragonbox-Pyra-Macher im Interview: Die Linux-Spielekonsole aus Deutschland
Dragonbox-Pyra-Macher im Interview
Die Linux-Spielekonsole aus Deutschland

Mit viel Verspätung ist die Dragonbox Pyra erschienen. Entwickler Michael Mrozek musste ganz schön kämpfen, damit es überhaupt dazu kam. Wir haben ihn in Ingolstadt zum Gespräch getroffen.
Ein Interview von Martin Wolf


    Telefon- und Internetanbieter: Was tun bei falschen Auftragsbestätigungen?
    Telefon- und Internetanbieter
    Was tun bei falschen Auftragsbestätigungen?

    Bei Telefon- und Internetanschlüssen kommt es öfter vor, dass Verbraucher Auftragsbestätigungen bekommen, obwohl sie nichts bestellt haben.
    Von Harald Büring