• Rusty Russell's avatar
    tdb2: direct access during transactions. · f5087965
    Rusty Russell authored
    Currently we fall back to copying data during a transaction, but we don't
    need to in many cases.  Grant direct access in those cases.
    
    Before:
    $ ./speed --transaction 1000000
    Adding 1000000 records:  2409 ns (59916680 bytes)
    Finding 1000000 records:  1156 ns (59916680 bytes)
    Missing 1000000 records:  604 ns (59916680 bytes)
    Missing 1000000 records:  604 ns (59916680 bytes)
    Traversing 1000000 records:  1226 ns (59916680 bytes)
    Deleting 1000000 records:  1556 ns (119361928 bytes)
    Re-adding 1000000 records:  2326 ns (119361928 bytes)
    Appending 1000000 records:  3269 ns (246656880 bytes)
    Churning 1000000 records:  5613 ns (338235248 bytes)
    
    After:
    $ ./speed --transaction 1000000
    Adding 1000000 records:  1902 ns (59916680 bytes)
    Finding 1000000 records:  1032 ns (59916680 bytes)
    Missing 1000000 records:  606 ns (59916680 bytes)
    Missing 1000000 records:  606 ns (59916680 bytes)
    Traversing 1000000 records:  741 ns (59916680 bytes)
    Deleting 1000000 records:  1347 ns (119361928 bytes)
    Re-adding 1000000 records:  1727 ns (119361928 bytes)
    Appending 1000000 records:  2561 ns (246656880 bytes)
    Churning 1000000 records:  4403 ns (338235248 bytes)
    f5087965
private.h 17.4 KB