Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rapidlua
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
rapidlua
6y ago
With random keys updates are going to touch way more pages than with sequential ones. It increases IO due to more dirty buffers and journaling.
32.
▲
by
rapidlua
6y ago
True, but for a cpu bound task like this VM typically causes only a 10% slowdown. You aren’t going to see an order of magnitude faster execution on real hardware. The article makes it look like compilation is almost instantaneous. It’s not.
33.
▲
by
rapidlua
6y ago
The article doesn't mention the number/class of CPUs in the system used for the benchmark. It claims that 'Singlepass' compilation of clang.wasm took 2s and 'Cranelift' took 9s. Running the same benchmark mysel
34.
▲
by
rapidlua
6y ago
> but the bundle is enormous - over a megabyte of data If only DOT layout engine and JSON output format is enabled at compile time it is about 600KiB, or less than 200KiB Gzipped. https://github.com/rapidlua/viz.js
35.
▲
by
rapidlua
6y ago
I doubt that WASM is good as an embedded language, unless performance requirements outweigh the inconvenience. Dynamic languages are great for experimentation and exploring the system, e.g. a console in the browser is the fantastic tool an
36.
▲
by
rapidlua
6y ago
We are on the same page irt tail calls. I assume that instruction handlers (non-standard calling convention, tail-calls next handler) need to invoke helper functions quite often. These helpers adhere to standard C calling convention. VM sta
37.
▲
by
rapidlua
6y ago
> Did you check out the "GHC calling convention"? GHC allocates registers for arguments from the fixed list where most but not all registers are callee-save in other common CC-s. This is a big improvement; still there are valid
38.
▲
by
rapidlua
6y ago
I am currently exploring the similar approach. The idea is to compile to llvm IR and then augment it. There's a musttail marker in the language to enforce tail calls no matter what the optimisation level is. Passing VM state via argume