D Programming Language ist 2-3 mal schneller als C++ beim Parsen von XML. Benchmarkergebnisse inside!



  • knivil schrieb:

    Das liegt auch daran, dass man in D Objekte auch auf dem Stack ablegen kann und nicht aufwendig Speicher auf dem Heap allozieren muss.

    Nee, das geht wirklich nicht in C++. Ich frage mich staendig, warum meine Programme trotzdem kompilieren.

    Why is D/Tango so fast at parsing XML?
    * Array slicing
    * Native code
    * Avoid heap allocation as much as possible
    * Design choices

    Von den Gruenden scheint nur einer direkt D zu betreffen.

    Nein, es sind im Bezug auf C++ genaugenommen zwei Gründe.

    1. Array slicing
    Das kann C++ nicht, zumindest nicht mit Bordmitteln, man müßte schon darum herumprogrammieren und was eigenes bauen.

    2. Avoid heap allocation as much as possible

    Die anderen Dinge beziehen sich auf die anderen XML Parser.
    Manche benutzen z.B. Java und das ist wiederum kein native Code.

    Aber im Prinzip ist es doch auch egal, denn die Benchmarks sind hier eindeutig.
    RapidXML ist für C++ schon einer der besten, schnellsten und effizientesten Parser den es gibt, aber Tango schlägt ihn dank D trotzdem.



  • Zeus schrieb:

    Fütter blos nicht die fanatischen D Anhänger!

    FUD

    Ich denke so mancher alter C++ Hase hat einfach nur Angst vor D, weil er dann umlernen müßte, aber dafür schon zu alt ist.

    D wird seinen Weg schon bahnen.
    Jetzt muß erstmal D 2.0 fertig werden und dann kommen auch die guten Compiler.
    Python hat 15 Jahre gebraucht um in der Industrie anzukommen, diese Zeit sollte man auch D geben, das ja mit Version 1.0 erst seit ca. 3 Jahre als fertige stabile Version auf dem Markt ist.

    Fakt ist aber nunmal, daß man mit D deutlich effizienter und schneller programmieren kann als mit C oder C++.
    Man braucht weniger Zeit um zum Ziel zu kommen.

    D bietet hier die Vorteile, wie sie auch Java und C# bieten, aber im Gegensatz zu diesen beiden eignet sich D für die Systemprogrammierung.
    D ist native Code und braucht keine VM.

    Für Projekte in denen Performance, leichte Wartbarkeit, guter Workflow und schnell zum Ziel kommen wichtig sind, ist D ideal geeignet.
    Für ein Computerspiel in der Zeit so knapp und kostbar bzw. teuer ist, wäre D absolut super geeignet.
    Wenn die Entwickler damit 3-4 Monate Arbeitszeit einsparen, dann ist hier schon sehr viel gewonnen.



  • Michael E. schrieb:

    Icematix schrieb:

    Och, bis auf seine Abneigung gegen C++ ist fricky doch ein netter Kerl, was man von dem D-Fanat nicht behaupten kann 😉

    Stimmt auch wieder. Auch zeigt das Zitat größte Ahnungslosigkeit. Deswegen war der Vergleich wohl nicht gerechtfertigt.

    Na dann beweis mal anhand von Code!



  • D ist schneller! schrieb:

    Nein, es sind im Bezug auf C++ genaugenommen zwei Gründe.

    1. Array slicing
    Das kann C++ nicht, zumindest nicht mit Bordmitteln, man müßte schon darum herumprogrammieren und was eigenes bauen.

    Ja, das ist Schade, dass es das nicht gibt. Für die trivialen Fälle gibt es aber immernoch die Iteratoren. Solange du also nicht Sachen machst, wie "nimm jedes zweites Element", kommst du damit exakt genausogut um die Ecke. Die Syntax ist halt nur ein wenig ätzender.

    2. Avoid heap allocation as much as possible

    DAS sollte eigentlich auch das Ziel jedes C++ Programmierers sein.

    Nebenbei halte ich diesen Test nicht für Aussagekräftig. Wnen du dir die langsamen C-libs anschaust, dann sind das auch die, die komplett Standardkonform sind. Es scheint also auch eine Korrelation zwischen Konformität und Geschwindigkeit zu geben. Das wurde leider im Test nicht berücksichtigt.



  • D ist schneller! schrieb:

    Na dann beweis mal anhand von Code!

    Was soll ich beweisen? Dass ich schon wieder mit Trollen rede?



  • D ist schneller! schrieb:

    Zeus schrieb:

    Fütter blos nicht die fanatischen D Anhänger!

    FUD

    Ich denke so mancher alter C++ Hase hat einfach nur Angst vor D, weil er dann umlernen müßte, aber dafür schon zu alt ist.

    D wird seinen Weg schon bahnen.
    Jetzt muß erstmal D 2.0 fertig werden und dann kommen auch die guten Compiler.
    Python hat 15 Jahre gebraucht um in der Industrie anzukommen, diese Zeit sollte man auch D geben, das ja mit Version 1.0 erst seit ca. 3 Jahre als fertige stabile Version auf dem Markt ist.

    Dann komm bitte in 12 Jahren wieder, und hör bis dahin auf zu nerven.
    Immer diese Fanboys...



  • D ist schneller! schrieb:

    Zeus schrieb:

    Fütter blos nicht die fanatischen D Anhänger!

    Ich denke so mancher alter C++ Hase hat einfach nur Angst vor D, weil er dann umlernen müßte, aber dafür schon zu alt ist.

    Wieso umlernen? - Wenn dann dazu lernen (-;


Anmelden zum Antworten