Skip to content

test(NODE-5692): Add new benchmarks using bson-bench #636

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 40 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c9ec0a5
test(NODE-5692): start adding new test files
W-A-James Oct 17, 2023
cd42401
add runBenchmarks.js file
W-A-James Nov 2, 2023
e7b0912
test(NODE-5692): WIP: creating benchmark scripts
W-A-James Nov 2, 2023
1cd8408
fix test gen script
W-A-James Nov 2, 2023
6117aa2
add benchmark test files
W-A-James Nov 3, 2023
5ef3aaf
migrates tests to their own files
W-A-James Nov 3, 2023
250a5d1
add nested and mixed docs
W-A-James Nov 6, 2023
16e68b6
generate mixed and nested docs
W-A-James Nov 6, 2023
8732d61
restructure
W-A-James Nov 6, 2023
2348817
add timestamp tsets
W-A-James Nov 6, 2023
efdadc9
add other mixed documents to mixed benchmark
W-A-James Nov 7, 2023
ec2bf7c
Use git version of package
W-A-James Nov 7, 2023
a0f846f
update run_granular_benchmarks.js
W-A-James Nov 7, 2023
b009cd8
add new ci task
W-A-James Nov 7, 2023
1c51682
update evergreen config
W-A-James Nov 7, 2023
2a2ce30
update package file
W-A-James Nov 7, 2023
534302c
update dbx-js-tools
W-A-James Nov 8, 2023
a239cef
hack to ensure benchmarks run successfully
W-A-James Nov 8, 2023
fd7324d
print information
W-A-James Nov 8, 2023
45a8b09
fix tests to get rid of duplicates
W-A-James Nov 9, 2023
c77caff
add library column
W-A-James Nov 9, 2023
f6254fb
update bson-bench
W-A-James Nov 9, 2023
cc0184a
Update script to check for duplicate entries before merging files
W-A-James Nov 9, 2023
a9bace3
add .gitignore
W-A-James Nov 9, 2023
445dcb2
Update .gitignore
W-A-James Nov 9, 2023
0e0e3d7
fix old tests
W-A-James Nov 9, 2023
dea4a52
remove old benchmark runner
W-A-James Nov 10, 2023
58d07df
remove old benchmark files
W-A-James Nov 10, 2023
957ec4f
eslint fixes
W-A-James Nov 10, 2023
0c16e6d
add spec test ci task and update generate_documents script
W-A-James Nov 10, 2023
ae84ed9
Update docs and make fix to common.ts
W-A-James Nov 10, 2023
09ce205
Merge branch 'main' into NODE-5692
W-A-James Nov 10, 2023
4113dce
remove large binary
W-A-James Nov 15, 2023
d75b24a
Address review comments
W-A-James Nov 15, 2023
9ca1e33
add xtrace for env variable debugging
W-A-James Nov 16, 2023
12dc0b6
fix ci issues
W-A-James Nov 16, 2023
cb96358
fix result generation
W-A-James Nov 16, 2023
fac2e55
syntax cleanup
W-A-James Nov 17, 2023
88bad89
fix result collection
W-A-James Nov 17, 2023
c8cd97c
Update FIXME comment
W-A-James Nov 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 31 additions & 7 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,24 @@ functions:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
args:
- .evergreen/run-bundling-test.sh
run benchmarks:
run granular benchmarks:
- command: subprocess.exec
type: test
params:
working_dir: src
binary: bash
add_expansions_to_env: true
args:
- .evergreen/run-benchmarks.sh
- .evergreen/run-granular-benchmarks.sh
run spec benchmarks:
- command: subprocess.exec
type: test
params:
working_dir: src
binary: bash
add_expansions_to_env: true
args:
- .evergreen/run-spec-benchmarks.sh
tasks:
- name: node-tests-v16
tags: ["node"]
Expand Down Expand Up @@ -211,7 +220,7 @@ tasks:
vars:
TS_VERSION: "next"
TRY_COMPILING_LIBRARY: "false"
- name: run-benchmarks-node-18
- name: run-granular-benchmarks-node-18
commands:
- func: fetch source
vars:
Expand All @@ -220,12 +229,26 @@ tasks:
- func: install dependencies
vars:
NPM_VERSION: 9
- func: run benchmarks
- func: run granular benchmarks
vars:
WEB: false
WARMUP: 1000
ITERATIONS: 1000
- command: perf.send
params:
file: src/test/bench/etc/resultsCollected.json
- name: run-spec-benchmarks-node-18
commands:
- func: fetch source
vars:
# This needs to stay pinned at Node v18.16.0 for consistency across perf runs.
NODE_LTS_VERSION: v18.16.0
- func: install dependencies
vars:
NPM_VERSION: 9
- func: run spec benchmarks
- command: perf.send
params:
file: src/benchmarks.json
file: src/bsonBench.json
- name: check-eslint-plugin
commands:
- func: fetch source
Expand All @@ -252,4 +275,5 @@ buildvariants:
display_name: RHEL 9.0 perf
run_on: rhel90-dbx-perf-large
tasks:
- run-benchmarks-node-18
- run-granular-benchmarks-node-18
- run-spec-benchmarks-node-18
8 changes: 8 additions & 0 deletions .evergreen/run-granular-benchmarks.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

source "${PROJECT_DIRECTORY}/.evergreen/init-node-and-npm-env.sh"
set -o xtrace
WARMUP=$WARMUP
ITERATIONS=$ITERATIONS

WARMUP=$WARMUP ITERATIONS=$ITERATIONS npm run check:granular-bench
2 changes: 1 addition & 1 deletion .evergreen/run-benchmarks.sh → .evergreen/run-spec-benchmarks.sh
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

source "${PROJECT_DIRECTORY}/.evergreen/init-node-and-npm-env.sh"

npm run check:bench
npm run check:spec-bench
6 changes: 0 additions & 6 deletions etc/benchmarks/bson_versions.json

This file was deleted.

52 changes: 0 additions & 52 deletions etc/benchmarks/convert_to_csv.sh

This file was deleted.

11 changes: 0 additions & 11 deletions etc/benchmarks/install_bson_versions.sh

This file was deleted.

152 changes: 0 additions & 152 deletions etc/benchmarks/lib_runner.mjs

This file was deleted.

Loading