La situation est la suivante: il existe un fichier avec 14 294 508 entiers non signés et 13 994 397 nombres à virgule flottante (besoin de lire double
s). La taille totale du fichier est ~ 250 Mo.Comment effectuer une entrée formatée rapide à partir d'un flux en C++?
L'utilisation de std::istream
prend ~ 30sec. Lire les données du fichier en mémoire (il suffit de copier les octets, sans entrée formatée) est beaucoup plus rapide. Est-il possible d'améliorer la vitesse de lecture sans changer le format de fichier?
Je pense que vous devriez publier votre code de boucle – Ben
S'il s'agit de bibliothèques MSVC, vous voudrez peut-être rechercher le montant de pénalité que vous recevez de SECURE_SCL (activé par défaut). Prenez soin de comprendre les implications de l'éteindre, cependant. – Functastic
Désolé, cela devrait être: _SECURE_SCL – Functastic