You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: site/content/docs/scoring/composite-score.md
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,9 +111,11 @@ CPU efficiency was intentionally dropped: a framework that leaves CPU on the tab
111
111
For each profile, compute the efficiency ratio for every framework:
112
112
113
113
```
114
-
memEfficiency = rps / memoryMB
114
+
memEfficiency = sqrt(rps) / memoryMB
115
115
```
116
116
117
+
Why `sqrt(rps)` instead of `rps`? A plain `rps / MB` ratio double-counts throughput: high-rps frameworks would win both `rpsScore`*and*`memScore` because `rps` dominates the ratio. Taking the square root dampens rps to log-scale — it still matters (a dead framework shouldn't win "efficiency"), but memory can now actually move the needle.
118
+
117
119
Normalize against the best efficiency in that profile:
118
120
119
121
```
@@ -130,19 +132,19 @@ With the toggle on, per-profile scores range 0–150 (up to 100 from throughput,
130
132
131
133
### Example
132
134
133
-
| Framework | RPS | Mem (MB) | rps/MB |
135
+
| Framework | RPS | Mem (MB) |sqrt(rps)/MB |
134
136
|---|---|---|---|
135
-
| A | 500,000 | 50 |10,000|
136
-
| B | 100,000 | 20 |5,000|
137
+
| A | 500,000 | 50 |14.14|
138
+
| B | 100,000 | 20 |15.81|
137
139
138
140
- RPS scores: A = 100, B = 20
139
-
- Memory efficiency scores: A = 100 (best), B = 50
141
+
- Memory efficiency scores: A = 89.4, B = 100 (best)
140
142
141
143
With the memory toggle on:
142
-
- A: `100 + 0.5 × 100 = 150.0`
143
-
- B: `20 + 0.5 × 50 = 45.0`
144
+
- A: `100 + 0.5 × 89.4 = 144.7`
145
+
- B: `20 + 0.5 × 100 = 70.0`
144
146
145
-
A leads on both axes and pulls the maximum bonus; B picks up a partial bonus for its lower absolute memory footprint but its 5× throughput deficit still dominates.
147
+
B actually wins the memory term despite A's 5× throughput advantage, because `sqrt(rps)` only gives A a √5 ≈ 2.24× boost in the numerator — not enough to beat B's 2.5× memory savings. A still wins overall thanks to its raw throughput lead, but B's lean memory footprint is now rewarded meaningfully instead of being drowned out.
0 commit comments