La situazione è: c'è un file con 14 294 508 numeri interi senza segno e 13 994 397 numeri in virgola mobile (è necessario leggere double
s). La dimensione totale del file è ~ 250 MB.Come eseguire l'input formattato velocemente da uno streaming in C++?
L'utilizzo di std::istream
richiede circa 30 secondi. La lettura dei dati dal file alla memoria (basta copiare i byte, senza input formattati) è molto più veloce. C'è un modo per migliorare la velocità di lettura senza modificare il formato del file?
Penso che dovresti pubblicare il tuo codice di loop – Ben
Se questa è una lib di MSVC, potresti voler indagare su quanto penalità stai subendo da SECURE_SCL (attivata per impostazione predefinita). Abbi cura di capire le implicazioni di spegnerlo, però. – Functastic
Siamo spiacenti, questo dovrebbe essere: _SECURE_SCL – Functastic