3 ms·
ACID Transactions with STM.NET (Software Transactional Memory)
- fexl 17y agoI 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...