Filesystem Speed Comparisons
Overview
This was a precursor to my Encrypted Filesystem Test, to check the effects of filesystem operations on CPU. After reading a couple of very good articles here and here(Which seem to conclude to use either JFS or XFS). I decided to do my own benchmarking specifically geared towards CPU utilization. While not terribly rigorous it did seem to pretty much follow their findings. The results below are from an average of 3 runs per each type of test. Also I didn't try Reiser4 but instead included FAT ;)
Results
Copying between drives:
..ext2 = 16s
..ext3 = 11s
..jfs = 14s
..xfs = 8s
..fat = 18.2s
..reiser = 8.5s
..Winner = xfs
CPU usage after the copying:
..ext2 = 1m 23s
..ext3 = 1m 27s
..jfs = 1m 13s
..xfs = 1m 24s
..fat = 1m 19.5s
..reiser = 1m 29.6s
..Winner = jfs
Copying a file to same drive:
..ext2 = 12s
..ext3 = 13.5s
..jfs = 20.6s
..xfs = 11s
..fat = 18s
..reiser = 2.5s
..Winner = reiser
Removing data
..ext2 = 0.21s
..ext3 = 0.20s
..jfs = 0.19s
..xfs = 0.22s
..fat = 0.57s
..reiser = 1.78
..Winner = jfs
CpuProg time during copying:
..ext2 = 1m 36s
..ext3 = 1m 37s
..jfs = 1m 25s
..xfs = 1m 30s
..fat = 1m 37s
..reiser = 1m 36.5s
..Winner = jfs
Copy time with CpuProg running:
..ext2 = 16.5s
..ext3 = 15s
..jfs = 17.87s
..xfs = 16s
..fat = 19s
..reiser = 12.1s
..Winner = xfs/reiser
Total to run benchmark tests:
..ext2 = 5m 5.5s
..ext3 = 5m 7s
..jfs = 4m 49.5s
..xfs = 4m 44s
..fat = 5m 11.5s
..reiser = 4m 55.5s
..Winner = xfs
Conclusion
The program to run the cpu just made a huge 2D array and copied back and forth. Alone without any disk activity before or during it took almost exactly 1m 4s each run. Also it may seem odd to check the CPU reduction after the copying was complete, but in practice this always seems to be where the most activity occurs(Probably due to buffered IO delaying the actual work). Another weird thing was removing files(Which granted was too small a set), that most had times under a tenth second consistently(And an outlier), except for FAT which always had times over half a second. In conclusion I think I'm going to use xfs, although it's a little worse on CPU than jfs it does seem to noticably copy faster. Also FAT was worse in about every aspect compared to any other system, couple that with external fragmentation and I can't imagine using it for anything but compatibility reasons.
Reiser
ReiserFS deserves it's own section due to it's bizarre nature. All the others were very consistent between runs with usually around a second difference in results, but Reiser was completely random, sometimes a copy would take half a second, other times 30 seconds...I could find no rhyme or reason to why(IE not the first time was slow and the rest faster or any pattern). Overall though it was usually slower than most of the others. Especially on removing things it was incredibly slow compared to even FAT. Also the copy time with cpuProg running I put xfs/reiser because reiser was much slower usually but always had a couple ridiculously fast runs(Fractions of a second) that made the average low.
Comments(0)
2008-04-01 12:43:51
Add your comment:
Hardware
Software
- TAIM (Alpha Version): GHCI integration with vim
- CheaTorrent -- An evil BitTorrent client
- Self Modifying 2D Turing Automata
- Competing Conway Life Automata
- X11 Timelapse Desktop Video
- Colored Wolfram Automata With Sound Input
- Pseudo Video Feedback in Processing
- Haskell Cipher Saber
- Illegal FIlenames -- Windows and *nix
- Simple Perl SDL Music Keyboard (Updated)
- Image to Spectrogram
- Pastebin Hell
- OMGWTFRNG (OWR)
- OTP Enhancement : Failure Report
- Java Network File Transfer Tool
- AES Encrypted Filesystem Speeds
- Dual Message Encryption
- PHP Website
- Mp3 Splitting Script
- Random Obfuscation Tool
- Filesystem Speed Comparisons
- Java Based Web Server GUI