Skip to content

Commit 589006c

Browse files
committed
one more benchmark
1 parent 8ef8958 commit 589006c

File tree

3 files changed

+200
-1
lines changed

3 files changed

+200
-1
lines changed

db-service/bench/cqn4sql/performance-benchmarks.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ describe('cqn4sql performance benchmarks', () => {
2828
runBenchmarkFor('expand recursive (depth 3)', cds.ql`SELECT from my.Genres { ID, parent { parent { parent { name }}} }`)
2929

3030
runBenchmarkFor('exists simple', cds.ql`SELECT from my.Genres { ID } where exists parent`)
31+
runBenchmarkFor('exists simple with path expression', cds.ql`SELECT from my.Genres { ID } where exists parent[parent.name = 'foo']`)
3132
runBenchmarkFor('exists recursive (depth 3)', cds.ql`SELECT from my.Genres { ID } where exists parent.parent.parent`)
3233

3334
runBenchmarkFor('assoc2join simple', cds.ql`SELECT from my.Books { ID, author.name }`)

db-service/bench/cqn4sql/results/cqn4sql-benchmarks.json

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1382,5 +1382,202 @@
13821382
"sent": 138192
13831383
}
13841384
}
1385+
},
1386+
"8ef8958b": {
1387+
"date": "2025-08-27T16:09:15.187Z",
1388+
"benchmarks": {
1389+
"select simple": {
1390+
"average": 89536,
1391+
"mean": 89536,
1392+
"stddev": 224,
1393+
"min": 89314,
1394+
"max": 89782,
1395+
"total": 269236,
1396+
"p0_001": 89343,
1397+
"p0_01": 89343,
1398+
"p0_1": 89343,
1399+
"p1": 89343,
1400+
"p2_5": 89343,
1401+
"p10": 89343,
1402+
"p25": 89343,
1403+
"p50": 89343,
1404+
"p75": 89791,
1405+
"p90": 89791,
1406+
"p97_5": 89791,
1407+
"p99": 89791,
1408+
"p99_9": 89791,
1409+
"p99_99": 89791,
1410+
"p99_999": 89791,
1411+
"sent": 269236
1412+
},
1413+
"expand simple": {
1414+
"average": 20264,
1415+
"mean": 20264,
1416+
"stddev": 704,
1417+
"min": 19567,
1418+
"max": 20967,
1419+
"total": 61689,
1420+
"p0_001": 19567,
1421+
"p0_01": 19567,
1422+
"p0_1": 19567,
1423+
"p1": 19567,
1424+
"p2_5": 19567,
1425+
"p10": 19567,
1426+
"p25": 19567,
1427+
"p50": 19567,
1428+
"p75": 20975,
1429+
"p90": 20975,
1430+
"p97_5": 20975,
1431+
"p99": 20975,
1432+
"p99_9": 20975,
1433+
"p99_99": 20975,
1434+
"p99_999": 20975,
1435+
"sent": 61689
1436+
},
1437+
"expand recursive (depth 3)": {
1438+
"average": 8179,
1439+
"mean": 8179,
1440+
"stddev": 137,
1441+
"min": 8042,
1442+
"max": 8316,
1443+
"total": 24638,
1444+
"p0_001": 8043,
1445+
"p0_01": 8043,
1446+
"p0_1": 8043,
1447+
"p1": 8043,
1448+
"p2_5": 8043,
1449+
"p10": 8043,
1450+
"p25": 8043,
1451+
"p50": 8043,
1452+
"p75": 8319,
1453+
"p90": 8319,
1454+
"p97_5": 8319,
1455+
"p99": 8319,
1456+
"p99_9": 8319,
1457+
"p99_99": 8319,
1458+
"p99_999": 8319,
1459+
"sent": 24638
1460+
},
1461+
"exists simple": {
1462+
"average": 60560,
1463+
"mean": 60560,
1464+
"stddev": 320,
1465+
"min": 60246,
1466+
"max": 60874,
1467+
"total": 178901,
1468+
"p0_001": 60255,
1469+
"p0_01": 60255,
1470+
"p0_1": 60255,
1471+
"p1": 60255,
1472+
"p2_5": 60255,
1473+
"p10": 60255,
1474+
"p25": 60255,
1475+
"p50": 60255,
1476+
"p75": 60895,
1477+
"p90": 60895,
1478+
"p97_5": 60895,
1479+
"p99": 60895,
1480+
"p99_9": 60895,
1481+
"p99_99": 60895,
1482+
"p99_999": 60895,
1483+
"sent": 178901
1484+
},
1485+
"exists simple with path expression": {
1486+
"average": 22560,
1487+
"mean": 22560,
1488+
"stddev": 344,
1489+
"min": 22220,
1490+
"max": 22902,
1491+
"total": 67606,
1492+
"p0_001": 22223,
1493+
"p0_01": 22223,
1494+
"p0_1": 22223,
1495+
"p1": 22223,
1496+
"p2_5": 22223,
1497+
"p10": 22223,
1498+
"p25": 22223,
1499+
"p50": 22223,
1500+
"p75": 22911,
1501+
"p90": 22911,
1502+
"p97_5": 22911,
1503+
"p99": 22911,
1504+
"p99_9": 22911,
1505+
"p99_99": 22911,
1506+
"p99_999": 22911,
1507+
"sent": 67606
1508+
},
1509+
"exists recursive (depth 3)": {
1510+
"average": 41888,
1511+
"mean": 41888,
1512+
"stddev": 16,
1513+
"min": 41871,
1514+
"max": 41898,
1515+
"total": 127501,
1516+
"p0_001": 41887,
1517+
"p0_01": 41887,
1518+
"p0_1": 41887,
1519+
"p1": 41887,
1520+
"p2_5": 41887,
1521+
"p10": 41887,
1522+
"p25": 41887,
1523+
"p50": 41887,
1524+
"p75": 41919,
1525+
"p90": 41919,
1526+
"p97_5": 41919,
1527+
"p99": 41919,
1528+
"p99_9": 41919,
1529+
"p99_99": 41919,
1530+
"p99_999": 41919,
1531+
"sent": 127501
1532+
},
1533+
"assoc2join simple": {
1534+
"average": 52960,
1535+
"mean": 52960,
1536+
"stddev": 784,
1537+
"min": 52162,
1538+
"max": 53755,
1539+
"total": 156900,
1540+
"p0_001": 52191,
1541+
"p0_01": 52191,
1542+
"p0_1": 52191,
1543+
"p1": 52191,
1544+
"p2_5": 52191,
1545+
"p10": 52191,
1546+
"p25": 52191,
1547+
"p50": 52191,
1548+
"p75": 53759,
1549+
"p90": 53759,
1550+
"p97_5": 53759,
1551+
"p99": 53759,
1552+
"p99_9": 53759,
1553+
"p99_99": 53759,
1554+
"p99_999": 53759,
1555+
"sent": 156900
1556+
},
1557+
"assoc2join recursive (depth 3)": {
1558+
"average": 44128,
1559+
"mean": 44128,
1560+
"stddev": 656,
1561+
"min": 43473,
1562+
"max": 44797,
1563+
"total": 132577,
1564+
"p0_001": 43487,
1565+
"p0_01": 43487,
1566+
"p0_1": 43487,
1567+
"p1": 43487,
1568+
"p2_5": 43487,
1569+
"p10": 43487,
1570+
"p25": 43487,
1571+
"p50": 43487,
1572+
"p75": 44799,
1573+
"p90": 44799,
1574+
"p97_5": 44799,
1575+
"p99": 44799,
1576+
"p99_9": 44799,
1577+
"p99_99": 44799,
1578+
"p99_999": 44799,
1579+
"sent": 132577
1580+
}
1581+
}
13851582
}
13861583
}

db-service/bench/cqn4sql/utils/visualize-benchmarks.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ const html = `<!doctype html>
6565
</style>
6666
<h1>Perf Benchmarks (requests/second) by Commit</h1>
6767
<div class="meta">
68-
Data: ${path.basename(dumpPath)} • Commits: ${entries.length} • Metric: requests.${metric}
68+
Data: ${path.basename(dumpPath)} • Commits: ${entries.length} • Metric: requests.${metric} <br>
69+
Requests per second (higher = better).
6970
</div>
7071
<div style="margin:8px 0">
7172
<label for="filter">Filter benchmark:</label>

0 commit comments

Comments
 (0)