Speeding up the development cycle: Stash your files on a Solid State Drive Harald Søvik Fagleder Computas
Agenda Thesis: Thesis: Put your build system on a solid state drive Put your build system on a solid state drive Reduce build time by 50% Reduce build time by 50%
Disk I/O (write req / sec) write intensive : write intensive : delete directories delete directories copy resources copy resources compile source compile source install install
Disk I/O (read req / sec) read intensive: read intensive: copy resources copy resources compile compile copy artifacts copy artifacts expand artifacts expand artifacts average case: average case: 1000 req/sec 1000 req/sec 4.2 ms / req 4.2 ms / req 4.2 s/s 4.2 s/s
Solid State Drive available to consumers at budget prices available to consumers at budget prices better overall search time better overall search time <0.1ms vs ~4.2ms <0.1ms vs ~4.2ms
Build experiment 2 storage technologies 2 storage technologies HDD HDD Barracuda SATA2 3.0Gb/s 500GB Barracuda SATA2 3.0Gb/s 500GB 16MB cache, seek ~4.2ms 16MB cache, seek ~4.2ms SDD SDD OCZ Vertex 1275 SDD SATA2 60GB OCZ Vertex 1275 SDD SATA2 60GB 64MB cache, seek <0.1ms 64MB cache, seek <0.1ms 2 file systems 2 file systems Windows (NTFS) Windows (NTFS) Linux (ext3) Linux (ext3) 100 builds each 100 builds each no tests no tests no pmd no pmd offline offline
Build results
Results 10 builds / day 10 builds / day worst case: 3380 sec = 56m 20s worst case: 3380 sec = 56m 20s best case: 1440 sec = 24m best case: 1440 sec = 24m no tests/pmd no tests/pmd Δ 32 min / day Δ 32 min / day return time ~1 week return time ~1 week
Roll out: with tests/pmd Avg net gain: 4,0 min / dev / build
Roll out: no tests/pmd Avg net gain: 4,2 min / dev / build
After 3 months (with test/pmd)
After 3 months (no test/pmd)
Avg build times
Conclusion Stuck on windows ? Stuck on windows ? ssd is good for you ssd is good for you Avg gain Avg gain ~4 min / build ~4 min / build mileage may vary mileage may vary Side effects Side effects faster svn faster svn faster, more responsive ide faster, more responsive ide
The End