Il semble que les augmentations de CPU aient dépassé la vitesse du disque pendant un certain temps. En supposant un ordinateur de bureau ou un ordinateur portable avec un processeur Intel / AMD double cœur moderne et un disque SATA moyen unique, la compression sur la plupart des disques donnerait-elle de meilleures performances globales? Fondamentalement, la réduction de la bande passante du disque fait-elle plus que compenser l'augmentation de la charge du processeur? Je suis sûr que la vraie réponse est "cela dépend de ce que vous faites". En posant cette question, j'espère avoir quelqu'un qui a fait ce tuyau et donner quelques exemples ou pièges.
10
Réponses:
Oui, la compression du disque peut fournir de meilleures performances dans des circonstances particulières:
Il y a une raison pour laquelle ZFS et Btrfs, deux conceptions récentes en champ vert, incluent des dispositions pour la compression.
Dans l'espace HPC, lorsqu'une application effectue un point de contrôle de la mémoire vers le disque, les CPU ne font souvent rien d'utile. Cette fois-ci est essentiellement des frais généraux. Toute utilisation des CPU pour réduire ce temps est une victoire.
la source
La compression du disque ne vous donnera jamais de meilleures performances.
Cela peut vous donner presque aucune pénalité en raison des processeurs modernes et rapides, mais c'est une chose entièrement différente.
Vous supposez que le transfert de moins de données de / vers le disque peut améliorer les performances; mais les transferts de big data ne sont presque jamais un goulot d'étranglement d'E / S: les vrais goulots d'étranglement sont la recherche de temps et de latence. Les disques durs modernes sont vraiment rapides sur les transferts de données soutenus avec de gros fichiers, ce qui les ralentit, ce sont de petits transferts de partout sur le disque.
Quelques scénarios:
la source
Il existe des situations spécifiques qui le font déjà au niveau de chaque application, comme la compression vidéo - un système qui ne pouvait pas lire assez rapidement des vidéos brutes de qualité HD à partir d'un dsk peut lire les informations compressées et les étendre en utilisant la mémoire et la puissance du processeur . Il n'y a aucune raison que cela ne puisse pas être le cas pour d'autres situations spécifiques, mais cela peut être mieux géré au niveau de l'application, de sorte que les méthodes de compression utilisées sont optimisées à leur fin.
Gardez à l'esprit que la surcharge de performances de la décompression vaut la peine si tout le débit augmente, donc l'idée ne doit pas être rejetée d'emblée - je ne pense pas que nous soyons encore prêts pour une compression de boost de performance à usage général mais c'est théoriquement possible pour échanger une ressource dont vous disposez en excès (CPU et mémoire) pour un boost ailleurs (total des données lues sur le disque dur)
la source
Vous avez répondu à votre propre question! cela dépend est en effet la réponse.
La meilleure généralisation que je puisse faire est:
Si vous avez une application de base de données dont la lecture sur disque est limitée , alors oui! les performances sont meilleures.
Je ne pense pas que ce soit le cas pour la plupart des activités que vous effectuerez sur un ordinateur de bureau / portable.
Dans mon domaine (SQL Server), je sais que les bases de données de rapports soumises à de fortes charges de lecture peuvent obtenir de meilleures performances si la compression est utilisée. Je sais que la même chose est vraie pour mysql.
Microsoft a un livre blanc sur leurs fonctionnalités de compression dans SQL Server 2008. Pas exactement une lecture légère sauf si vous êtes un DBA, mais voici un graphique qui prend en charge ma généralisation:
la source
Les vitesses du processeur ont toujours été plus rapides que les vitesses du disque. À mon humble avis, la compression va augmenter les frais généraux et donc diminuer les performances.
la source
Je lisais quelque chose de similaire hier à propos d'OSX et c'est la compression du système de fichiers - Fondamentalement, la réponse tourne autour de ce que vous voulez compresser - dans cet exemple, il parle des données "FAT"; structures de fichiers, propriétés, métadonnées, etc. qui, lorsqu'ils sont stockés ensemble, peuvent être compressés pour économiser de l'espace et être lus dans le processeur plus rapidement que de rechercher la tête partout pour trouver les données de chaque fichier ...
Quoi qu'il en soit, vaut la peine d'être lu si vous pensez à de telles choses :-p
De: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/3
la source
La compression Microsoft Disk est laide OLD. Il est difficilement comparable dans les rapports avec la méthode ARJ des années 80. Mais, même la compression de Microsoft PEUT fournir de meilleures performances sur des disques durs très lents (portables). Surtout s'il y a suffisamment de RAM pour la mise en cache en écriture et pour éviter des écritures excessives.
Le processus d'écriture est un point faible de toute méthode de compression activée par l'accès aléatoire.
Donc, si vous voulez un lecteur compressé, vous feriez mieux de passer à une sorte de Linux.
La compression de disque est également très adaptée aux lecteurs RAM, pas besoin de vous dire pourquoi.
la source
Sans aucun doute. La compression et la décompression impliquent plus que le disque et le CPU; en particulier, il y aura beaucoup de transfert de données vers et depuis la mémoire (en plus de la surcharge de transfert standard sans compression) qui sera vraiment néfaste en termes de défauts de page.
la source
En bref, non, vous ne gagnerez probablement pas en performances.
Bien que la compression améliore les performances de votre stockage, elle dégrade considérablement la vitesse de votre processeur. Cela dépend probablement du type de fichiers que vous allez décompresser. Si vous ne travaillez qu'avec Word, Excel et d'autres types de fichiers de base, allez-y et compressez-les. Si les fichiers individuels sont plus volumineux, vous allez sacrifier plus de temps.
la source