4 ms·
I do atomic transactions on pure file systems using the "update" routine in my Loom::File module here: http://github.com/chkoreff/Loom/blob/master/code/Loom/Fi
by fexl 17y ago
I do atomic transactions on pure file systems using the "update" routine in my Loom::File module here:
http://github.com/chkoreff/Loom/blob/master/code/Loom/File.pm http://github.com/chkoreff/Loom/blob/master/code/Loom/File.p...
The stress test for that module is:
http://github.com/chkoreff/Loom/blob/master/code/Loom/Test/File.pm http://github.com/chkoreff/Loom/blob/master/code/Loom/Test/F...
(For example I can run 1000 processes all banging away on some files with the command "test_file 1000". See the "bin" directory for the one-liner executable.)
You will note that Loom::Test::File uses Loom::DB::Trans_File, which wraps a simple (get/put/commit/cancel) layer around the core Loom::File::update routine. The real meat of that layer is Loom::DB::Trans.
http://github.com/chkoreff/Loom/blob/master/code/Loom/DB/Trans.pm http://github.com/chkoreff/Loom/blob/master/code/Loom/DB/Tra...