From 03b05406d2956bba1c77f59048b54cb7c8ac9b85 Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Tue, 18 Jun 2024 20:07:53 +0200 Subject: [PATCH] Add BSBM benchmark --- .github/workflows/ci.yml | 41 ++++++++-- package.json | 2 +- performance/benchmark-bsbm-hdt/.gitignore | 11 +++ performance/benchmark-bsbm-hdt/README.md | 12 +++ .../combination_0/generated/.keep | 0 .../combinations/combination_0/input/.keep | 0 .../combination_0/input/config-client.json | 8 ++ .../combination_0/input/context-client.json | 3 + .../input/dockerfiles/Dockerfile-client | 19 +++++ .../combination_0/jbr-experiment.json | 17 ++++ .../combinations/combination_0/output/.keep | 0 .../combination_1/generated/.keep | 0 .../combinations/combination_1/input/.keep | 0 .../combination_1/input/config-client.json | 8 ++ .../combination_1/input/context-client.json | 3 + .../input/dockerfiles/Dockerfile-client | 19 +++++ .../combination_1/jbr-experiment.json | 17 ++++ .../combinations/combination_1/output/.keep | 0 .../benchmark-bsbm-hdt/generated/.keep | 0 .../input/config-client.json | 8 ++ .../input/context-client.json | 3 + .../input/dockerfiles/Dockerfile-client | 19 +++++ .../benchmark-bsbm-hdt/jbr-combinations.json | 14 ++++ .../jbr-experiment.json.template | 17 ++++ performance/benchmark-bsbm-hdt/output/.keep | 0 performance/benchmark-bsbm-hdt/package.json | 18 +++++ performance/benchmark-watdiv-hdt/package.json | 10 +-- yarn.lock | 81 ++++++++----------- 28 files changed, 270 insertions(+), 60 deletions(-) create mode 100644 performance/benchmark-bsbm-hdt/.gitignore create mode 100644 performance/benchmark-bsbm-hdt/README.md create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/generated/.keep create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/input/.keep create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/input/config-client.json create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/input/context-client.json create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/input/dockerfiles/Dockerfile-client create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/jbr-experiment.json create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_0/output/.keep create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/generated/.keep create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/input/.keep create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/input/config-client.json create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/input/context-client.json create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/input/dockerfiles/Dockerfile-client create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/jbr-experiment.json create mode 100644 performance/benchmark-bsbm-hdt/combinations/combination_1/output/.keep create mode 100644 performance/benchmark-bsbm-hdt/generated/.keep create mode 100644 performance/benchmark-bsbm-hdt/input/config-client.json create mode 100644 performance/benchmark-bsbm-hdt/input/context-client.json create mode 100644 performance/benchmark-bsbm-hdt/input/dockerfiles/Dockerfile-client create mode 100644 performance/benchmark-bsbm-hdt/jbr-combinations.json create mode 100644 performance/benchmark-bsbm-hdt/jbr-experiment.json.template create mode 100644 performance/benchmark-bsbm-hdt/output/.keep create mode 100644 performance/benchmark-bsbm-hdt/package.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1481d20..3fd37d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -106,25 +106,54 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} performance: + runs-on: ubuntu-latest + strategy: + matrix: + benchmark: + - watdiv-hdt + - bsbm-hdt needs: - test - lint - runs-on: ubuntu-latest steps: - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 18.x - name: Install dependencies run: yarn install - name: Run benchmarks - run: npx lerna run performance:ci --concurrency 1 + run: cd performance/benchmark-${{ matrix.benchmark }}/ && yarn run performance:ci + - uses: actions/upload-artifact@v4 + with: + name: performance-benchmark-${{ matrix.benchmark }} + path: performance/benchmark-${{ matrix.benchmark }}/combinations/combination_0/output/ + + performance-consolidate: + needs: + - performance + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: 18.x + - uses: actions/download-artifact@v4 + with: + name: performance-benchmark-watdiv-hdt + path: performance/benchmark-watdiv-hdt/combinations/combination_0/output/ + - uses: actions/download-artifact@v4 + with: + name: performance-benchmark-bsbm-hdt + path: performance/benchmark-bsbm-hdt/combinations/combination_0/output/ - name: Process benchmark detailed results - run: npx psbr csv ghbench performance/benchmark-watdiv-hdt/combinations/combination_0/output/ --overrideCombinationLabels WatDiv-HDT --total false --detailed true --name ghbench-detail.json + run: npx -p @rubensworks/process-sparql-benchmark-results psbr csv ghbench performance/benchmark-watdiv-hdt/combinations/combination_0/output/ performance/benchmark-bsbm-hdt/combinations/combination_0/output/ --overrideCombinationLabels WatDiv-HDT,BSBM-HDT --total false --detailed true --name ghbench-detail.json - name: Process benchmark total results - run: npx psbr csv ghbench performance/benchmark-watdiv-hdt/combinations/combination_0/output/ --overrideCombinationLabels WatDiv-HDT --total true --detailed false --name ghbench-total.json + run: npx -p @rubensworks/process-sparql-benchmark-results psbr csv ghbench performance/benchmark-watdiv-hdt/combinations/combination_0/output/ performance/benchmark-bsbm-hdt/combinations/combination_0/output/ --overrideCombinationLabels WatDiv-HDT,BSBM-HDT --total true --detailed false --name ghbench-total.json - name: Determine benchmark detailed results target directory name run: echo "BENCHMARK_DATA_DIR_PATH_DETAIL=comunica-feature-hdt/${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}/benchmarks-detail" >> $GITHUB_ENV - name: Determine benchmarks total results target directory name diff --git a/package.json b/package.json index c7383e2..8a30c7f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@babel/preset-env": "^7.16.4", "@comunica/jest": "^3.1.0", "@rubensworks/eslint-config": "^3.0.0", - "@rubensworks/process-sparql-benchmark-results": "^1.1.4", + "@rubensworks/process-sparql-benchmark-results": "^1.2.1", "@types/jest": "^29.0.0", "@types/node": "^20.0.0", "asynciterator": "^3.2.1", diff --git a/performance/benchmark-bsbm-hdt/.gitignore b/performance/benchmark-bsbm-hdt/.gitignore new file mode 100644 index 0000000..8604219 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/.gitignore @@ -0,0 +1,11 @@ +/componentsjs-error-state.json +/node_modules +/generated/* +!/generated/.keep +/output/* +!/output/.keep +/combinations/*/generated/* +!/combinations/*/generated/.keep +/combinations/*/output/* +!/combinations/*/output/.keep +plot_queries_data.* diff --git a/performance/benchmark-bsbm-hdt/README.md b/performance/benchmark-bsbm-hdt/README.md new file mode 100644 index 0000000..dd36239 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/README.md @@ -0,0 +1,12 @@ +# Benchmark BSBM HDT + +This internal package benchmarks Comunica HDT using the [BSBM](http://wbsg.informatik.uni-mannheim.de/bizer/berlinsparqlbenchmark/) benchmark. + +Compare your current version of Comunica locally with the latest published release by running `npm run performance` from within this package. +This will output a file called `plot_queries_data.svg` that visualizes the performance differences. + +If you only want to check the performance of your current version of Comunica, +you can run `npm run performance:ci` instead, +which is what the CI will run as well for continuous performance measurements. + +Continuous performance results are tracked on https://github.com/comunica/comunica-performance-results. diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/generated/.keep b/performance/benchmark-bsbm-hdt/combinations/combination_0/generated/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/input/.keep b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/input/config-client.json b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/config-client.json new file mode 100644 index 0000000..5354db8 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/config-client.json @@ -0,0 +1,8 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/config-query-sparql-hdt/^3.0.0/components/context.jsonld" + ], + "import": [ + "ccqsh:config/config-default.json" + ] +} diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/input/context-client.json b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/context-client.json new file mode 100644 index 0000000..87920df --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/context-client.json @@ -0,0 +1,3 @@ +{ + "sources": [{ "type": "hdt", "value": "/tmp/dataset.hdt" }] +} diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/input/dockerfiles/Dockerfile-client b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/dockerfiles/Dockerfile-client new file mode 100644 index 0000000..04009e4 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_0/input/dockerfiles/Dockerfile-client @@ -0,0 +1,19 @@ +FROM comunica/query-sparql-hdt:latest + +ARG CONFIG_CLIENT +ARG QUERY_TIMEOUT +ARG MAX_MEMORY +ARG LOG_LEVEL + +ADD $CONFIG_CLIENT /tmp/config.json + +ENV COMUNICA_CONFIG=/tmp/config.json +ENV NODE_ENV=production +ENV MAX_MEMORY=$MAX_MEMORY +ENV QUERY_TIMEOUT=$QUERY_TIMEOUT +ENV LOG_LEVEL=$LOG_LEVEL + +EXPOSE 3000 + +ENTRYPOINT [] +CMD [ "/bin/sh", "-c", "node --max-old-space-size=$MAX_MEMORY ./bin/http.js -c /tmp/context.json -p 3000 -t $QUERY_TIMEOUT -l $LOG_LEVEL -i" ] diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/jbr-experiment.json b/performance/benchmark-bsbm-hdt/combinations/combination_0/jbr-experiment.json new file mode 100644 index 0000000..544f531 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_0/jbr-experiment.json @@ -0,0 +1,17 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/jbr/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-experiment/bsbm/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-hook/sparql-endpoint-comunica/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-hook/cli/^5.0.0/components/context.jsonld" + ], + "@id": "urn:jbr:benchmark-bsbm-hdt:combination_0", + "@type": "ExperimentBsbm", + "productCount": 1000, + "generateHdt": true, + "endpointUrl": "http://host.docker.internal:3001/sparql", + "endpointUrlExternal": "http://localhost:3001/sparql", + "warmupRuns": 5, + "runs": 10, + "hookSparqlEndpoint": { "@id": "urn:jbr:benchmark-bsbm-hdt:hookSparqlEndpoint", "@type": "HookCli", "entrypoint": ["node", "../../engines/query-sparql-hdt/bin/http.js", "hdt@generated/dataset.hdt", "-p", "3001"], "statsFilePath": "output/stats.csv" } +} diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_0/output/.keep b/performance/benchmark-bsbm-hdt/combinations/combination_0/output/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/generated/.keep b/performance/benchmark-bsbm-hdt/combinations/combination_1/generated/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/input/.keep b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/input/config-client.json b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/config-client.json new file mode 100644 index 0000000..5354db8 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/config-client.json @@ -0,0 +1,8 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/config-query-sparql-hdt/^3.0.0/components/context.jsonld" + ], + "import": [ + "ccqsh:config/config-default.json" + ] +} diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/input/context-client.json b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/context-client.json new file mode 100644 index 0000000..87920df --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/context-client.json @@ -0,0 +1,3 @@ +{ + "sources": [{ "type": "hdt", "value": "/tmp/dataset.hdt" }] +} diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/input/dockerfiles/Dockerfile-client b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/dockerfiles/Dockerfile-client new file mode 100644 index 0000000..04009e4 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_1/input/dockerfiles/Dockerfile-client @@ -0,0 +1,19 @@ +FROM comunica/query-sparql-hdt:latest + +ARG CONFIG_CLIENT +ARG QUERY_TIMEOUT +ARG MAX_MEMORY +ARG LOG_LEVEL + +ADD $CONFIG_CLIENT /tmp/config.json + +ENV COMUNICA_CONFIG=/tmp/config.json +ENV NODE_ENV=production +ENV MAX_MEMORY=$MAX_MEMORY +ENV QUERY_TIMEOUT=$QUERY_TIMEOUT +ENV LOG_LEVEL=$LOG_LEVEL + +EXPOSE 3000 + +ENTRYPOINT [] +CMD [ "/bin/sh", "-c", "node --max-old-space-size=$MAX_MEMORY ./bin/http.js -c /tmp/context.json -p 3000 -t $QUERY_TIMEOUT -l $LOG_LEVEL -i" ] diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/jbr-experiment.json b/performance/benchmark-bsbm-hdt/combinations/combination_1/jbr-experiment.json new file mode 100644 index 0000000..fa424c1 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/combinations/combination_1/jbr-experiment.json @@ -0,0 +1,17 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/jbr/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-experiment/bsbm/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-hook/sparql-endpoint-comunica/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-hook/cli/^5.0.0/components/context.jsonld" + ], + "@id": "urn:jbr:benchmark-bsbm-hdt:combination_1", + "@type": "ExperimentBsbm", + "productCount": 1000, + "generateHdt": true, + "endpointUrl": "http://host.docker.internal:3001/sparql", + "endpointUrlExternal": "http://localhost:3001/sparql", + "warmupRuns": 5, + "runs": 10, + "hookSparqlEndpoint": { "@id": "urn:jbr:benchmark-bsbm-hdt:hookSparqlEndpoint", "@type": "HookSparqlEndpointComunica", "dockerfileClient": "input/dockerfiles/Dockerfile-client", "resourceConstraints": { "@type": "StaticDockerResourceConstraints", "cpu_percentage": 100 }, "configClient": "input/config-client.json", "contextClient": "input/context-client.json", "additionalBinds": ["/generated/dataset.nt:/tmp/dataset.nt"], "clientPort": 3001, "clientLogLevel": "info", "maxMemory": 8192 } +} diff --git a/performance/benchmark-bsbm-hdt/combinations/combination_1/output/.keep b/performance/benchmark-bsbm-hdt/combinations/combination_1/output/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/generated/.keep b/performance/benchmark-bsbm-hdt/generated/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/input/config-client.json b/performance/benchmark-bsbm-hdt/input/config-client.json new file mode 100644 index 0000000..5354db8 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/input/config-client.json @@ -0,0 +1,8 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/config-query-sparql-hdt/^3.0.0/components/context.jsonld" + ], + "import": [ + "ccqsh:config/config-default.json" + ] +} diff --git a/performance/benchmark-bsbm-hdt/input/context-client.json b/performance/benchmark-bsbm-hdt/input/context-client.json new file mode 100644 index 0000000..87920df --- /dev/null +++ b/performance/benchmark-bsbm-hdt/input/context-client.json @@ -0,0 +1,3 @@ +{ + "sources": [{ "type": "hdt", "value": "/tmp/dataset.hdt" }] +} diff --git a/performance/benchmark-bsbm-hdt/input/dockerfiles/Dockerfile-client b/performance/benchmark-bsbm-hdt/input/dockerfiles/Dockerfile-client new file mode 100644 index 0000000..04009e4 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/input/dockerfiles/Dockerfile-client @@ -0,0 +1,19 @@ +FROM comunica/query-sparql-hdt:latest + +ARG CONFIG_CLIENT +ARG QUERY_TIMEOUT +ARG MAX_MEMORY +ARG LOG_LEVEL + +ADD $CONFIG_CLIENT /tmp/config.json + +ENV COMUNICA_CONFIG=/tmp/config.json +ENV NODE_ENV=production +ENV MAX_MEMORY=$MAX_MEMORY +ENV QUERY_TIMEOUT=$QUERY_TIMEOUT +ENV LOG_LEVEL=$LOG_LEVEL + +EXPOSE 3000 + +ENTRYPOINT [] +CMD [ "/bin/sh", "-c", "node --max-old-space-size=$MAX_MEMORY ./bin/http.js -c /tmp/context.json -p 3000 -t $QUERY_TIMEOUT -l $LOG_LEVEL -i" ] diff --git a/performance/benchmark-bsbm-hdt/jbr-combinations.json b/performance/benchmark-bsbm-hdt/jbr-combinations.json new file mode 100644 index 0000000..f6882e6 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/jbr-combinations.json @@ -0,0 +1,14 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/jbr/^5.0.0/components/context.jsonld" + ], + "@id": "urn:jbr:benchmark-bsbm-hdt-combinations", + "@type": "FullFactorialCombinationProvider", + "commonGenerated": true, + "factors": { + "hookSparqlEndpoint": [ + "{\"@id\": \"urn:jbr:benchmark-bsbm-hdt:hookSparqlEndpoint\",\"@type\": \"HookCli\",\"entrypoint\": [ \"node\", \"../../engines/query-sparql-hdt/bin/http.js\", \"hdt@generated/dataset.hdt\", \"-p\", \"3001\"],\"statsFilePath\": \"output/stats.csv\" }", + "{\"@id\": \"urn:jbr:benchmark-bsbm-hdt:hookSparqlEndpoint\", \"@type\": \"HookSparqlEndpointComunica\", \"dockerfileClient\": \"input/dockerfiles/Dockerfile-client\", \"resourceConstraints\": {\"@type\": \"StaticDockerResourceConstraints\",\"cpu_percentage\": 100 }, \"configClient\": \"input/config-client.json\", \"contextClient\": \"input/context-client.json\", \"additionalBinds\": [\"/generated/dataset.nt:/tmp/dataset.nt\"], \"clientPort\": 3001, \"clientLogLevel\": \"info\", \"maxMemory\": 8192}" + ] + } +} diff --git a/performance/benchmark-bsbm-hdt/jbr-experiment.json.template b/performance/benchmark-bsbm-hdt/jbr-experiment.json.template new file mode 100644 index 0000000..1c2e039 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/jbr-experiment.json.template @@ -0,0 +1,17 @@ +{ + "@context": [ + "https://linkedsoftwaredependencies.org/bundles/npm/jbr/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-experiment/bsbm/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-hook/sparql-endpoint-comunica/^5.0.0/components/context.jsonld", + "https://linkedsoftwaredependencies.org/bundles/npm/@jbr-hook/cli/^5.0.0/components/context.jsonld" + ], + "@id": "urn:jbr:benchmark-bsbm-hdt", + "@type": "ExperimentBsbm", + "productCount": 1000, + "generateHdt": true, + "endpointUrl": "http://host.docker.internal:3001/sparql", + "endpointUrlExternal": "http://localhost:3001/sparql", + "warmupRuns": 5, + "runs": 10, + "hookSparqlEndpoint": %FACTOR-hookSparqlEndpoint% +} diff --git a/performance/benchmark-bsbm-hdt/output/.keep b/performance/benchmark-bsbm-hdt/output/.keep new file mode 100644 index 0000000..e69de29 diff --git a/performance/benchmark-bsbm-hdt/package.json b/performance/benchmark-bsbm-hdt/package.json new file mode 100644 index 0000000..2235272 --- /dev/null +++ b/performance/benchmark-bsbm-hdt/package.json @@ -0,0 +1,18 @@ +{ + "name": "benchmark-bsbm-hdt", + "version": "3.1.0", + "private": true, + "scripts": { + "jbr": "cross-env NODE_OPTIONS=--max-old-space-size=8192 jbr", + "validate": "jbr validate", + "performance": "docker pull comunica/query-sparql-hdt:latest && jbr prepare && jbr run && psbr csv bsbm combinations/combination_*/output && psbr tex query combinations/combination_*/output --svg --logY --overrideCombinationLabels Current,Previous", + "performance:ci": "jbr prepare -c 0 && jbr run -c 0 && psbr csv bsbm combinations/combination_0/output" + }, + "dependencies": { + "@jbr-experiment/bsbm": "^5.2.3", + "@jbr-hook/cli": "^5.2.0", + "@jbr-hook/sparql-endpoint-comunica": "^5.2.0", + "cross-env": "^7.0.3", + "jbr": "^5.2.0" + } +} diff --git a/performance/benchmark-watdiv-hdt/package.json b/performance/benchmark-watdiv-hdt/package.json index 7143d5a..8ba43e8 100644 --- a/performance/benchmark-watdiv-hdt/package.json +++ b/performance/benchmark-watdiv-hdt/package.json @@ -6,14 +6,14 @@ "jbr": "cross-env NODE_OPTIONS=--max-old-space-size=8192 jbr", "validate": "jbr validate", "fetch-assets": "curl -L https://github.com/comunica/comunica-performance-assets/raw/master/watdiv-10.zip?download= > watdiv-10.zip && unzip watdiv-10.zip -d generated/ && rm watdiv-10.zip", - "performance": "docker pull comunica/query-sparql-hdt:latest && jbr prepare && jbr run && psbr tex query output/combination_* --svg --logY --overrideCombinationLabels Current,Previous", + "performance": "docker pull comunica/query-sparql-hdt:latest && jbr prepare && jbr run && psbr tex query combinations/combination_*/output --svg --logY --overrideCombinationLabels Current,Previous", "performance:ci": "npm run fetch-assets && jbr prepare -c 0 && jbr run -c 0" }, "dependencies": { - "@jbr-experiment/watdiv": "^5.1.1", - "@jbr-hook/cli": "^5.1.1", - "@jbr-hook/sparql-endpoint-comunica": "^5.1.1", + "@jbr-experiment/watdiv": "^5.2.0", + "@jbr-hook/cli": "^5.2.0", + "@jbr-hook/sparql-endpoint-comunica": "^5.2.0", "cross-env": "^7.0.3", - "jbr": "^5.1.1" + "jbr": "^5.2.0" } } diff --git a/yarn.lock b/yarn.lock index 59b74fb..1a19e8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3448,28 +3448,37 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jbr-experiment/watdiv@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@jbr-experiment/watdiv/-/watdiv-5.1.1.tgz#f0c6b24631c40967c021fa10b938443827c7bab6" - integrity sha512-SMo7rdbpBLAHbqJJkk5TxS1sVHknwEkmSPfZbfvTGeu6ZDxFHSPVrR5rPJRjeKxen9ou92DBbVhhEbOboCa9Yg== +"@jbr-experiment/bsbm@^5.2.3": + version "5.2.3" + resolved "https://registry.yarnpkg.com/@jbr-experiment/bsbm/-/bsbm-5.2.3.tgz#c5aa2883608e7335f3ac4320bb153e5720dd0fce" + integrity sha512-DhLUpAxdm6rlV/3qk+QkOpPyORwYTnPg8WaV228ihh1le9nIKfNqMNDyfyD+T2PS3aQHeAGIyCxXODmSG5Bh+A== + dependencies: + "@types/fs-extra" "^9.0.11" + "@types/yargs" "^17.0.0" + fs-extra "^10.0.0" + +"@jbr-experiment/watdiv@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@jbr-experiment/watdiv/-/watdiv-5.2.0.tgz#321b3b69c9fb979b9ac9dce45a580f9a6c02c90e" + integrity sha512-B/5/4QXnWe/HHYPD5KQ8pIltBEBG1NprpDOEUuaSxd/u0W21dI0ZIFE6p58KDnyuFK5QAgFJ9Bo5syfx4XVIqA== dependencies: "@types/fs-extra" "^9.0.11" "@types/yargs" "^17.0.0" fs-extra "^10.0.0" sparql-benchmark-runner "^4.0.0" -"@jbr-hook/cli@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@jbr-hook/cli/-/cli-5.1.1.tgz#189e006f3bd850b40211eb2e0da26e96d7cba7dc" - integrity sha512-pGfGMDq4vfOMJIjYmQSOpQa3JRkNjaOIkqJB8cWi5BF/0dD1FFoWC2TdWuXVZ2qVvb/IrS8f8otx28HGpQxkQg== +"@jbr-hook/cli@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@jbr-hook/cli/-/cli-5.2.0.tgz#b996819f98afbc91acb22c6bb1cda9f95e705a8c" + integrity sha512-jhq8Fq3/EFi1+4IDULPFC33bPHyx02tTGppsMlsgDSGwHlADE4XfBQUdeOuuM5hUXU1MB3kocYXu7TVtE4Ppxg== dependencies: "@types/fs-extra" "^9.0.11" fs-extra "^10.0.0" -"@jbr-hook/sparql-endpoint-comunica@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@jbr-hook/sparql-endpoint-comunica/-/sparql-endpoint-comunica-5.1.1.tgz#1b472952f2bd41871776b1372a4b88032707f550" - integrity sha512-PKCn0BG97xBzwb+E/zTDTty+P6741ee8bCH10X2V38fOPVh2tHCMEdX3/oaNlRLq8w/sb2eyp9UEVNMyS/advQ== +"@jbr-hook/sparql-endpoint-comunica@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@jbr-hook/sparql-endpoint-comunica/-/sparql-endpoint-comunica-5.2.0.tgz#22ca9a5bc46c3e4434ee0c82fe55019f6c488a44" + integrity sha512-POWC6loMpqePtuVtJENwbkNburv6YccL0eFd8MinhSpion2k1dMNnShx5xVvdDa+qFLAEivOSHROPlkfMghjhA== dependencies: "@types/fs-extra" "^9.0.11" fs-extra "^10.0.0" @@ -4147,11 +4156,12 @@ eslint-plugin-style "^0.2.0" eslint-plugin-tsdoc "^0.2.17" -"@rubensworks/process-sparql-benchmark-results@^1.1.4": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@rubensworks/process-sparql-benchmark-results/-/process-sparql-benchmark-results-1.1.6.tgz#fbb528d4a1b62dda33cf081166cdb6ee72bb3b18" - integrity sha512-x5GTD+BMhNp8RuQdYapU0r+6GN9Iq+nwuqyRGchIhsIMmKxF2k/ennE7Zymo7/slXGh/cJob5cM0iLRHoNWKlw== +"@rubensworks/process-sparql-benchmark-results@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@rubensworks/process-sparql-benchmark-results/-/process-sparql-benchmark-results-1.2.1.tgz#e657d924a54a5a97cf9b3a93e8846eb045be16e9" + integrity sha512-g69vE8aYMTObZen1QHoGcp44/RRoiAI+K40KR1eHg821RdS0FWNZsuZRMjqI0h/us57y7/9JyYnJdexrVMgdNQ== dependencies: + "@rubensworks/saxes" "^6.0.1" "@types/cross-spawn" "^6.0.2" "@types/fs-extra" "^9.0.11" "@types/yargs" "^16.0.1" @@ -8701,10 +8711,10 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" -jbr@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/jbr/-/jbr-5.1.1.tgz#b9a4302da0becf18d5c4d06cb202738ab694975e" - integrity sha512-vzEc7Cvl1VgvMOUiw1EvU67by1AT1EKq2wQOFTBSrxn8PZ3CCiUfF2NvzENMoimBYO2AbrUoNDKIETVpA5Zq7A== +jbr@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/jbr/-/jbr-5.2.0.tgz#90ae0c5763ac4651ab2da7186f8d2720a30b38dc" + integrity sha512-D/OXhw9Hu1rF1Eus/DwQi3SXZ6Ean2kZxSDUe7KjK6NbGjQsJe8J0qymiEAhyMQ0pkBIhIfLV8hUMv4hM9pLhA== dependencies: "@types/cli-progress" "^3.9.1" "@types/cross-spawn" "^6.0.2" @@ -12121,16 +12131,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -12208,14 +12209,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -13117,7 +13111,7 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -13135,15 +13129,6 @@ wrap-ansi@^6.0.1: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"