Multithreading Flaschenhals
-
Gilt das auch für ein einmaliges Einlesen? Ich benutze in einem Projekt gemappte Files (aus boost::interprocess), um in einer riesigen Datei viel drin rumzulesen, das ist tatsächlich sehr schnell. Aber nur um die Datei einmal einzulesen?
-
brotbernd schrieb:
Gilt das auch für ein einmaliges Einlesen?...
Ich hatte es vor einigen Jahren vor allem für das einmalige Einlesen und analysieren benötigt (und gleichzeitig durfte der Speicherverbrauch nicht massiv ansteigen).
-
Ich habe heuer auf einem Kern es ausgemessen mit 8 threads und scattered io, file mapping, std und einfacher WinApi und die Unterschiede waren auch nur im Bereich eines Prozents.
Für Einlesen-Und-Vergessen, also Streams, zum Beispiel CRC berechnen, nehme ich einfache WinApi, wenn die Daten ins Ram sollen, um Rumspringen zu können, nehme ich file mapping.