Matt Keeter
mastodon 4.7.3Weird CAD and graphics research; embedded software at @oxidecomputer@hachyderm.io
tired: "Just trust the compiler, it's smarter than you are"
wired: "You are going to generate a fucking jump table, so help me god"
(this has made my GPU bytecode interpreter 1.5× faster)
Got my first PR to a rust-lang repo merged 🎉
It's a weird feeling to get an email which
- asks questions about one of your open-source projects
- references specific files in the repo
- those files are definitely not in the project
Are you from a parallel universe? Do they have any cool Fanta or Kit-Kat flavors over there?
It's best practice for Rust crate docs to start with at least one research paper citation, which must be read before continuing.
I've just announced my new (blazing-fast) kernel for implicit surfaces: https://mattkeeter.com/projects/fidget
It's got something for everyone: Cool graphs! Multithreaded WebAssembly! Terrible mesh topology! JIT compilers!
After three years, I'm excited to finally show it off to a wider audience 😎
My "This is clearly a legitimate WebGPU rendering crate, not malware" t-shirt is raising questions—
If this whole "computers" thing doesn't work out, I've got a bright future in aftermarket crib accessories!
bytecode serialization: 0.3 ms
GPU compute kernel: 8 ms
waiting for the WebGPU polling thread: 100 ms
GPU-to-CPU buffer copy: 2ms
someone help me budget this, my framerate is dying
https://bugzilla.mozilla.org/show_bug.cgi?id=1870699
gonna go see the new adaptation of The Odyssey that everyone is talking about:
hey chat is it good when a house on my block is held together by 2x4s?
@whitequark@social.treehouse.systems I got nerd-sniped on bluesky to look at the actual wasm
The tailcall implementation does use return_branch_indirect as expected: https://gist.github.com/mkeeter/66df08eaf580f293c5f950baa43703b5
The traditional bytecode VM, on the user hand, uses br_table, at the end of a 250-deep stack of blocks (!):
https://gist.github.com/mkeeter/66df08eaf580f293c5f950baa43703b5
It's kinda incredible: each opcode is its own block, and they each end with a break N instruction to break back out to the top level.
between Porchfest and opening day for the Union Square Farmer's Market, it's a big Saturday for aging millenials in Somerville
if only there was a high-throughput way to convert a large memory-unsafe codebase into a memory-safe language
https://github.com/v12-security/pocs/tree/main/fragnesia-5db89c99566fc
