Geschwindigkeits Test

L I V E Stammtisch ab 20:30 Uhr im Chat
    • Offizieller Beitrag

    Halli Hallo ihr lieben,

    seit längeren hab ich mich gefragt wie lange Programme brauchen wenn sie aufgerufen, etwas anstellen und beenden werden.
    Ganz besonders wollte ich wissen ob das Projekt GCJ ein wenig schneller läuft als ein normales Java Programm.
    Getestet habe ich auf dem Raspberry ohne übertaktung und mit einer Class 4 SD-Karte.

    Folgende Sprachen habe ich getestet mit je 5 Durchläufen:
    ARM Assembler, C, Java, Java / ELF Binary (GCJ), Python
    Jede Sprache implementiert ein einfaches Hello World.

    Zum testen habe ich time verwendet. Was die einzelnen Zeilen Bedeuten kann hier nachgelesen werden.

    Hier die Ergebnisse:

    Spoiler anzeigen


    Wenn jemand noch andere Test-verfahren kennt, kann diese gernen nennen ;)
    Im Anhang befindet sich ein Archive mit dem Quellcode sowie dem Testscript.

    Gruß
    Turael


  • Halli Hallo ihr lieben,

    seit längeren hab ich mich gefragt wie lange Programme brauchen wenn sie aufgerufen, etwas anstellen und beenden werden.
    Ganz besonders wollte ich wissen ob das Projekt GCJ ein wenig schneller läuft als ein normales Java Programm.
    Getestet habe ich auf dem Raspberry ohne übertaktung und mit einer Class 4 SD-Karte.

    Folgende Sprachen habe ich getestet mit je 5 Durchläufen:
    ARM Assembler, C, Java, Java / ELF Binary (GCJ), Python
    Jede Sprache implementiert ein einfaches Hello World.

    Hm, ich kann den Sinn dieses Tests nicht erkennen:
    Auf diese Art kannst du beweisen, dass ein Fußgänger schneller als ein ICE ist, wenn du nur die ersten 10 Meter misst.
    Oder welchen sittlichen Nähwert hat ein Boot-Geschwindigkeits-Vorteil von einer halben Sekunde, wenn ich mein System nur einmal im Quartal boote?

    Ich habe einen anderen Test für dich:
    Nimm eine leere Schleife, und lass den Loop 1Mrd mal schleifen;
    unter PHP dauert das ewig, während Java das immer in Null-Zeit erledigt, weil der JIT die leere Schleife einfach wegoptimiert.

    Ach und übrigens:
    Welches "normale" Java hast du denn eingesetzt?
    Das Oracle-Java ist jedenfalls mehr als den Faktor 10 schneller als das OpenJDK.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!