VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin de6dd1cd5a
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-27 23:58:05 +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:18:59 +02:00
block_stream_reader.go lib/mergeset: optimize mergeInmemoryBlocks() function 2022-07-27 23:58:05 +03:00
block_stream_reader_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:06:47 +02:00
block_stream_writer.go lib/mergeset: consistency renaming: ip->mp for inmemoryPart vars 2022-03-03 15:48:22 +02:00
encoding.go lib/mergeset: optimize mergeInmemoryBlocks() function 2022-07-27 23:58:05 +03:00
encoding_test.go lib/mergeset: add tests and benchmarks for commonPrefixLen function 2022-07-27 21:24:51 +03:00
encoding_timing_test.go benchmark inmemoryBlock.{Marshal,Unmarshal} for different prefix length 2022-07-27 22:20:27 +03:00
inmemory_part.go lib/mergeset: remove aux buffers from inmemoryPart 2022-03-03 17:08:44 +02:00
merge.go lib/mergeset: do not update blockStreamReader.bh.firstItem during the merge 2022-07-27 23:05:02 +03:00
merge_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:06:47 +02:00
metaindex_row.go lib: dump compressed block contents on error during decompression 2020-08-15 14:44:33 +03:00
part.go lib/mergeset: typo fix after b6ed9afd6d 2022-02-21 17:58:22 +02:00
part_header.go BugFix part_header.go (#2763) 2022-06-21 15:56:41 +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 00:18:42 +02:00
part_search_test.go lib/mergeset: unconditionally cache indexdb blocks 2021-02-09 00:47:50 +02:00
table.go lib/mergeset: optimize mergeInmemoryBlocks() function 2022-07-27 23:58:05 +03:00
table_search.go optimized code (#2103) 2022-01-28 14:15:41 +02:00
table_search_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:36:45 +03:00
table_search_timing_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:36:45 +03:00
table_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:36:45 +03:00