Repository navigation
a benchmark film where the picture is the measurement - #2970
Open
Flotapponnier wants to merge 1 commit into
Open
Flotapponnier wants to merge 1 commit into
Flotapponnier wants to merge 1 commit into
Conversation
…t of it
film/ renders a brand film from the live API. Every figure on screen is a
number the site publishes, fetched by a script and committed, so a render is
reproducible months later and every claim carries the date it was taken.
The reason this is a project and not a one-off export is the thing that was
wrong with the first version: it ran the same bar chart for every benchmark,
and a film like that becomes a list. By the third table the eye has learned
the shape and stops reading. So each act is now drawn from what its bench
actually measures, and the shape is declared in the data:
lag aggregator head lag, as arrivals on one shared clock. A provider's
marker lands at the moment its measured lag says it should, so the
film's own timing carries the measurement rather than describing it.
volume swaps routed, as accumulation into columns. Throughput is mass, not
speed, so it piles up instead of racing.
fee bridge fees, as subtraction from a $10,000 transfer. The spread
between best and worst is about eighteen dollars, which is legible
in dollars and invisible as a percentage bar. The red tip is drawn
larger than life and the caption says so.
tempo block time, played at 1:1 for four seconds, one tick per block.
Robinhood Chain fires forty ticks, Blast fires two. This act cannot
be sped up without lying, which is why it is the longest.
RPCs get a grid of every chain we probe rather than a race, because the claim
there is breadth.
Each act also carries the category's own description, read from
src/lib/categories.ts rather than written again, so the film cannot describe a
category differently from its category page.
Three things scripts/fetch-data.ts handles that are easy to get wrong, each
noted where it happens: latency benches that declare "s" store milliseconds
(the same conversion the site has in format.ts, and skipping it prints a
0.26 s head lag as "260 s"); the full ranked field comes from /api/stat rather
than the two leaders in /api/citable, because a film that never shows the
losers never shows that several products were tested; and only the logos the
film references are copied into public/, so the directory stays reviewable.
Also fixes a real site bug found while picking those logos: bench
launchpad-wars publishes its leader as `pumpfun` while the logo file, the
product page and every other reference spell it `pump-fun`, so the winning row
of a live bench renders initials instead of the brand mark.
node_modules and out/ are ignored; data.ts, the fonts and the 33 referenced
logos are committed so a clean clone can render without the network.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
film/renders a brand film from the live API. 43 seconds, 1920x1080. Every figure on screen is a number the site publishes, fetched by a script and committed, so a render is reproducible and every claim carries its date.Why it is a project and not an export
The first cut ran the same bar chart for every benchmark and became a list: by the third table the eye has learned the shape and stops reading. Each act is now drawn from what its bench actually measures, and the shape is declared in the data so the cut never has to know what a bench is about.
Each act carries the category's own description, read from
src/lib/categories.tsrather than written again, so the film cannot describe a category differently from its category page.Data handling
scripts/fetch-data.tsreads/api/citableand/api/stat/<slug>. Three things it gets right that are easy to get wrong, each commented where it happens:sstore milliseconds. The same conversion the site has informat.ts. Skipping it prints a 0.26 s head lag as "260 s"./api/stat, not the two leaders in/api/citable. A film that never shows the losers never shows that several products were tested on the same thing.film/public, so the directory stays reviewable.Site bug fixed in passing
Bench
launchpad-warspublishes its leader aspumpfunwhile the logo file, the product page and every other reference spell itpump-fun. The winning row of a live bench was rendering initials instead of the brand mark. One alias inlogo-manifest.ts.Honest gaps, written into the README
No audio (needs a licensed track, not an improvised one). 16:9 only, because the type sizes are tuned for it and a 9:16 cut needs its own layout pass rather than a second
<Composition>that would look broken. And Mobula appears in two acts as a genuine leader, which is worth a conscious decision rather than a default, since OpenChainBench is a Mobula project.Weight
node_modulesandout/ignored. Committed: source,data.ts, three fonts and the 33 referenced logos, about 540 KB, so a clean clone renders without the network.