very annoying: to properly benchmark a garbage collector with respect to a program, you need a production-quality compiler / language implementation. otherwise you don't know how much gc overhead (e.g. ensuring stack roots are precisely enumerable) is imposed by the compiler
by now it's clear that adaptive optimization is a universal technique that can make *any* program fast; enough speculative inlining at run-time (and dollars thrown at VM engineers) will burn away all abstractions. but there is more AOT compilation of dynamic languages than there used to be: Swift, Dart, JS via Hermes et al; and for AOT there is no one universal technique
@22 the stakeholders are j2wasm, the wasm-targetting successor of j2cl, a toolchain used for google sheets (not a secret); and https://kotlinlang.org/docs/wasm-overview.html. j2wasm isn't quite java, i think they are willing to accept some deviations. but yes people do want proper java on wasm/gc
when you think about it, it's astonishing the extent to which webassembly/gc is a speculative endeavor. the main stakeholders are java and kotlin (so java times 2). dart seems noncommittal, and though scheme and ocaml are doing interesting work they don't have the resources that java does. amazing that wasm/gc has any buy-in at all, in this context
@ltratt@stephenrkell@cfbolz ok gotta be pedantic here, what is being opted into is proper tail calls, not tail call *optimization*; clang::musttail means tail calls even when -O0
@ltratt@stephenrkell@cfbolz i think in this concrete case there is no issue because it's something the programmer intends, rather than an unexpected optimization. would be weird to see a stack frame when you explicitly asked not to have one :)
my goodness, the is some serious engineering -- on using CPS and deep LLVM-fu to automatically generate an interpreter that is faster than LuaJIT's hand-coded interpreter https://sillycross.github.io/2022/11/22/2022-11-22/
two things at the same time: - probably having 2000 mastodon instances eagerly connect to a url in a toot is not ideal - ffs a web site should be able to serve thousand of copies of the same web page in less than a second, total. come on, ppl, this is embarrassing