Decided to revisit the native QoQ performance for 7.1
https://luceeserver.atlassian.net/browse/LDEV-6308
This change landed in 7.1.0.119-SNAPSHOT, builds on the previous work from Brad, but removes the parallel approach it introduced (multi threading has it’s own cost, your local machine might have a few spare cores, but your production server probably doesn’t!) and instead uses the same path as cfquery JBDC to build the query result
Let’s just say it’s a little faster, despite being only single threaded per request!
Results from 32 threads running under load, 100k cycles
Narrow a few cols, wide 10 cols
| Test | Before ops/s | After ops/s | Δ ops/s | Before GCs | After GCs | Δ GCs | Before pause | After pause | Δ GC pause |
|---|---|---|---|---|---|---|---|---|---|
| narrow-50 | 65,491 | 92,829 | +42% | 9 | 7.5 | -17% | 76 | 66 | -13% |
| narrow-200 | 64,049 | 98,863 | +54% | 10 | 7 | -30% | 84 | 52 | -38% |
| narrow-1k | 62,030 | 87,957 | +42% | 12 | 8.5 | -29% | 99 | 65 | -35% |
| narrow-5k | 30,438 | 63,773 | +110% | 15.5 | 13.5 | -13% | 138 | 113 | -18% |
| narrow-20k | 10,202 | 30,579 | +200% | 38 | 26 | -32% | 305 | 261 | -14% |
| wide-50 | 61,590 | 88,552 | +44% | 10 | 9 | -10% | 87 | 68 | -22% |
| wide-1k | 21,893 | 66,332 | +203% | 21.5 | 14.5 | -33% | 162 | 116 | -29% |
| wide-20k | 3,043 | 9,101 | +199% | 159 | 82 | -48% | 720 | 578 | -20% |
| orderby-1k | 51,207 | 78,913 | +54% | 12.5 | 9.5 | -24% | 112 | 67 | -40% |
| orderby-20k | 5,927 | 19,131 | +223% | 82 | 38 | -54% | 516 | 365 | -29% |
| groupby-1k | 50,996 | 77,561 | +52% | 16 | 11 | -31% | 142 | 90 | -37% |
| groupby-20k | 5,899 | 15,079 | +156% | 140.5 | 54 | -62% | 548 | 428 | -22% |
| distinct-1k | 46,530 | 65,777 | +41% | 19 | 16 | -16% | 150 | 124 | -17% |
| distinct-20k | 6,269 | 14,975 | +139% | 139 | 61 | -56% | 547 | 443 | -19% |
| having-1k | 50,948 | 77,800 | +53% | 16 | 12.5 | -22% | 141 | 89 | -37% |
| unionall-1k | 47,255 | 72,912 | +54% | 14.5 | 11 | -24% | 116 | 83 | -29% |
| uniondistinct-1k | 6,318 | 7,617 | +21% | 134 | 119 | -11% | 731 | 689 | -6% |
| AGGREGATE | — | — | — | 1697 | 1000 | -41% | 9342 | 7387 | -21% |