You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To build from source, you will need autoconf, autoconf-archive, automake, libtool, and a compiler (say, gcc).
Then, build and install like so:
git clone https://github.com/stewartsmith/libeatmydata.git # (or extract from source tarball)
cd libeatmydata
autoreconf -i # (if building from git only)
./configure
make
make check
sudo make install
Usage
eatmydata foo
Performance Improvements
When running part of the MySQL test suite in 2007 on my laptop:
TEST RESULT TIME (ms) TIME (with libeatmydata)
----------------------------------------------------------------------------------
main.innodb-lock [ pass ] 4523 4323
main.innodb-replace [ pass ] 102 56
main.innodb-ucs2 [ pass ] 5786 1084
main.innodb [ pass ] 78306 24900
main.innodb_gis [ pass ] 2647 1544
main.innodb_mysql [ pass ] 86810 68579
main.innodb_notembedded [ pass ] 198 150
main.innodb_timeout_rollback [ pass ] 2990 2750
main.innodb_trx_weight [ pass ] 1608 841
---------------------------------------------------------------
Stopping All Servers
All 9 tests were successful.
The servers were restarted 7 times
WITHOUT: Spent 182.97 seconds actually executing testcases
WITH : Spent 104.227 seconds actually executing testcases
WITHOUT: WITH:
real 3m36.053s real 2m10.610s
user 0m42.323s user 0m41.939s
sys 0m2.844s sys 0m2.356s
Talks/Video
libeatmydata was the product of a talk I gave back at linux.conf.au 2007, titled
"Eat My Data: How Everybody gets File IO Wrong" - I also gave this talk at OSCON.
This talk went over the common mistakes people make when using POSIX file IO
routines.