#!/bin/bash rm -f foo echo non-sparse original runs quickly cat $(which emacs-nox) >/dev/null time $(which emacs-nox) -Q --batch --eval '(kill-emacs)' echo sparse copy can be read quickly from fs cache cp --sparse=always $(which emacs-nox) foo cat foo >/dev/null time cat foo >/dev/null echo sparse copy slow-to-run in spite of being cached time ./foo -Q --batch --eval '(kill-emacs)' echo sparse copy no longer fully cached time cat foo >/dev/null echo filling all holes makes sparse penalty worse cp --sparse=never $(which emacs-nox) foo cat foo >/dev/null time ./foo -Q --batch --eval '(kill-emacs)'