Bonjour,
Aujourd'hui, on parle beaucoup de utorrent à cause de son rachat par bitTorrent. J'ai utilisé longuement ce logiciel et j'ai toujours été agréablement surpris par sa faible taille, sa rapidité, sa faible consommation CPU et mémoire et malgré tout ça il avait en plus un grand nombre de fonctionnalités.
Du coup, je me suis retrouvé à aller consulter le lien wikipedia de utorrent (http://fr.wikipedia.org/wiki/Utorrent) et j'y ai lu ça :
J'ai été assez surpris d'apprendre que la bibliothèque standard avait pour défaut de faire des logiciels "lourds". En plus, quelle bibliothèque les concepteurs ont-ils utilisé pour limiter le poids de leur logiciel? Ont-ils seulement utilisé le C++? Est-ce que la bibliothèque standard provoque aussi une perte de performance ou/et une grosse utilisation mémoire? qu'est-ce que le stream facilities?Composé d'un seul fichier exécutable de 170 Kilo-octet (aucune installation n'est requise), μTorrent est un client extrêmement compact. Cette petite taille a pu être atteinte en évitant d'utiliser des bibliothèques massives (telle que la bibliothèque C++ standard et le stream facilities) et en créant des substituts écrits spécialement pour ce programme. Le fichier exécutable est également compressé à un ratio de 50% en utilisant PECompact.
En fait, j'aimerais comprendre quelles sont les méthodes les plus adaptées pour écrire un logiciel le moins lourd (qui prend le moins de ressources CPU, mémoire et disque) et le plus rapide possible (là, je pense que je suis un peu redondant parce qu'un programme rapide doit automatiquement utiliser moins de ressource CPU qu'un moins rapide...).
Quels sont les langages et les bibliothèques les plus adpatés à l'écriture d'un programme "léger"? (Sans parler de l'assembleur...)
Partager