Modern CPP
Posts 1-4 of 4
-
George Kotorlis Premium MemberThe company name is only visible to registered members.Schnellstes 'unzip' der Welt
Hallo Forum!
Unter
http://blog.thinkmeta.de/2009/04/unzip-um-30-schneller-mit-f... könnt Ihr den Performance-Vergleich zwischen meiner unzip-Version und gängigen Packprogrammen lesen.
Der Quellcode findet sich dazu auch irgendwo, sodass jeder die Ergebnisse selbst überprüfen kann.
Viele Grüße
George
- 08 Apr 2009, 3:08 pm
-
Jens Weller Premium Member Group moderatorThe company name is only visible to registered members.Re: Schnellstes 'unzip' der Welt
Interessant finde ich was du da entwickelst.
Auch wenn ich den Test etwas unfair finde, wenn du auf mehrere Prozessoren zugriff hast, und die Standardimplementierung das nicht kann, ist klar das du schneller bist, gerade wenn sich die Aufgabe dafür auch noch gut eignet.
Aber weiter so, sieht man mal was man damit praktisch anfangen kann.
Allerdings frage ich mich, wieso du sowas nicht auf englisch Veröffentlichst. Wäre evtl. noch eine Überlegung, denn international nimmt so davon niemand Notiz.
mfg.
Jens Weller
- 10 Apr 2009, 2:00 pm
-
Clas Onnebrink Premium MemberThe company name is only visible to registered members.Re: Schnellstes 'unzip' der Welt
Hallo,
das ist sehr interessant und aus meiner Sicht ein sehr wichtiges Thema für die
Zukunft angesichts der Tatsache, dass man damit rechnen seine Software für immer
mehr vorhandene Cores in den Systemen optimieren zu müssen. Für mich ist das
Thema Optimierung in der Vergangenheit ein Thema gewesen in der Hinsicht, dass
ich versucht habe kritische Stellen mit optimierten Assemblerteilen als Inline
oder externe Assemblermodule zu verbessern. Manchmal auch musste man darauf
zurückgreifen weil die entsprechenden C++-Compiler hier z.B. die Möglichkeiten
von modernen Prozessoren wie MMX,SSE,SSE2,3DNOW usw. nicht ausnutzen konnten.
Was mittlerweile aber auch nicht mehr der Fall ist. Ist deine FiberBibliothek
vergleichbar z.B. mit OpenMP?
gruss,
clas
- 10 Apr 2009, 7:49 pm
-
George Kotorlis Premium MemberThe company name is only visible to registered members.Re^2: Schnellstes 'unzip' der Welt
Vielen Dank!
Mit diesen Performance-Vergleichen promote ich so ein bißchen meine Bibliothek. Für den WinRAR-Entwickler waren diese Ergebnisse jedenfalls zu unglaublich, dass er ihre Nutzung ungesehen abgelehnt hat...
Wichtiger als die Performance selbst ist meiner Ansicht nach die Art und Weise, wie diese mit dieser Bibliothek erreicht werden kann. Wirft man einen Blick in die Datei "unzip.cpp", so sieht man dort einen leicht lesbaren Code mit Elementen, die an Standard-Multithreading erinnern - keine Spur von Inline-Assembler oder Threads.
Der Scheduler selbst ist mit Microsofts "ConcRT" vergleichbar, der mit VS 2010 veröffentlicht wird. Nähere Details dazu kenne ich aber noch nicht.
Die gesamte Bibliothek lässt sich nicht mit anderen vergleichen, da die anderen die Philosophie vertreten, dass nur die CPU-Betrachtung für die Skalierung einer Anwendung eine Rolle spielt. Ich dagegen vertrete die Philosophie, dass CPU, I/O und Speicher in gemeinsamem Wirken für ein bestmögliches Ergebnis sorgen.
Das Ganze auf Englisch zu veröffentlichen - daran habe ich schon gedacht. Die Seite
http://blog.thinkmeta.com ist schon online, allerdings hänge ich noch an der Doku für die aktuelle Version...
Aktuell schreibe ich für die "Intel Threading Challenge 2009" den Radixsort-Algorithmus mit meiner Bibliothek. Ich bin zuversichtlich, dass ich das Sortieren 16GiB Daten in der Zeit, die man zum Lesen und Schreiben der Datei braucht, schaffen kann. Vielleicht wird man dann auch außerhalb von D darauf aufmerksam...
George
- 10 Apr 2009, 8:41 pm
