Benchmark: Compiler optimiert komplette Funktion weg



  • Gill Bates schrieb:

    Wen's interessiert: Bei 5 Milliarden Schleifendurchläufen hat C++Implementation nur ca. 60% der Ausführungszeit des entsprechenden C#-Programms benötigt. 😋

    Interesant wuerde es erst sein wenn du eklaeren wuerdest weshalb das so ist.



  • rapso schrieb:

    Gill Bates schrieb:

    Wen's interessiert: Bei 5 Milliarden Schleifendurchläufen hat C++Implementation nur ca. 60% der Ausführungszeit des entsprechenden C#-Programms benötigt. 😋

    Interesant wuerde es erst sein wenn du eklaeren wuerdest weshalb das so ist.

    Weil C++ die ÜBER Sprache ist und und Punkte Sp33d alles weghaxx0rt!11



  • Wen's interessiert: Bei 5 Milliarden Schleifendurchläufen hat C++Implementation nur ca. 60% der Ausführungszeit des entsprechenden C#-Programms benötigt.

    Ich hoffe, du hast die 5 Milliarden als 64-Bit-Variable angelegt, denn in eine 32-Bit-Variable (int) passen nur 4.2 Mrd verschiedene Werte...



  • speedgottlol schrieb:

    rapso schrieb:

    Gill Bates schrieb:

    Wen's interessiert: Bei 5 Milliarden Schleifendurchläufen hat C++Implementation nur ca. 60% der Ausführungszeit des entsprechenden C#-Programms benötigt. 😋

    Interesant wuerde es erst sein wenn du eklaeren wuerdest weshalb das so ist.

    Weil C++ die ÜBER Sprache ist und und Punkte Sp33d alles weghaxx0rt!11

    Naja wenn man die Entwicklungszeit vergleicht mit >20 Jahre fuer den C++ Compiler und 4 Jahre fuer den C# Compiler.



  • Th schrieb:

    Wen's interessiert: Bei 5 Milliarden Schleifendurchläufen hat C++Implementation nur ca. 60% der Ausführungszeit des entsprechenden C#-Programms benötigt.

    Ich hoffe, du hast die 5 Milliarden als 64-Bit-Variable angelegt, denn in eine 32-Bit-Variable (int) passen nur 4.2 Mrd verschiedene Werte...

    schau auf seite 1. es sind zwei verschachtelte schleifen von je 25000 😉

    DEvent schrieb:

    speedgottlol schrieb:

    rapso schrieb:

    Gill Bates schrieb:

    Wen's interessiert: Bei 5 Milliarden Schleifendurchläufen hat C++Implementation nur ca. 60% der Ausführungszeit des entsprechenden C#-Programms benötigt. 😋

    Interesant wuerde es erst sein wenn du eklaeren wuerdest weshalb das so ist.

    Weil C++ die ÜBER Sprache ist und und Punkte Sp33d alles weghaxx0rt!11

    Naja wenn man die Entwicklungszeit vergleicht mit >20 Jahre fuer den C++ Compiler und 4 Jahre fuer den C# Compiler.

    Das c++ frontend mit dem VB backend gibt es schon um einiges laenger. MS hat ja nicht in knapp nem jahr nen complet neuen compiler+Laufzeitumgebung erfunden.



  • rapso schrieb:

    schau auf seite 1. es sind zwei verschachtelte schleifen von je 25000 😉

    Fast richtig. Die 5 Mrd. entstehen durch zwei geschachtelte Schleifen à 70711 Iterationen - zumindest ungefähr (ganz genau sinds 5000045521)

    Aktuelles Tests: HashTables<string, *int> mit 10000 Elementen
    Test1: 1000mal Lookup auf alle Elemente (nacheinander)
    Test2: 1000 Elemente je 10000 Lookups (also 10000mal Lookup auf erstes Element, dann 10000mal Lookup auf zweites Element, usw.)
    ⚠ Hierbei sind alle Optimierungen der Compiler aktiviert! ⚠

    Wer ist wohl schneller? 😕
    CMapStringToPtr (MFC)
    QHash (Qt)
    HashTable (.NET)



  • Gill Bates schrieb:

    Aktuelles Tests: HashTables<string, *int> mit 10000 Elementen

    ist *int neu? kannte ich noch garned.

    Wer ist wohl schneller? 😕

    stdext::hash_map<std::string, int*>



  • Hoppla, hab ich mich verschrieben : natürllich muss es int* heißen 👍

    der bench marc schrieb:

    stdext::hash_map<std::string, int*>

    Du bist ja lustig. Ich geb drei Alternativen vor und du nennst einfach eine vierte...Will/muss aber genau die drei genannten Hashtables vergleichen!!


Anmelden zum Antworten