Hyoga wrote:Si tu a besoins de grande quantites de donnees pour travailler, il est plutot interessant de charger tout en memoire de maniere a limiter le I/O en cours d'execution.
Je ne suis pas du tout d'accord,
si tu veux quelque chose de performant (et si tu travailles sur des données de taille importante, tu fais attention aux perfs),
il faut que tu évites à tout prix d'utiliser le swap si tu ne veux pas obtenir une machine sans réponse et un programme qui ne termine jamais.
Il faut que tu découpes ton programme en jeu de données plus petit et qu'au besoin tu utilises des fichiers temporaires.
Dans ces conditions, si il reste de la mémoire libre elle sera utilisée en tant que cache et limitera les entrées sorties de manière bien plus efficace que si le swap était utilisé (swap = beaucoup, BEAUCOUP d'entrée sorties).
De plus, si tu contrôles manuellement tes entrées sorties,
tu peux faire en sorte que tes I/O soient asynchrones et les lancer en anticipant leur utilisation,
pour utiliser en même temps les capacité disque et processeur plutôt que l'un puis l'autre.
Au contraire, si les données sont en swap, elle seront réclamées au moment de leur utilisation et le programme devra attendre qu'elles arrivent du disque avant de pouvoir continuer ses entrées-sorties.