[MacPorts] #36560: Use hfsCompression

MacPorts noreply at macports.org
Fri Oct 12 16:08:37 PDT 2012


#36560: Use hfsCompression
--------------------------+--------------------------------
  Reporter:  mfeiri@…     |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  base         |    Version:  2.1.2
Resolution:               |   Keywords:  haspatch
      Port:               |
--------------------------+--------------------------------

Comment (by mfeiri@…):

 HFS compression is a fully transparent way to save disk space and reduce
 disk I/O. Apple uses it for all of /usr, /bin, /sbin, and /System. You can
 easily verify this using "ls -lO". The man page of ditto describes this
 feature as "intended to be used in installation and backup scenarios that
 involve system files". Should be appropriate enough for macports. Ditto
 will only actually compress files "if appropriate".

 Here are two links describing some technical details and beneftis of
 transparent compression in HSF:
  * http://arstechnica.com/apple/2009/08/mac-os-x-10-6/3/
  * http://developercoach.com/2009/file-system-compression-in-hfs-space-
 savings-and-performance-gain/

 And here are some numbers to show the effect of HFS compression on my
 system using 24 recently updated ports
  * 787,056K (sum of relevant .tbz2 archives in
 /opt/local/var/macports/software/)
  * 2,958,600K (sum of relevant unarchived files not using HFS compression)
  * 1,407,148K (sum of relevant installed files using HFS compression)
  * 1,551,452K (sum of space saved on disk)
  * 52% space saved on disk

 Finally the list of ports I used to calculate the above values:
  * libpng-1.5.13_0+universal.darwin_12.i386-x86_64
  * gcc45-4.5.4_6.darwin_12.x86_64
  * gcc46-4.6.3_9.darwin_12.x86_64
  * llvm-2.9-2.9_12.darwin_12.x86_64
  * serf1-1.1.1_0.darwin_12.x86_64
  * clang-2.9-2.9_12+analyzer+python27.darwin_12.x86_64
  * swig-perl-2.0.8_2.darwin_12.noarch
  * swig-python-2.0.8_2.darwin_12.noarch
  * swig-2.0.8_2.darwin_12.x86_64
  * openmpi-1.6.2_0+gcc45.darwin_12.x86_64
  * llvm-3.0-3.0_11.darwin_12.x86_64
  * llvm-3.1-3.1_4.darwin_12.x86_64
  * clang-3.1-3.1_4+analyzer+python27.darwin_12.x86_64
  * db46-4.6.21_7+java+universal.darwin_12.i386-x86_64
  * sqlite3-3.7.14.1_0+universal.darwin_12.i386-x86_64
  * giflib-4.2.1_0+x11.darwin_12.x86_64
  * netpbm-10.60.01_0.darwin_12.x86_64
  * graphviz-2.28.0_8.darwin_12.x86_64
  * wireshark-1.8.3_0+no_python.darwin_12.x86_64
  * bind9-9.9.2_0.darwin_12.x86_64
  * flex-2.5.37_1.darwin_12.x86_64
  * subversion-1.7.7_0.darwin_12.x86_64
  * libusb-1.0.9_0.darwin_12.x86_64
  * mpfr-3.1.1-p2_0.darwin_12.x86_64

-- 
Ticket URL: <https://trac.macports.org/ticket/36560#comment:4>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list