Kleiner GML "Benchmark" (aufbauend auf einen c++, Python, Java,... Benchmark)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Kleiner GML "Benchmark" (aufbauend auf einen c++, Python, Java,... Benchmark)

      Hi,

      Ich habe neulich im Internet einen Bnechmark zu Python, Perl, Java und C++ gefunden. Daraufhin habe ich eine kleine DLL gemacht, die Zeitverlauf genau genug für einen solchen Benchmark messen kann und habe die Tests auf GML übertragen. Im Anhang ist das Ergebnis.

      Meine persönliche Meinung: Dass es so aus geht war klar, aber dass der Unterschied so extrem ist hätte ich nicht erwartet. Andererseits ist GML halt interpretiert^^

      Edit: Ich habe extra nochmal nachgemessen, ein DLL-Aufruf, wie ich ihn zur Geschwindigkeitsmessung nutze, hat keinerlei Messbare Dauer.

      Edit2: Alle Zeitangaben sind in Sekunden!
      Dateien
      • benchmark.txt

        (1,06 kB, 292 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von T-Moe ()

    • Könntest bitte den link zu diesem Benchmark geben?
      Mich interesiert wie die Textausgabe Tests z.B. in C und co realisiert werden, da man das sonst nicht vergleichen kann, weil ich mir nicht vorstellen kann das gleiche Textausgabekanäle verwendet wurden ;)
      Und natürlich auch ob du die C++, Python und Co Test auf deinem Rechner gemacht hast, wenn die Ergebnisse von verschiedenen Rechnern stammen sind sie nichts wert ;)
    • Ich finde Vorallem bei der "Textausgabe" ist dein Benchmark nicht aussagekräftig, weil zum einen verschiedene Arten der Textausgabe verwendet werden und zum anderen bei manchen Sprachen garnicht klar ist, wie der TExt ausgegeben wird.
      Als Beispiel: Unter Linux ist ein "cout << "foo" << endl;" in einem Terminal _viel_ langsamer als auf einer echten Konsole.
    • Original von Agnahim
      Als Beispiel: Unter Linux ist ein "cout << "foo" << endl;" in einem Terminal _viel_ langsamer als auf einer echten Konsole.


      Das hängt vom Terminal ab, ich habs ausprobiert, einige Terminals brauchen zur Ausgabe mehr als 3 Minuten, andere nur ~ 15 Sekunden. Misst man allerdings mit "time" bekommt man die ähnliche Zeiten für die eigentliche Ausführung:

      Quellcode

      1. aterm:
      2. $ time bench
      3. 1
      4. [...]
      5. 999999
      6. bench 2.33s user 3.25s system 35% cpu 15.850 total
      7. Eterm:
      8. $ time bench
      9. 1
      10. [...]
      11. 999999
      12. bench 2.21s user 2.86s system 2% cpu 3:11.03 total
      Alles anzeigen
    • Der original Benchmark: furryland.org/~mikec/bench/
      Ich hab allerdings die C++-Dinge angepasst damit sie besser mit dem GM vergleichbar sind. Die C++-Zeiten und die Java-Zeiten (ich konnte nur die beiden testen) verhalten sich auf meinem alten PC fast genauso wie in dem Test (Sie waren noch ein kleines bisschen besser ;-))Deshalb habe ich den GM auch auf meinem alten PC getestet.

      Allerdings denke ich, dass bei solchen Abständen die Zahlen aussagekräftig sind.

      P.S.: Um es realistischer zu gestalten habe ich die Textausgabe in C++ auch über eine MFC-Form laufen lassen, das macht allerdings kaum Unterschied.
    • Textausgabe erfolgt im Game Maker nicht auf einem MFC Form sondern per Grafik in Direct3D 8. Das ist schon ein ganz anderes Kaliber, das kann man nicht direkt vergleichen.
      "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
      - Joseph Weizenbaum