OmniLayer / omnicore

OmniCore staging tree
http://www.omnilayer.org/
MIT License
756 stars 230 forks source link

Performance improvements #1294

Open bvbfan opened 1 year ago

bvbfan commented 1 year ago

Currently Omni node uses strings to store records in databases, it uses twice more bytes compared to raw/binary data. The biggest problem is string parsing/splitting which result in slower performance.

Screenshot_20230412_192305

callgrind.out.txt

Records in db should be updated to use prefixes and serialized/binary data instead of strings. Currently Omni node stores records in Bitcoin internal dbs which should be moved to specific Omni dbs. It will helpful to https://github.com/OmniLayer/omnicore/issues/1293