Spreads / Spreads.LMDB

Low-level zero-overhead and the fastest LMDB .NET wrapper with some additional native methods useful for Spreads
http://docs.dataspreads.io/spreads/libs/lmdb/api/README.html
Mozilla Public License 2.0
80 stars 9 forks source link

Use `calli` for hot read methods #7

Closed buybackoff closed 6 years ago

buybackoff commented 6 years ago

See https://github.com/Spreads/Spreads.LMDB/commit/dc5f383a719add5e591af55492edce888c0cda5d

Need to rewrite native methods using calli via UnsafeEx.Calli[signature]. Perf gain could be in the order of 10% for read methods. Maybe more for simple ones where P/Invoke cost dominates.

buybackoff commented 6 years ago

This is not safe and perf gain is not so great to bother.