From 463df1dc6c504b8f22d4c5f3deecc4ee1e5e264b Mon Sep 17 00:00:00 2001 From: MrBounty Date: Mon, 4 Nov 2024 22:38:17 +0100 Subject: [PATCH] Added time for 1 000 000 --- Benchmark.md | 35 +++++++++++++----- charts/time_usage_per_thread_1_000_000.png | Bin 0 -> 21309 bytes ...g => time_usage_per_thread_50_000_000.png} | Bin 3 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 charts/time_usage_per_thread_1_000_000.png rename charts/{time_usage_per_thread.png => time_usage_per_thread_50_000_000.png} (100%) diff --git a/Benchmark.md b/Benchmark.md index 96acc4a..44d55f5 100644 --- a/Benchmark.md +++ b/Benchmark.md @@ -1,4 +1,4 @@ -***Benchmark a set to quicly evolve*** +***Benchmark a set to quicly evolve. I have currently multiple ideas to improve perf*** # Config @@ -14,18 +14,13 @@ Here a user example: run "ADD User (name = 'Diana Lopez',age = 2,email = 'allisonwilliams@example.org',scores=[37 85 90 71 88 85 68],friends = [],bday=1973/11/13,last_order=1979/07/18-15:05:26.590261,a_time=03:04:06.862213) ``` -### Space on disk - -This take 6.24GB - -### Parse all data - First let's do a query that parse all file but dont return anything, so we have the time to read and evaluate file but not writting and sending output. ``` run "GRAB User {name = 'asdfqwer'} ``` -#### Time per jobs +### 50 000 000 Users +This take 6.24GB space on disk, seperated into xx files of xx MB | Thread | Time (s) | Usage (%) | | --- | --- | --- | @@ -38,5 +33,27 @@ run "GRAB User {name = 'asdfqwer'} | 12 | 5.1 | 85 | | 16 | 4.3 | 100 | -![alt text](https://github.com/MrBounty/ZipponDB/blob/v0.1.4/charts/time_usage_per_thread.png) +![alt text](https://github.com/MrBounty/ZipponDB/blob/v0.1.4/charts/time_usage_per_thread_50_000_000.png) +### 1 000 000 +This take 127MB space on disk, sperated into 24 files of 5.2MB + +| Thread | Time (ms) | +| --- | --- | +| 1 | 790 | +| 2 | 446 | +| 3 | 326 | +| 4 | 255 | +| 6 | 195 | +| 8 | 155 | +| 12 | 136 | +| 16 | 116 | + +![alt text](https://github.com/MrBounty/ZipponDB/blob/v0.1.4/charts/time_usage_per_thread_1_000_000.png) + +## TODO + +- [ ] Create a build command to benchmark. For 1_000, 1_000_000, 50_000_000 users + - [ ] Create a random dataset + - [ ] Do simple query, get average and +- time by set of 25 query + - [ ] Return the data to do a chart diff --git a/charts/time_usage_per_thread_1_000_000.png b/charts/time_usage_per_thread_1_000_000.png new file mode 100644 index 0000000000000000000000000000000000000000..63f6e69efddd6c43ab632de46129368ef9e93cd5 GIT binary patch literal 21309 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 r@_>gTe~DWM4fFh4?9 literal 0 HcmV?d00001 diff --git a/charts/time_usage_per_thread.png b/charts/time_usage_per_thread_50_000_000.png similarity index 100% rename from charts/time_usage_per_thread.png rename to charts/time_usage_per_thread_50_000_000.png