File tree Expand file tree Collapse file tree 4 files changed +236
-81
lines changed Expand file tree Collapse file tree 4 files changed +236
-81
lines changed Original file line number Diff line number Diff line change 1+ name : cqn4sql benchmarks + visualization
2+
3+ on :
4+ push :
5+ branches : [ patrice/cds-test-perfomance ]
6+ workflow_dispatch :
7+
8+ permissions :
9+ contents : read
10+ pages : write
11+ id-token : write
12+
13+ concurrency :
14+ group : " pages"
15+ cancel-in-progress : true
16+
17+ jobs :
18+ build :
19+ runs-on : ubuntu-latest
20+ steps :
21+ - name : Checkout
22+ uses : actions/checkout@v4
23+ with :
24+ fetch-depth : 1
25+
26+ - name : Setup Node
27+ uses : actions/setup-node@v4
28+ with :
29+ node-version : 20
30+ cache : npm
31+
32+ - name : Install dependencies
33+ run : npm ci
34+
35+ # this needs the cds-test PR to be merged first
36+ # - name: Run benchmarks
37+ # run: |
38+ # cd ./db-service/bench/cqn4sql && cds test
39+
40+ - name : Build visualization
41+ run : |
42+ cd ./db-service/bench/cqn4sq
43+ mkdir -p dist
44+ node utils/visualize-benchmarks.js results/cqn4sql-benchmarks.json results/perf-benchmarks.html
45+ cp perf-benchmarks.json dist/
46+
47+ - name : Upload Pages artifact
48+ uses : actions/upload-pages-artifact@v3
49+ with :
50+ path : dist
51+
52+ deploy :
53+ environment :
54+ name : github-pages
55+ url : ${{ steps.deployment.outputs.page_url }}
56+ needs : build
57+ runs-on : ubuntu-latest
58+ steps :
59+ - name : Deploy to GitHub Pages
60+ id : deployment
61+ uses : actions/deploy-pages@v4
Original file line number Diff line number Diff line change 517517 "sent" : 134677
518518 }
519519 }
520+ },
521+ "0d15c979" : {
522+ "date" : " 2025-08-27T15:47:11.987Z" ,
523+ "benchmarks" : {
524+ "select simple" : {
525+ "average" : 87808 ,
526+ "mean" : 87808 ,
527+ "stddev" : 288 ,
528+ "min" : 87523 ,
529+ "max" : 88103 ,
530+ "total" : 262013 ,
531+ "p0_001" : 87551 ,
532+ "p0_01" : 87551 ,
533+ "p0_1" : 87551 ,
534+ "p1" : 87551 ,
535+ "p2_5" : 87551 ,
536+ "p10" : 87551 ,
537+ "p25" : 87551 ,
538+ "p50" : 87551 ,
539+ "p75" : 88127 ,
540+ "p90" : 88127 ,
541+ "p97_5" : 88127 ,
542+ "p99" : 88127 ,
543+ "p99_9" : 88127 ,
544+ "p99_99" : 88127 ,
545+ "p99_999" : 88127 ,
546+ "sent" : 262013
547+ },
548+ "expand simple" : {
549+ "average" : 20184 ,
550+ "mean" : 20184 ,
551+ "stddev" : 144 ,
552+ "min" : 20047 ,
553+ "max" : 20320 ,
554+ "total" : 61287 ,
555+ "p0_001" : 20047 ,
556+ "p0_01" : 20047 ,
557+ "p0_1" : 20047 ,
558+ "p1" : 20047 ,
559+ "p2_5" : 20047 ,
560+ "p10" : 20047 ,
561+ "p25" : 20047 ,
562+ "p50" : 20047 ,
563+ "p75" : 20335 ,
564+ "p90" : 20335 ,
565+ "p97_5" : 20335 ,
566+ "p99" : 20335 ,
567+ "p99_9" : 20335 ,
568+ "p99_99" : 20335 ,
569+ "p99_999" : 20335 ,
570+ "sent" : 61287
571+ },
572+ "expand recursive (depth 3)" : {
573+ "average" : 8088 ,
574+ "mean" : 8088 ,
575+ "stddev" : 22 ,
576+ "min" : 8065 ,
577+ "max" : 8111 ,
578+ "total" : 24410 ,
579+ "p0_001" : 8067 ,
580+ "p0_01" : 8067 ,
581+ "p0_1" : 8067 ,
582+ "p1" : 8067 ,
583+ "p2_5" : 8067 ,
584+ "p10" : 8067 ,
585+ "p25" : 8067 ,
586+ "p50" : 8067 ,
587+ "p75" : 8111 ,
588+ "p90" : 8111 ,
589+ "p97_5" : 8111 ,
590+ "p99" : 8111 ,
591+ "p99_9" : 8111 ,
592+ "p99_99" : 8111 ,
593+ "p99_999" : 8111 ,
594+ "sent" : 24410
595+ },
596+ "exists simple" : {
597+ "average" : 59616 ,
598+ "mean" : 59616 ,
599+ "stddev" : 144 ,
600+ "min" : 59475 ,
601+ "max" : 59758 ,
602+ "total" : 178296 ,
603+ "p0_001" : 59487 ,
604+ "p0_01" : 59487 ,
605+ "p0_1" : 59487 ,
606+ "p1" : 59487 ,
607+ "p2_5" : 59487 ,
608+ "p10" : 59487 ,
609+ "p25" : 59487 ,
610+ "p50" : 59487 ,
611+ "p75" : 59775 ,
612+ "p90" : 59775 ,
613+ "p97_5" : 59775 ,
614+ "p99" : 59775 ,
615+ "p99_9" : 59775 ,
616+ "p99_99" : 59775 ,
617+ "p99_999" : 59775 ,
618+ "sent" : 178296
619+ },
620+ "exists recursive (depth 3)" : {
621+ "average" : 45376 ,
622+ "mean" : 45376 ,
623+ "stddev" : 528 ,
624+ "min" : 44854 ,
625+ "max" : 45917 ,
626+ "total" : 136505 ,
627+ "p0_001" : 44863 ,
628+ "p0_01" : 44863 ,
629+ "p0_1" : 44863 ,
630+ "p1" : 44863 ,
631+ "p2_5" : 44863 ,
632+ "p10" : 44863 ,
633+ "p25" : 44863 ,
634+ "p50" : 44863 ,
635+ "p75" : 45919 ,
636+ "p90" : 45919 ,
637+ "p97_5" : 45919 ,
638+ "p99" : 45919 ,
639+ "p99_9" : 45919 ,
640+ "p99_99" : 45919 ,
641+ "p99_999" : 45919 ,
642+ "sent" : 136505
643+ },
644+ "assoc2join simple" : {
645+ "average" : 52080 ,
646+ "mean" : 52080 ,
647+ "stddev" : 960 ,
648+ "min" : 51120 ,
649+ "max" : 53037 ,
650+ "total" : 158696 ,
651+ "p0_001" : 51135 ,
652+ "p0_01" : 51135 ,
653+ "p0_1" : 51135 ,
654+ "p1" : 51135 ,
655+ "p2_5" : 51135 ,
656+ "p10" : 51135 ,
657+ "p25" : 51135 ,
658+ "p50" : 51135 ,
659+ "p75" : 53055 ,
660+ "p90" : 53055 ,
661+ "p97_5" : 53055 ,
662+ "p99" : 53055 ,
663+ "p99_9" : 53055 ,
664+ "p99_99" : 53055 ,
665+ "p99_999" : 53055 ,
666+ "sent" : 158696
667+ },
668+ "assoc2join recursive (depth 3)" : {
669+ "average" : 45984 ,
670+ "mean" : 45984 ,
671+ "stddev" : 240 ,
672+ "min" : 45749 ,
673+ "max" : 46210 ,
674+ "total" : 136546 ,
675+ "p0_001" : 45759 ,
676+ "p0_01" : 45759 ,
677+ "p0_1" : 45759 ,
678+ "p1" : 45759 ,
679+ "p2_5" : 45759 ,
680+ "p10" : 45759 ,
681+ "p25" : 45759 ,
682+ "p50" : 45759 ,
683+ "p75" : 46239 ,
684+ "p90" : 46239 ,
685+ "p97_5" : 46239 ,
686+ "p99" : 46239 ,
687+ "p99_9" : 46239 ,
688+ "p99_99" : 46239 ,
689+ "p99_999" : 46239 ,
690+ "sent" : 136546
691+ }
692+ }
520693 }
521694}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ const path = require('path')
66
77const dumpPath = process . argv [ 2 ] || 'perf-benchmarks.json'
88const outPath = process . argv [ 3 ] || 'perf-benchmarks.html'
9- const metric = process . argv [ 4 ] || 'average' // requests[metric], e.g. average | mean | p50
9+ const metric = process . argv [ 4 ] || 'mean'
1010
1111if ( ! fs . existsSync ( dumpPath ) ) {
1212 console . error ( `❌ Cannot find ${ dumpPath } ` )
@@ -130,4 +130,4 @@ const html = `<!doctype html>
130130</html>`
131131
132132fs . writeFileSync ( outPath , html , 'utf8' )
133- console . log ( `✅ Wrote \ ${outPath} (\ ${series.length} series, \ ${entries.length} commits) using requests.\ ${metric}\`` )
133+ console . log ( `✅ Wrote ${ outPath } (${ series . length } series, ${ entries . length } commits) using requests.${ metric } \`` )
You can’t perform that action at this time.
0 commit comments