Au fil des ans, en utilisant diverses boîtes Linux, je me suis habitué à utiliser prelink rituellement pour accélérer les temps de chargement des applications.
Cependant, les avantages de l'exécution de la pré-liaison sont annulés à chaque réinstallation d'un package, car toutes ses dépendances et ses dépendantes doivent être re-liées.
Cette pré-liaison peut provoquer plusieurs problèmes, et l'un en tant que tel est l'invalidation MD5 binaire, qui pose problème pour les choses qui comparent MD5 vs révisions en amont ou utilisent MD5 pour déterminer si le binaire a été modifié et n'est donc pas souhaité être nettoyé lors de la suppression du package .
Récemment, les ordinateurs sont devenus beaucoup plus rapides, et les avantages de la pré-liaison sont désormais à peine notables.
L'utilisation du pré-lien est-elle toujours un concept rationnel, ou peut-elle être abandonnée avec désinvolture et laissée comme quelque chose d'une époque révolue?
la source
Je ne dirais pas qu'il devrait être rejeté arbitrairement, mais je dirais certainement que son utilisation devrait être réfléchie un peu plus.
Sur une machine moderne haut de gamme fréquemment mise à jour, le pré-lien peut ne pas être une optimisation utile. Cependant, il existe encore un certain nombre de cas où cela pourrait être utile. Par exemple, sur une machine ancienne ou inférieure, ou sur des machines qui sont assez statiques et ne subissent pas de modifications ou de mises à jour fréquentes. Cela pourrait également être utile si vous avez un taux élevé de programmes exécutés de manière répétée (je peux penser à quelques situations où vous pourriez avoir des programmes exécutés en succession rapide ou en parallèle où la pré-liaison pourrait améliorer les performances).
Dans l'ensemble, vous devez tenir compte de votre situation spécifique, puis décider si les avantages l'emportent sur le travail et les efforts supplémentaires.
la source
Je dirais que prelink est certainement utile sur les serveurs de bureau multi-utilisateurs tels que les serveurs LTSP utilisés dans les écoles et les cafés Internet par exemple. Non seulement le prelink accélère le chargement des applications, mais il améliore également l'utilisation de la RAM et le thrashing du disque en raison de conflits entre les utilisateurs, permettant à beaucoup plus d'utilisateurs simultanés sur un serveur.
la source
Je pense qu'avec la baisse des prix de la mémoire, la pré-liaison devient moins utile. Si vous voulez toujours accélérer légèrement les choses, vous pouvez vous pencher sur la précharge .
la source
Je laisse cette décision à la version OS. Si par défaut le système d'exploitation choisit d'appeler prelink régulièrement à l'aide de cron, il se peut que ce ne soit pas si utile. J'espère que les créateurs de distributions ont réfléchi avant de choisir d'ajouter / supprimer l'option prelink par défaut. Je vais donc avec eux plutôt que d'analyser à nouveau les choses moi-même.
la source
Gentoo utilise un lien préalable. Ils contournent le problème md5sum en ignorant la poule d'information de pré-liaison calculant le hachage.
Prelink vous donnera toujours une augmentation de vitesse, même si elle peut devenir de moins en moins perceptible à mesure que le matériel s'accélère. La seule façon de savoir avec certitude sur votre matériel est de désactiver le prelink et de voir comment vous aimez le ralentissement au lancement des applications.
Sidenote: OS X effectuait également une forme de pré-lien, mais cela a été abandonné au profit d'un cache lié que le lié maintient lui-même. Le meilleur des deux mondes, pas de changement binaire et pas de frais généraux réels par rapport à la liaison normale. J'espère que Linux reprendra cette idée à un moment donné :)
Mise à jour: J'ai récemment essayé la pré-liaison sur Linux , et pour une compilation de cscope avec de nombreux fichiers et processus, j'ai reçu une augmentation de vitesse de 5%.
la source