Squash Fs Comparisons

From eLinux.org
Jump to: navigation, search

Table Of Contents


Introduction

GENERAL INFORMATION ON PERFORMANCE TESTS


The following performance tests were based on two file sets: the liveCD filesystem from the Ubuntu liveCD (Warty release), and the liveCD filesystem from the Damn Small Linux liveCD (release 0.8.4). The Ubuntu liveCD filesystem was used to test filesystem performance from CDROM and hard disk for Zisofs, Cloop, Squashfs 2.0 and Squashfs2.1. CRAMFS filesystem performance could not be tested for this filesystem bacause it exceeds the maximum supported size of CRAMFS. To test CRAMFS performance against Squashfs, the liveCD filesystem from Damn Small Linux was used.

NOTE: the usual warnings apply to these results, they are provided for illustrative purposes only, and due to different hardware and/or file data, you may obtain different results. As such the results are provided "as is" without any warranty (either express or implied) and you assume all risks as to their quality and accuracy.

As can be seen all the compressed filesystems are faster than the uncompressed filesystems. This is because modern computers are substantially I/O bound and the smaller disk seek-time and I/O incurred with a compressed filesystem outweighs the extra CPU overhead of decompression.

The tests were done on an Apple Power Book with an 867 MHz G4 PowerPC.

All tests were performed from a cold-cache.

Ubuntu liveCD performance tests

Here is the size comparison for the same filesystem contents, using several different file systems.


   ext3 uncompressed size      1.4 GB
   ISO9660 uncompressed size   1.3 GB
   Zisofs compressed size      589.81 MB
   Cloop compressed size       471.89 MB
   Squashfs2.0 compressed size 448.58 MB
   Squashfs2.1 compressed size 448.58 MB


Performance tests from CDROM

Directory Lookup performance

 Time taken to perform "ls -lR --color=alawys | cat > /dev/null" on filesystem
 mounted from CDROM


  Zisofs       49.88 seconds (User 2.60 secs, Sys 11.19 secs)
  Cloop        20.80 seconds (User 2.71 secs, Sys 13.50 secs)
  Squashfs2.0  16.56 seconds (User 2.42 secs, Sys 10.37 secs)
  Squashfs2.1  10.14 seconds (User 2.48 secs, Sys 4.44 secs)


Sequential I/O performance

 Time taken to perform "tar cf - | cat > /dev/null" on filesystem mounted
 from CDROM
  Zisofs       27 minutes 28.54 seconds (User 3.00 secs, Sys 1 min 4.80 secs)
  Cloop        5 minutes 55.72 seconds (User 2.90 secs, Sys 3 min 37.90 secs)
  Squashfs2.0  5 minutes 20.87 seconds (User 2.33 secs, Sys 56.98 secs)
  Squashfs2.1  5 minutes 15.46 seconds (user 2.28 secs, Sys 51.12 secs)

Random I/O performance

 Random access pattern generated by "find /mnt -type f -printf "%s %p\n" | sort -g | awk '{ printf $2 }' > /tmp/sort
 Time taken to perform "cpio -o --quiet -H newc < /tmp/sort > /dev/null"
 on filesystem mounted from CDROM
  Zisofs       101 minutes 29.65 seconds (User 5.33 secs, Sys  1 min 17.20 secs)
  Cloop        35 minutes 27.51 seconds (user 5.93 secs, Sys 4 mins 30.23 secs)
  Squashfs2.0  21 minutes 53.05 seconds (user 5.71 secs, Sys 2 mins 36.59 secs)
  Squashfs2.1  21 minutes 46.99 seconds (User 5.80 secs, Sys 2 mins 31.88 secs)


Performance tests from Hard disk

Directory Lookup performance

 Time taken to perform "ls -lR --color=alawys | cat > /dev/null" on filesystem
 mounted from Hard disk 
  Ext3         28.89 seconds (User 2.54 secs Sys 1.88 secs) 
  ISO9660      19.33 seconds (user 2.63 secs Sys 10.53 secs)
  Zisofs       17.29 seconds (User 2.62 secs, Sys 11.08 secs)
  Cloop        16.46 seconds (User 2.63 secs, Sys 13.41 secs)
  Squashfs2.0  13.75 seconds (User 2.44 secs, Sys 11.00 secs)
  Squashfs2.1  6.94 seconds (User 2.44 secs, Sys 4.48 secs)

Sequential I/O performance

 Time taken to perform "tar cf - | cat > /dev/null" on filesystem mounted
 from Hard disk
  Ext3         1 minute 36.80 seconds (User 1.90 secs Sys 13.12 secs)
  ISO9660      1 minute 41.85 seconds (user 2.58 secs Sys 22.69 secs)
  Zisofs       1 minute 21.47 seconds (User 2.73 secs, Sys 54.44 secs)
  Cloop        1 minute 34.06 seconds (user 2.85 secs, Sys 1 min 12.13 secs)
  Squashfs2.0  1 minute 21.22 seconds (User 2.42 secs, Sys 56.21 secs)
  Squashfs2.1  1 minute 15.46 seconds (User 2.36 secs, Sys 49.78 secs)

Random I/O performance

 Random access pattern generated by "find /mnt -type f -printf "%s %p\n" | sort -g | awk '{ printf $2 }' > /tmp/sort
 Time taken to perform "cpio -o --quiet -H newc < /tmp/sort > /dev/null"
 on filesystem mounted from Hard disk
  Ext3         12 minutes 16.86 seconds (User 5.14 secs Sys 22.99 secs) 
  ISO9660      11 minutes 33.82 seconds (User 5.62 secs Sys 32.16 secs)
  Zisofs       11 minutes 13.64 seconds (User 5.08 secs, Sys 52.62 secs)
  Cloop        5 minutes 37.93 seconds (user 6 secs, Sys 2 mins 22.38 secs)
  Squashfs2.0  5 minutes 7.11 seconds (user 5.63 secs, Sys 2 mins 35.23 secs)
  Squashfs2.1  5 minutes 1.87 seconds (User 5.71 secs, Sys 2 mins 29.98 secs)


Damn Small Linux liveCD performance tests

   ext3 uncompressed size      126 MB
   CRAMFS compressed size      52.19 MB
   Squashfs2.0 compressed size 46.52 MB
   Squashfs2.1 compressed size 46.52 MB

Performance tests from CDROM

Directory Lookup performance

 Time taken to perform "ls -lR --color=alawys | cat > /dev/null" on filesystem
 mounted from CDROM
  CRAMFS       10.85 seconds (User 0.39 secs, Sys 0.98 secs)
  Squashfs2.0  2.97 seconds (User 0.36 secs, Sys 2.15 secs)
  Squashfs2.1  2.43 seconds (User 0.40 secs, Sys 1.42 secs)

Sequential I/O performance

 Time taken to perform "tar cf - | cat > /dev/null" on filesystem mounted
 from CDROM
  CRAMFS       55.38 seconds (User 0.34 secs, Sys 6.98 secs)
  Squashfs2.0  35.99 seconds (User 0.30 secs, Sys 6.35 secs)
  Squashfs2.1  33.83 seconds (User 0.26 secs, Sys 5.56 secs)

Random I/O performance

 Random access pattern generated by "find /mnt -type f -printf "%s %p\n" | sort -g | awk '{ printf $2 }' > /tmp/sort
 Time taken to perform "cpio -o --quiet -H newc < /tmp/sort > /dev/null"
 on filesystem mounted from CDROM


  CRAMFS        3 minutes 1.68 seconds (User 0.54 secs, Sys 9.51 secs)
  Squashfs2.0   1 minute 39.45 seconds (User 0.57 secs, Sys 13.14 secs)
  Squashfs2.1   1 minute 38.41 seconds (User 0.58 secs, Sys 13.08 secs)

Performance tests from Hard disk

Directory Lookup performance

 Time taken to perform "ls -lR --color=alawys | cat > /dev/null" on filesystem
 mounted from Hard disk
  CRAMFS       1.77 seconds (User 0.53 secs, Sys 1.21 secs)
  Squashfs2.0  2.67 seconds (User 0.41 secs, Sys 2.25 secs)
  Squashfs2.1  1.87 seconds (User 0.41 secs, Sys 1.46 secs)

Sequential I/O performance

 Time taken to perform "tar cf - | cat > /dev/null" on filesystem mounted
 from Hard disk 
  CRAMFS       6.80 seconds (User 0.36 secs, Sys 6.02 secs)
  Squashfs2.0  7.23 seconds (User 0.29 secs, Sys 6.62 secs)
  Squashfs2.1  6.53 seconds (User 0.31 secs, Sys 5.82 secs)

Random I/O performance

 Random access pattern generated by "find /mnt -type f -printf "%s %p\n" | sort -g | awk '{ printf $2 }' > /tmp/sort
 Time taken to perform "cpio -o --quiet -H newc < /tmp/sort > /dev/null"
 on filesystem mounted from Hard disk 


  CRAMFS       28.55 seconds (User 0.49 secs, Sys 6.49 secs)
  Squashfs2.0  25.44 seconds (User 0.58 secs, Sys 13.17 secs)
  Squashfs2.1  24.72 seconds (User 0.56 secs, Sys 13.15 secs)