2011-01-13 6 views
0

Nur eine Frage zum Lesen von Dateien im Threading.Eine große Textdatei lesen oder 2 identische geteilte Textdateien schneller lesen, wenn der Thread berücksichtigt wird

Um eine 10MB Textdatei zu lesen, oder lesen Sie zwei 5Mb jede Dateien, die identisch mit der 10Mb ist, die schneller ist? Nehmen wir an, die Verarbeitungseinheit besteht aus Multithreading.

+0

Schreiben Sie einen Test und messen Sie ihn. Es hängt von Ihrem Speicher ab (SSD und Festplatte werden wahrscheinlich anders sein), dem Layout der Dateien auf dem Speicher, dem Caching Ihrer Betriebssystem- und Laufzeitbibliothek und wahrscheinlich der Phase des Mondes. –

Antwort

0

Wenn Sie die Datei von der Festplatte lesen würde ich erraten, dass der Nicht-threaded, einzelne 10MB Datei Ansatz wird schneller sein, da man sonst hätte zwei Threads die gleiche gemeinsam genutzte Ressource zu verwenden, konkurrieren, die auch in diesem Fall ist wahrscheinlich der langsamste Teil in der Kette. Dies könnte sich möglicherweise ändern, wenn Sie die zwei Dateien auf verschiedenen physischen Festplatten behalten.

Der beste Weg, um herauszufinden, ist Code für beide Ansätze schreiben und messen ihre Leistung in der Art von Setup, wo es ausgeführt werden soll.