Commit Graph

55 Commits (c4987028fb337b96c2fd3f3d96f65f0adcde867e)

Author SHA1 Message Date
Raphael Taylor-Davies 411cf134e9
refactor: explode arrow_deps (#1425)
* refactor: explode arrow_deps

* chore: workaround doctest bug
2021-05-05 16:59:12 +00:00
Edd Robinson ceb233d6ec refactor: satisfy new clippy lints 2021-04-20 17:30:50 +00:00
Carol (Nichols || Goulding) 716c3d41ab refactor: Use flatten rather than if let Some 2021-04-19 08:44:52 -04:00
Andrew Lamb 6e1795fda0
refactor: Move some types (not yet exposed to clients) into internal_types (#1015)
* refactor: Move some types (not yet exposed to clients) into internal_types

* docs: Add README.md explaining the rationale

* refactor: remove some stragglers

* fix: fix benches

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: add clippy lints

* fix: fmt

* docs: Apply suggestions from code review

fix typos

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-03-19 16:27:57 +00:00
Raphael Taylor-Davies 65f7a1ac5b
fix: use consistent crate versions (#989)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-03-15 15:42:19 +00:00
Andrew Lamb 71627120b9
refactor: consolidate line protocol schema creation into data_types and port code to use it (#663)
* refactor: consolidate line protocol schema creation into data_types, and port code to use it

refactor: Port mutable buffer to use SchemaBuilder

* fix: doctest

* refactor: remove unecessary clippyisms

* docs: Improve comments via suggestions from code review

Co-authored-by: Edd Robinson <me@edd.io>

* refactor: use more idomatic try_ naming and TryInto trait

* docs: Change from line protocol data model to InfluxDB data model

* refactor: rename LP --> Influx in code

* feat: add support for UInteger type

Co-authored-by: Edd Robinson <me@edd.io>
2021-01-15 17:29:30 -05:00
Andrew Lamb b476afa8c5
feat: Script to scrape benchmark results into line protocol and automate gathering numbers (#605)
* feat: Script to scrape benchmark results into line protocol

* feat: script to run benchmark on a checkout

* fix: rename

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* docs: update comments

* fix: use a single jq command invocation rather than 4

* fix: use one jq command rather than 2

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: check for directory existence too

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2021-01-05 08:35:49 -05:00
Andrew Lamb 88a17f1575
fix: Avoid hours of time recreating packers (#614) 2021-01-05 06:40:58 -05:00
Andrew Lamb 3ab867447e
fix: remove spaces in bench name (#613) 2021-01-04 15:14:11 -05:00
Dom 9fbe3e1767 test(bench): fix bad line_parser prometheus assert 2020-11-30 11:47:27 +00:00
Carol (Nichols || Goulding) 05b60b8fd0 fix: Remove remaining mentions of Delorean 2020-11-10 11:47:42 -05:00
Andrew Lamb 0532821ed9
chore: Make the project root neat and tidy (#416)
* chore: move example env file into docs

* chore: move dockerfiles out of root

* chore: move storectl-bench.sh into benches
2020-11-10 10:00:22 -05:00
Andrew Lamb 5bb530ccc6
refactor: rename tsm --> influxdb_tsm (#418) 2020-11-05 14:35:38 -05:00
Andrew Lamb b745a180a4
refactor: rename delorean --> InfluDB IOx (#417) 2020-11-05 13:51:04 -05:00
Andrew Lamb a52e0001c5
refactor: rename all crates that start with`delorean_` in preparation for rename (#415)
* refactor: rename delorean_cluster --> cluster

* refactor: rebane delorean_generated_types --> generated_types

* refactor: rename delorean_write_buffer --> write_buffer

* refactor: rename delorean_ingest --> ingest

* refactor: rename delorean_storage --> storage

* refactor: rename delorean_tsm --> tsm

* refactor: rename delorean_test_helpers --> test_helpers

* refactor: rename delorean_arrow --> arrow_deps

* refactor: rename delorean_line_parser --> influxdb_line_protocol
2020-11-05 13:44:36 -05:00
Andrew Lamb 4f348836fe
refactor: remove delorean_parquet by compining with delorean_ingest (#412) 2020-11-05 09:29:59 -05:00
Andrew Lamb 8399d2a159
refactor: rename delorean_table to packers (#409) 2020-11-05 08:52:22 -05:00
Andrew Lamb 075ba0d8d1
refactor: remove delorean_table_schema crate and fold it into data_types (#408) 2020-11-05 06:17:20 -05:00
Andrew Lamb 9f36914351
chore: Upgrade version of Arrow / DataFusion (3 of 3) + update code for new interfaces (#395) 2020-11-02 11:20:44 -05:00
Andrew Lamb ef501871bb
feat: remove partition_store (#387) 2020-10-26 14:39:38 -04:00
alamb 2418ee5ab0 refactor: move partitioned_store into its own module 2020-09-18 08:12:19 -04:00
Edd Robinson 8ef76debe9 refactor: PR feedback
Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

refactor: PR feedback

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

refactor: PR feedback
2020-08-04 18:42:37 +01:00
Edd Robinson 23aa5a4981 test: add benchmarks for packers 2020-07-30 12:54:51 +01:00
Edd Robinson bd5d39f60c refactor: address PR feedback 2020-07-08 22:57:15 +01:00
Edd Robinson f3970990ac test: fix mapper benc 2020-07-08 22:57:15 +01:00
Edd Robinson fff5577efb refactor: encapsulate mapping logic
This commit moves some of the TSM mapper logic that had leaked into the
TSM->Parquer converter back into the mapper. The refactor allows us to
make some previously public APIs private, whilst still providing a
reasonably flexible API.
2020-07-08 22:57:15 +01:00
Edd Robinson 2be6385ade perf: drain block data more efficiently
This commit reduces copying of block data by replacing an inefficient
`remove` call on vectors by with an index tracking approach, leving the
original vectors in place.

It further refactors some of the mapping code DRYing things up.

It improves performance of the `map_field_columns` function by 48%.

```
time:   [137.11 us 137.50 us 137.92 us]
change: [-49.095% -48.558% -48.033%] (p = 0.00 < 0.05)
Performance has improved.
```
2020-07-03 10:56:31 +01:00
Edd Robinson 1d3adea394 test: add benchmark for mapping fields 2020-07-03 10:56:31 +01:00
Carol (Nichols || Goulding) a07bf1c67c refactor: Change enum variant names to be PascalCase
This is general Rust convention for enum variant names.
2020-06-29 10:54:08 -04:00
alamb c35b0e835c fix: clippy 2020-06-29 10:25:43 -04:00
alamb 511d2b6436 refactor: move benchmark test data to tests/fixtures 2020-06-26 17:41:37 -04:00
Andrew Lamb 322a491b9d
perf: Improve line protocol --> parquet conversion performance by ~20% (#177)
* feat: benchmark for lp->parquet performance

* feat: improve parser performance by storing contiguous EscapedStr

* fix: remove all string copies during LP-Parquet conversion

* refactor: Implement from_str as From<&str> only

* refactor: implement Deref instead of as_str

* refactor: Remove ends_with because Deref now makes it work

* refactor: Eq can be derived

* refactor: Remove unused From implementation

* refactor: Replace single-character strings with chars as requested by clippy

Co-authored-by: Carol (Nichols || Goulding) <carol.nichols@integer32.com>
2020-06-23 05:42:19 -04:00
Carol (Nichols || Goulding) 683205ad03 refactor: Use `Vec::clear` instead of `Vec::truncate(0)` 2020-06-22 15:32:15 -04:00
Edd Robinson 621f2f91f0 refactor: hoist tsm mapper to delorean_tsm 2020-06-22 18:56:17 +01:00
Andrew Lamb 2be21dab57
fix: Name benchmark group consistently (#161) 2020-06-17 20:01:17 -04:00
Jake Goulding 4aa3afb930 perf: Add a benchmark for the line parser 2020-04-08 14:41:17 -04:00
Edd Robinson c2b49a7804 refactor: please clippy 2020-02-27 19:41:55 +00:00
Carol (Nichols || Goulding) be9b2bf695 fix: cargo fmt 2020-02-14 12:47:58 -05:00
Carol (Nichols || Goulding) 78b008a062 fix: Use size_of T instead of hardcoded 8 2020-02-14 12:47:13 -05:00
Carol (Nichols || Goulding) 6463601676 fix: Use TryFrom instead of as to get noisy conversion errors 2020-02-14 11:40:36 -05:00
Carol (Nichols || Goulding) 575907814c fix: Make batch sizes be usize and convert through i32 when needed 2020-02-14 11:39:26 -05:00
Carol (Nichols || Goulding) 3a3a7993b2 refactor: Extract a function for benchmarking decoding 2020-02-12 13:08:11 -05:00
Carol (Nichols || Goulding) 72ea8c09c9 fix: Move a vec allocation outside of the benchmarked code
This is consistent with the rest of the decode benchmarks and I think
matches the benchmark intentions best.
2020-02-12 12:45:43 -05:00
Carol (Nichols || Goulding) c498d1f524 fix: Remove truncate from encoding benchmark
The first thing the `encode` function does is truncate the `dst` buffer,
so this should never be necessary inside the code being benchmarked for
testing encoders.
2020-02-12 12:42:54 -05:00
Carol (Nichols || Goulding) 1fc46c33f3 refactor: Call the general encoding benchmarking fn for CPU values 2020-02-12 11:46:49 -05:00
Carol (Nichols || Goulding) b36c4b9672 refactor: Extract shared benchmarking of encoding
Benchmarking random values was more general than sequential since it
takes an arbitrary function to create the decoded values; express
sequential in terms of random and change the name of random to be
general benchmarking of encoding.
2020-02-12 11:44:08 -05:00
Carol (Nichols || Goulding) 2080bfc5c4 refactor: Extract a fn for benchmarking encoding of random values 2020-02-12 11:41:25 -05:00
Carol (Nichols || Goulding) 532329f83e refactor: Extract a fn for benchmarking encoding of sequential values 2020-02-12 11:30:21 -05:00
Carol (Nichols || Goulding) 85b5d339a9 refactor: Extract batch sizes into constants
Exposes which tests use which batch sizes more clearly; names of
constants could be improved.
2020-02-12 11:14:57 -05:00
Carol (Nichols || Goulding) e361cded92 refactor: Move all encoder benchmarks to one file 2020-02-12 11:08:07 -05:00