{"id":1093,"date":"2012-04-15T16:28:45","date_gmt":"2012-04-15T16:28:45","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=1093"},"modified":"2012-04-23T23:06:52","modified_gmt":"2012-04-23T23:06:52","slug":"faire-une-evaluation-technico-financiere-de-gzip-bzip2-et-xz","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2012\/04\/15\/faire-une-evaluation-technico-financiere-de-gzip-bzip2-et-xz-1093.html","title":{"rendered":"Faire une \u00e9valuation technico-financi\u00e8re de GZip, BZip2 et XZ"},"content":{"rendered":"<p>Cela fait un petit moment que je vois des fichiers compress\u00e9s avec <a href=\"http:\/\/fr.wikipedia.org\/wiki\/XZ_%28format_de_fichier%29\">XZ<\/a>, ce dernier est un format de compression bas\u00e9 sur l&rsquo;algorithme <a href=\"http:\/\/fr.wikipedia.org\/wiki\/LZMA\">LZMA2<\/a>.<\/p>\n<p>D&rsquo;apr\u00e8s ce que l&rsquo;on peut voir sur Internet, il est tr\u00e8s efficace pour la compression. Il est d\u2019ailleurs utilis\u00e9 dans certaines distributions Linux pour r\u00e9duire la compression d&rsquo;une archive afin que l&rsquo;ensemble du live cd tienne dans le cdrom ou tout simplement pour r\u00e9duire au maximum un paquetage (<a href=\"http:\/\/lists.debian.org\/debian-devel-announce\/2011\/08\/msg00001.html\">ici l&rsquo;annonce du support dans Debian<\/a>).<\/p>\n<p>La question \u00e0 2 centimes qui se pose, c&rsquo;est : est-ce que je vais remplacer le GZ par le XZ ?<\/p>\n<p>Pour y r\u00e9pondre, je propose d&rsquo;utiliser la m\u00e9thode \u00ab\u00a0\u00e9valuation technico-financi\u00e8re\u00a0\u00bb que l&rsquo;on retrouve souvent dans les appels d&rsquo;offres publiques ici au Maroc.<\/p>\n<p>Cette m\u00e9thode analyse chaque offre commerciale selon deux axes en attribuant une note technique et une note financi\u00e8re \u00e0 chaque offre en fonction de l&rsquo;offre la moins ch\u00e8re, le prix de l\u2019offre courante et sa note technique, puis calcule une note technico-financi\u00e8re selon un rapport 60% technique et 40% financier.<\/p>\n<p>Pour cette \u00e9valuation, nous allons consid\u00e9rer les trois \u00ab\u00a0r\u00e9pondants\u00a0\u00bb suivants : GZip, BZip2 et XZ. Ils seront tous coupl\u00e9s avec l&rsquo;utilitaire tar pour l&#8217;empaquetage des fichiers et r\u00e9pertoires.<\/p>\n<ul>\n<li>L&rsquo;axe technique, sera le taux de r\u00e9duction (de compression), c&rsquo;est-\u00e0-dire de combien, en pourcentage, a \u00e9t\u00e9 r\u00e9duit l\u2019orignal.<\/li>\n<li>L&rsquo;axe financier sera mesur\u00e9 avec le temps de compression mesur\u00e9 avec l&rsquo;utilitaire time (valeur real). Ne pas oublier le vieil adage : le temps c&rsquo;est de l&rsquo;argent&#8230;<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p>Le test sera fait sur un dossier \u00ab\u00a0workspace\u00a0\u00bb Eclipse contenant divers projets (r\u00e9pertoires et fichiers). La taille totale d&rsquo;origine est de 108 Mo.<\/p>\n<p>On ex\u00e9cute donc les trois tests de compression :<\/p>\n<pre>R\u00e9pertoire d'origine\r\n108M\u00a0\u00a0 \u00a0Workspaces-IAM\r\n\r\ntime tar cfz Workspaces-IAM.tar.gz Workspaces-IAM\r\nreal\u00a0\u00a0\u00a0 0m5.585s\r\nuser\u00a0\u00a0\u00a0 0m5.472s\r\nsys\u00a0\u00a0\u00a0\u00a0 0m0.180s\r\n\r\ntime tar cfj Workspaces-IAM.tar.bz2 Workspaces-IAM\r\nreal\u00a0\u00a0\u00a0 0m20.843s\r\nuser\u00a0\u00a0\u00a0 0m20.041s\r\nsys\u00a0\u00a0\u00a0\u00a0 0m0.280s\r\n\r\ntime tar cfJ Workspaces-IAM.tar.xz Workspaces-IAM\r\nreal\u00a0\u00a0\u00a0 1m4.557s\r\nuser\u00a0\u00a0\u00a0 1m3.272s\r\nsys\u00a0\u00a0\u00a0\u00a0 0m0.628s<\/pre>\n<p>R\u00e9sultats de la compression :<\/p>\n<ul>\n<li>Workspaces-IAM.tar.gz : 71M (r\u00e9duction de 34,26%)<\/li>\n<li>Workspaces-IAM.tar.bz2 : 67M (r\u00e9duction de 37,96%)<\/li>\n<li>Workspaces-IAM.tar.xz : 64M (r\u00e9duction de 40,74%)<\/li>\n<\/ul>\n<p>Passons \u00e0 la notation.<\/p>\n<p><span style=\"text-decoration: underline;\">Note technique, r\u00e9duction de :<\/span><\/p>\n<ul>\n<li>1er : XZ avec 40,74%<\/li>\n<li>2eme : BZip2 avec 37,96%<\/li>\n<li>3eme : GZip avec 34,26%<\/li>\n<\/ul>\n<p>A ce stade, c&rsquo;est <strong>XZ qui la meilleure note technique<\/strong>.<\/p>\n<p>Au niveau de la partie financi\u00e8re, on va utiliser le temps &lsquo;real&rsquo; donn\u00e9 par l&rsquo;utilitaire time et l&rsquo;exprimer en millisecondes.<\/p>\n<ul>\n<li>1er : GZip avec 5585 ms<\/li>\n<li>2eme : BZip2 avec 20843 ms<\/li>\n<li>3eme : XZ avec 64557 ms<\/li>\n<\/ul>\n<p>La note financi\u00e8re sera faite en attribuant une note financi\u00e8re (F) \u00e0 chaque solution selon la formule : F = (Pmin\u00d7Tmax) \/ P<\/p>\n<p>O\u00f9 :<\/p>\n<ul>\n<li>Pmin : le prix de la solution la moins ch\u00e8re<\/li>\n<li>Tmax : la plus haute note technique<\/li>\n<li>P : prix de la solution en question<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Ce qui donne comme r\u00e9sultat :<\/p>\n<p><span style=\"text-decoration: underline;\">Note financi\u00e8re (temps de compression) :<\/span><\/p>\n<ul>\n<li>1er : GZip avec 40,74 (c&rsquo;est le moins cher dont il prend directement la note technique du plus fort)<\/li>\n<li>2eme : BZip2 avec 10,92<\/li>\n<li>3eme : XZ avec 3,52<\/li>\n<\/ul>\n<p>Ici c&rsquo;est le <strong>GZip qui a la meilleure note financi\u00e8re<\/strong>.<\/p>\n<p>Ensuite pour la note technico-financi\u00e8re, on a : la note finale (N) de chaque solution sera calcul\u00e9e en faisant la somme de 60% de la note technique (T) et 40% de la note financi\u00e8re (F) : N = (0,6 \u00d7 T ) + (0,4 \u00d7 F). La solution ayant obtenu la note finale (N) la plus \u00e9lev\u00e9e sera d\u00e9clar\u00e9e gagnante.<\/p>\n<p><span style=\"text-decoration: underline;\">Note technico-financi\u00e8re :<\/span><\/p>\n<ul>\n<li><strong>1er : GZip avec 36,85<\/strong><\/li>\n<li>2eme : BZip2 avec 27,14<\/li>\n<li>3eme : XZ avec 25,85<\/li>\n<\/ul>\n<p><strong>Le grand gagnant pour la compression est donc GZip<\/strong>.<\/p>\n<p>Conclusion : Je garde le GZip pour tous les jours, et le XZ si j&rsquo;ai vraiment (vraiment) besoin d&rsquo;\u00e9conomiser de la place.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cela fait un petit moment que je vois des fichiers compress\u00e9s avec XZ, ce dernier est un format de compression bas\u00e9 sur l&rsquo;algorithme LZMA2. D&rsquo;apr\u00e8s ce que l&rsquo;on peut voir sur Internet, il est tr\u00e8s efficace pour la compression. Il est d\u2019ailleurs utilis\u00e9 dans certaines distributions Linux pour r\u00e9duire la compression d&rsquo;une archive afin que &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2012\/04\/15\/faire-une-evaluation-technico-financiere-de-gzip-bzip2-et-xz-1093.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Faire une \u00e9valuation technico-financi\u00e8re de GZip, BZip2 et XZ<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[204],"tags":[281,101,283,282],"class_list":["post-1093","post","type-post","status-publish","format-standard","hentry","category-systemes","tag-bzip2","tag-compression","tag-gzip","tag-xz"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/1093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=1093"}],"version-history":[{"count":9,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/1093\/revisions"}],"predecessor-version":[{"id":1103,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/1093\/revisions\/1103"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=1093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=1093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=1093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}