VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin e8fdb27625
lib/mergeset: move storageBlock from inmemoryPart to a sync.Pool
The lifetime of storageBlock is much shorter comparing to the lifetime of inmemoryPart,
so sync.Pool usage should reduce overall memory usage and improve performance
because of better locality of reference when marshaling inmemoryBlock to inmemoryPart.

https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2247
2022-03-03 15:44:02 +02: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/bytesutil: split Resize* funcs to MayOverallocate and NoOverallocate for more fine-grained control over memory allocations 2022-02-01 00:18:42 +02: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 all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
encoding.go lib/mergeset: move storageBlock from inmemoryPart to a sync.Pool 2022-03-03 15:44:02 +02:00
encoding_test.go lib/mergeset: remove superflouos sorting of inmemoryBlock.data at inmemoryBlock.sort() 2022-02-24 11:20:32 +02:00
encoding_timing_test.go lib/mergeset: remove superflouos sorting of inmemoryBlock.data at inmemoryBlock.sort() 2022-02-24 11:20:32 +02:00
inmemory_part.go lib/mergeset: move storageBlock from inmemoryPart to a sync.Pool 2022-03-03 15:44:02 +02:00
merge.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:06:47 +02: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 all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05: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 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,storage}: properly limit cache sizes for indexdb 2022-01-20 18:37:17 +02:00
table_search.go optimized code (#2103) 2022-01-28 14:15:41 +02:00
table_search_test.go lib/mergeset: unconditionally cache indexdb blocks 2021-02-09 00:47:50 +02:00
table_search_timing_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:06:47 +02:00
table_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:06:47 +02:00