867110e03b
improvements uncovered some issues with how k/v data was copied or not. to address this, kv abstraction layer now lets impl specify if the bytes returned are safe to use after a reader (or writer since writers are also readers) are closed See index/store/KVReader - BytesSafeAfterClose() bool false is the safe value if you're not sure it will cause index impls to copy the data Some kv impls already have created a copy a the C-api barrier in which case they can safely return true. Overall this yields ~25% speedup for searches with leveldb. It yields ~10% speedup for boltdb. Returning stored fields is now slower with boltdb, as previously we were returning unsafe bytes. |
||
---|---|---|
.. | ||
analysis_pool.go | ||
benchmark_boltdb_test.go | ||
benchmark_common_test.go | ||
benchmark_cznicb_test.go | ||
benchmark_forestdb_test.go | ||
benchmark_gtreap_test.go | ||
benchmark_inmem_test.go | ||
benchmark_leveldb_test.go | ||
benchmark_null_test.go | ||
dump_test.go | ||
dump.go | ||
field_dict_test.go | ||
field_dict.go | ||
field_index_cache.go | ||
index_reader.go | ||
reader_test.go | ||
reader.go | ||
row_merge.go | ||
row_test.go | ||
row.go | ||
stats.go | ||
upside_down_test.go | ||
upside_down.go | ||
upside_down.pb.go | ||
upside_down.proto |