threadsafe?



  • knivil schrieb:

    ...

    Mit dem falschen Fuß aufgestanden?



  • Unnoetige Templatemonster schreiben fuer simple Timerklassen und noch nicht mal Grundlagen verstehen. Ausserdem ist fast alles konstruktive Kritik. Das hat auch nichts mit "nicht optimal" zu tun wie in "Meine liebe Hassliste".



  • knivil schrieb:

    Im Vergleich mit Schreiben auf cout wahrscheinlich trotzdem billig.

    Jo, die Windows-Konsole stinkt performance-mäßig total ab. Unglaublich. In Linux tue ich 300k Zeilen mit "find /" in Sekündchen raus. Win schneckt unglaublich ab da. Aber ich vermute, daß das auch strategisch ist, MS will nicht neue Konsole-Anwendungen haben, deswegen wird dahingehend nix mehr investiert.

    Zum Spaß hatte ich mal ein eigenes cout gebastelt, das wenn cout auf die Konsole geht, die Konsoleabmessungen abliest, einen Ringbuffer für Ausgabezeilen dieser Größe anlegt und nur alle 10ms den kompletten Inhalt raustut. Das war recht schnell. Zeilenweise gelockt. Locking mußte bei dem Ansatz schon sein, weil der Reinschreibe-Thread nicht der Auf-Den-Bildschirm-Tu-Thread ist. Und es war eher Folge des Gedankens des zeilenweisen lockens, was ich für Logging bei multithreading haben mag.

    Hab leider den Sourcecode verschludert und nur noch eine exe lebt, die gibt die Primzahlen bis 10Mio aus.
    http://volkard.de/download/prime.exe
    Fehlerhaft ist daran, daß ich noch nicht geprüft hatte, ob hinter cout tatsächlich eine Konsole hängt, oder es eine Dateiumleitung ist. Deswegen gibt "prime.exe > primes.txt" die Liste trotzdem auf den Bildschirm aus.

    Die prime.exe hatte ich auch vorbereitet mit dem Hintergedanken, daß dieses ständige "aber Java ist schneller" aufhört, bei Berechnungen war ist immer langsamer, das cout von Drinkumware und generell von c++ war damals noch nicht der Knaller. Kam aber nicht mehr dazu.


Anmelden zum Antworten