The composite is a sum over the scored profiles, so a row goes up both when a server gets faster and when its maintainer implements one more profile. Those are two different properties and one number cannot separate them.
The clearest case in the published data is aspnet-minimal against fulmine, 726 against 669, so the board puts aspnet-minimal above. On the 13 profiles both of them run, fulmine is faster on 10, with a median ratio of 1.37. The difference in the composite comes from aspnet-minimal running 23 profiles and fulmine 14, not from throughput.
I am on the wrong side of this as well (https://github.com/nigrosimone/fulmine.js), which is what made me write it. This week I subscribed my own entry to gateway-64 and gateway-h3 by putting a stock Caddy in front of it. Caddy terminates the TLS and speaks h2 and h3, my server did not change a line. That is up to 200 points my framework did not earn.
I know the sum is deliberate and the docs say so, and the goal behind it is right: an entry that wins one profile should not top the board. The problem is only that the same number now carries two things at once.
Three ideas, cheapest first:
- Show the mean over the profiles an entry runs, and the count, next to the sum. Both are already computed and it is one column each. Sorting can stay on the sum. Then a reader can tell whether a row is high because it is fast or because it is complete.
- Average inside a family, then sum the families. Today gRPC is four profiles and upload is one, so being good at gRPC counts four times as much, and that ratio comes from how many variants exist rather than from a decision about what matters.
- Treat gateway and production-stack the way
pipelined and fortunes are already treated. Those are reference-only because they measure something other than the framework. The gateway profiles measure a proxy plus a framework, and the rules require the proxy to be stock third-party software, so the same argument seems to apply.
Happy to send a PR for the first one if you think it is worth having.
The composite is a sum over the scored profiles, so a row goes up both when a server gets faster and when its maintainer implements one more profile. Those are two different properties and one number cannot separate them.
The clearest case in the published data is aspnet-minimal against fulmine, 726 against 669, so the board puts aspnet-minimal above. On the 13 profiles both of them run, fulmine is faster on 10, with a median ratio of 1.37. The difference in the composite comes from aspnet-minimal running 23 profiles and fulmine 14, not from throughput.
I am on the wrong side of this as well (https://github.com/nigrosimone/fulmine.js), which is what made me write it. This week I subscribed my own entry to
gateway-64andgateway-h3by putting a stock Caddy in front of it. Caddy terminates the TLS and speaks h2 and h3, my server did not change a line. That is up to 200 points my framework did not earn.I know the sum is deliberate and the docs say so, and the goal behind it is right: an entry that wins one profile should not top the board. The problem is only that the same number now carries two things at once.
Three ideas, cheapest first:
pipelinedandfortunesare already treated. Those are reference-only because they measure something other than the framework. The gateway profiles measure a proxy plus a framework, and the rules require the proxy to be stock third-party software, so the same argument seems to apply.Happy to send a PR for the first one if you think it is worth having.