influxdb/tsdb/tsm1
Jeff Wendling 917584b054 tsm1: use readerOffsetsIterator for deletes
This reduces the amount of disk hits at some costs in cpu on some benchmarks. Notably, the
DeleteRangeFull_Covered and Delete benchmarks both went to approximately zero page faults
meaning they read from the index file linearly.

name                                     old time/op    new time/op    delta
IndirectIndex_UnmarshalBinary-8            68.8ms ±10%    63.1ms ±16%   -8.28%          (p=0.021 n=8+8)
IndirectIndex_Entries-8                    9.09µs ± 3%    9.62µs ± 1%   +5.84%          (p=0.000 n=8+7)
IndirectIndex_ReadEntries-8                5.86µs ± 1%    6.15µs ± 3%   +5.03%          (p=0.000 n=8+8)
IndirectIndex_DeleteRangeLast-8             562ns ± 6%     308ns ± 2%  -45.25%          (p=0.000 n=8+8)
IndirectIndex_DeleteRangeFull-8             363ms ±10%     376ms ± 5%     ~             (p=0.054 n=8+7)
IndirectIndex_DeleteRangeFull_Covered-8     574ms ± 2%     746ms ± 0%  +30.01%          (p=0.000 n=8+7)
IndirectIndex_Delete-8                     51.2ms ± 0%    88.2ms ± 0%  +72.38%          (p=0.000 n=8+7)

name                                     old alloc/op   new alloc/op   delta
IndirectIndex_UnmarshalBinary-8            11.7MB ± 0%    11.7MB ± 0%     ~     (all samples are equal)
IndirectIndex_Entries-8                    32.8kB ± 0%    32.8kB ± 0%     ~     (all samples are equal)
IndirectIndex_ReadEntries-8                0.00B ±NaN%    0.00B ±NaN%     ~     (all samples are equal)
IndirectIndex_DeleteRangeLast-8            0.00B ±NaN%    0.00B ±NaN%     ~     (all samples are equal)
IndirectIndex_DeleteRangeFull-8             162MB ± 0%     162MB ± 0%     ~             (p=0.798 n=8+8)
IndirectIndex_DeleteRangeFull_Covered-8    82.4MB ± 0%    82.4MB ± 0%     ~             (p=0.857 n=8+8)
IndirectIndex_Delete-8                     4.01kB ± 0%    4.04kB ± 0%   +0.90%          (p=0.000 n=8+8)

name                                     old allocs/op  new allocs/op  delta
IndirectIndex_UnmarshalBinary-8              42.0 ± 0%      42.0 ± 0%     ~     (all samples are equal)
IndirectIndex_Entries-8                      1.00 ± 0%      1.00 ± 0%     ~     (all samples are equal)
IndirectIndex_ReadEntries-8                 0.00 ±NaN%     0.00 ±NaN%     ~     (all samples are equal)
IndirectIndex_DeleteRangeLast-8             0.00 ±NaN%     0.00 ±NaN%     ~     (all samples are equal)
IndirectIndex_DeleteRangeFull-8              522k ± 0%      522k ± 0%     ~             (p=0.743 n=8+8)
IndirectIndex_DeleteRangeFull_Covered-8     3.31k ± 0%     3.31k ± 0%     ~             (p=0.856 n=8+8)
IndirectIndex_Delete-8                        123 ± 0%       123 ± 0%     ~     (all samples are equal)

name                                     old speed      new speed      delta
IndirectIndex_DeleteRangeFull-8          18.1MB/s ± 9%  17.5MB/s ± 7%     ~             (p=0.105 n=8+8)
IndirectIndex_Delete-8                    116MB/s ± 0%     0MB/s ± 0%  -99.96%          (p=0.000 n=8+8)
2019-01-07 11:00:35 -07:00
..
DESIGN.md Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
array_cursor.gen.go Integrate scanned values statistics tracking. 2018-11-28 15:32:06 -07:00
array_cursor.gen.go.tmpl Integrate scanned values statistics tracking. 2018-11-28 15:32:06 -07:00
array_cursor_iterator.gen.go Remove influxdb dependency. 2018-11-29 11:44:22 -07:00
array_cursor_iterator.gen.go.tmpl Remove influxdb dependency. 2018-11-29 11:44:22 -07:00
array_cursor_iterator.go Remove influxdb dependency. 2018-11-29 11:44:22 -07:00
array_encoding.go Rename time batch decoders 2018-11-01 18:59:19 +00:00
array_encoding_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
batch_boolean.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
batch_boolean_test.go Batch oriented boolean encoders 2018-11-01 18:59:19 +00:00
batch_float.go feat(tsm1): Improve performance of Gorilla float block decoding 2018-11-01 18:59:20 +00:00
batch_float_test.go chore(storage,tsdb): fix megacheck errors 2018-11-01 12:54:46 -07:00
batch_integer.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
batch_integer_test.go chore(storage,tsdb): fix megacheck errors 2018-11-01 12:54:46 -07:00
batch_string.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
batch_string_test.go Remove influxdb dependency. 2018-11-29 11:44:22 -07:00
batch_timestamp.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
batch_timestamp_test.go feat(encoding): Improve timestamp encoding 2018-11-01 18:59:20 +00:00
bit_reader.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
bit_reader_test.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
bool.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
bool_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
cache.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
cache_race_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
cache_test.go Refactor tracker names 2018-12-07 14:32:34 +00:00
compact.gen.go fix: Allow compactor to make progress if v.MaxTime() != entry.MaxTime 2018-11-14 12:14:45 +00:00
compact.gen.go.tmpl fix: Allow compactor to make progress if v.MaxTime() != entry.MaxTime 2018-11-14 12:14:45 +00:00
compact.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
compact.go config: clean up 2018-11-08 11:39:36 -07:00
compact_test.go Add method QueryRawJSON to influxql.service (for querytest tool) (#1402) 2018-11-15 10:45:38 -08:00
config.go respond to review feedback 2018-11-08 11:39:36 -07:00
encoding.gen.go Removes unused methods: U1000 2018-11-30 10:54:24 +00:00
encoding.gen.go.tmpl Removes unused methods: U1000 2018-11-30 10:54:24 +00:00
encoding.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
encoding.gen_test.go Update tsi1 package from OSS 2018-10-01 12:08:37 +01:00
encoding.go Omit unused receiver name: ST1006 2018-11-30 10:54:24 +00:00
encoding_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
engine.go Fix nil tracker for full compactions 2018-12-11 18:30:59 +00:00
engine_cursor.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
engine_test.go remove CreateSeriesIfNotExists from engine tests 2018-11-21 20:16:45 +08:00
file_store.gen.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store.gen.go.tmpl Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store.go Merge pull request #1785 from influxdata/bj-tss-file-observer 2018-12-07 18:46:35 -07:00
file_store_array.gen.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store_array_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store_key_iterator.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store_key_iterator_test.go Add TSM1 measurement stats. 2018-10-08 10:43:53 -06:00
file_store_observer.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
file_store_test.go test(tsdb/tsm1): skip long tests in short mode 2018-11-16 08:06:23 -08:00
float.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
float_test.go Batch oriented float encoders 2018-11-01 18:59:19 +00:00
int.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
int_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
metrics.go Fix metric names 2018-12-07 16:37:17 +00:00
metrics_test.go Fix metric names 2018-12-07 16:37:17 +00:00
mmap_unix.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
mmap_windows.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
pools.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
reader.gen.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
reader.gen.go.tmpl Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
reader.gen.go.tmpldata Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
reader.go tsm1: use readerOffsetsIterator for deletes 2019-01-07 11:00:35 -07:00
reader_offsets.go tsm1: introduce readerOffsets to manage the offsets slice 2019-01-07 11:00:35 -07:00
reader_offsets_test.go tsm1: introduce readerOffsets to manage the offsets slice 2019-01-07 11:00:35 -07:00
reader_test.go tsm1: introduce readerOffsets to manage the offsets slice 2019-01-07 11:00:35 -07:00
ring.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
ring_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
scheduler.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
scheduler_test.go Convert Cache statistics 2018-12-07 14:32:34 +00:00
stats.go Add TSM1 measurement stats. 2018-10-08 10:43:53 -06:00
stats_test.go Add TSM1 measurement stats. 2018-10-08 10:43:53 -06:00
string.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
string_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
timestamp.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
timestamp_test.go Initial import of tsm1.Engine 2018-10-01 12:08:37 +01:00
tombstone.go Fix tombstone error logic 2018-12-18 13:00:13 +00:00
tombstone_test.go Add prefix key to tombstoner 2018-12-18 12:33:28 +00:00
wal.go Ensure all tsm1 metrics support multiple instances 2018-12-07 14:32:34 +00:00
wal_test.go Pull in more pkg packages 2018-10-01 12:08:37 +01:00
writer.go tsm1: add benchmarks for deletes 2018-12-14 10:06:24 -07:00
writer_test.go test(tsdb/tsm1): skip long tests in short mode 2018-11-16 08:06:23 -08:00