Modern CPP

Modern CPP

Posts 1-4 of 4
  • George Kotorlis
    George Kotorlis    Premium Member
    The 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
  • Jens Weller
    Jens Weller    Premium Member   Group moderator
    The 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
  • Clas Onnebrink
    Clas Onnebrink    Premium Member
    The 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
  • George Kotorlis
    George Kotorlis    Premium Member
    The 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