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!!