GreyDNS Benchmarkergebnisse

Die Werte variieren je nach Aufruf des Benchmarks, die Tabelle dient nur zur Orientierung.

Man erkennt (so denke ich), dass der Client den Server nicht ausreizt, weder über das Loopback noch über eine 100 MBit-Leitung. Mein iBook ist als Client mit zwei parallelen Benchmarks schon bei Volllast.
Einen schnelleren Benchmark als dig -f Datei habe ich leider auch nicht gefunden.

Perl-Implementierung

ClientMediumServerAnfragenZeitAnfragen/sca. %CPU (Server)
Apple iBook G4 PPC, 1.3 GHzloopbackApple iBook G4 PPC, 1.3 GHz10.0006 s1666
loopback100.00072 s1388
100 MEIntel Pentium 3, 600 MHz10.0007-9 s1111-140047%
100 ME100.00071-85 s1176-1408
100 MEIntel Pentium 4, 2.2 GHz10.0005 s200033%
100 ME100.00047 s2127
Intel Pentium 4, 2.2 GHz100 MEApple iBook G4 PPC, 1.3 GHz10.0006 s166660%
100 ME100.00046-76 s1315-2173
Apple iBook G4 PPC, 1.3 GHz (2 bench parallel)100 MEIntel Pentium 4, 2.2 GHz10.0005-7 s1400-200040%
100 ME100.00042-79 s1265-1923


C-Implementierung

Die Datenbank ist in einem shared memory Dateisystem (tmpfs) untergebracht.

ClientMediumServerAnfragenZeitAnfragen/sca. %CPU (Server)
Apple iBook G4 PPC, 1.3 GHzloopbackApple iBook G4 PPC, 1.3 GHz100.00032.23 s3102.520%

valgrind

Während der kompletten Entwicklung habe ich konsequent mit valgrind nach Speicherfehlern gesucht.
Das empfehle ich jedem, der mit C entwickelt.

==5088== malloc/free: in use at exit: 0 bytes in 0 blocks.
==5088== malloc/free: 2,047,593 allocs, 2,047,593 frees, 78,818,678 bytes allocated.
==5088== For counts of detected errors, rerun with: -v
==5088== All heap blocks were freed -- no leaks are possible.