VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin 962ed46583
lib/mergeset: optimize mergeInmemoryBlocks() function
Do not spend CPU time on converting inmemoryBlock structs to inmemoryPart structs.
Just merge inmemoryBlock structs directly.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2249
2022-07-28 00:05:45 +03:00
..
block_header.go lib/{mergeset,storage}: do not use pools for indexBlock and inmemoryBlock during their caching, since this results in higher memory usage in production without any performance gains 2021-02-21 21:43:37 +02:00
block_stream_reader.go lib/mergeset: optimize mergeInmemoryBlocks() function 2022-07-28 00:05:45 +03:00
block_stream_reader_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
block_stream_writer.go lib/mergeset: consistency renaming: ip->mp for inmemoryPart vars 2022-03-03 17:12:25 +02:00
encoding.go lib/mergeset: optimize mergeInmemoryBlocks() function 2022-07-28 00:05:45 +03:00
encoding_test.go lib/mergeset: add tests and benchmarks for commonPrefixLen function 2022-07-27 21:25:23 +03:00
encoding_timing_test.go benchmark inmemoryBlock.{Marshal,Unmarshal} for different prefix length 2022-07-27 22:19:26 +03:00
inmemory_part.go lib/mergeset: remove aux buffers from inmemoryPart 2022-03-03 17:12:25 +02:00
merge.go lib/mergeset: do not update blockStreamReader.bh.firstItem during the merge 2022-07-28 00:05:43 +03:00
merge_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
metaindex_row.go lib: dump compressed block contents on error during decompression 2020-08-15 14:51:14 +03:00
part.go lib/mergeset: typo fix after b6ed9afd6d 2022-02-21 19:00:04 +02:00
part_header.go BugFix part_header.go (#2763) 2022-06-21 15:59:11 +03:00
part_search.go lib/bytesutil: split Resize* funcs to MayOverallocate and NoOverallocate for more fine-grained control over memory allocations 2022-02-01 11:20:20 +02:00
part_search_test.go lib/mergeset: unconditionally cache indexdb blocks 2021-02-09 00:49:59 +02:00
table.go lib/mergeset: optimize mergeInmemoryBlocks() function 2022-07-28 00:05:45 +03:00
table_search.go optimized code (#2103) 2022-01-28 12:10:47 +02:00
table_search_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:22:12 +03:00
table_search_timing_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:22:12 +03:00
table_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:22:12 +03:00