Je fais de longues simulations qui peuvent prendre de plusieurs heures à plusieurs jours et j'enregistre les informations dans des fichiers. Les fichiers peuvent atteindre des tailles de centaines de Mb et à l'intérieur il y a juste une liste de nombres. Je suis vraiment préoccupé par les frais généraux que cela entraîne. Je voudrais demander si le surcoût de l'utilisation de cette méthode est vraiment important et s'il existe une autre méthode plus efficace pour faire la même chose, il suffit de consigner les informations. J'utilise C++ et pour enregistrer les fichiers, j'utilise simplement les méthodes courantes de fprintf. Pour expliquer les frais généraux si vous pouvez donner un exemple pratique similaire à, en utilisant des fichiers qu'il prend cette fois sans les utiliser cette fois, ce sera idéalement.Surcharge des informations de journal dans les fichiers
J'ai fait quelques tests, mais je n'ai aucune idée si le surcoût se développe linéairement avec la taille des fichiers. Ce que je dis est que peut-être n'est pas le même ajouter une ligne à un fichier d'une taille de 1 Mo d'un fichier de taille de 1 Go. Est-ce que quelqu'un sait comment les frais généraux grandir avec la taille du fichier?
Salut Nathan merci pour votre réponse, juste pour la curiosité et peut-être pour les futurs utilisateurs qui voient la question pouvez-vous fournir des lignes directrices si cela est possible sur des façons plus efficaces de le faire. – Eduardo
"Efficace" est un terme un peu vague, mais en général, vous essayez d'en faire plus avec moins de ressources. Donc généralement vous vous concentrez sur les goulots d'étranglement. Écrire trop sur le disque? Connectez-vous moins. Ou connectez-vous dans un format binaire qui utilise moins d'espace. Ou n'écrivez pas sur le disque. Ecrivez sur un disque virtuel, un lecteur réseau, etc. – Nathan
Faites également attention aux ressources inutilisées. Votre processus est-il lié au processeur avec peu d'utilisation de la mémoire? Peut-être stocker tous vos journaux en mémoire jusqu'à la fin de la tâche. Les processus sont-ils gourmands en mémoire, mais légers sur le cpu?Pipe la journalisation à travers un outil de compression CPU-intensive avant d'écrire sur le disque. – Nathan