"...not all of the stdlib is supported by WebAssembly’s sandboxed runtime.
Sockets, for example, are not currently supported..."
"It can be frustrating to figure out which existing libraries can be ported..."
-- fermyondeveloper:fermyonfermyonfermyonwasighghghemscripten.orgdev:moz
gh
--strip-debug (24 MB -> 9 MB)
-Oz (8.9 MB -> 8.4 MB)
Info with: --metrics, --func-metrics.
No benefits apparently: --abstract-type-refining, --code-folding, --gufa.
Too slow to see what happens: --flatten --dfo.
Increases size: --alignment-lowering.
The following raises an error: --minify-imports-and-exports-and-modules;
so don't know what it does. Is it a bug?
This works only for Rust and AS, not for C nor C++.
It should be possible to split my app into C components and one Rust compnent
with the latter doing all the fetching (into a shared sqlite database). But alas!
It is a pipe-dream. WAGIs have no access to these things. Pure functions like.
gh
This shows how a Rust WAGI app would use the experimental api.
ghghgh
Another idea was to write a C layer and send a pull request.
ghdocs:wt
See also: gh
docs:wt
Just says "more coming soon" :_)
And points to: docs:wtdocs:wt
This is another part of the same docs which has more text.
gh
By default, the C/C++ toolchain orders linear memory to put the globals
first, the stack second, and start the heap after that. This reduces code
size, because references to globals can use small offsets. However, it
also means that stack overflow will often lead to corrupted globals.
The -Wl,--stack-first flag to clang instructs it to put the stack first,
followed by the globals and the heap, which may produce slightly larger
code, but will more reliably trap on stack overflow.
See the wasm-ld documentation for more information and additional flags.
Note flags related to dynamic linking, such [as] -shared and
--export-dynamic are not yet stable and are expected to change behavior
in the future.
lld:llvmgh
brigade.sh
Brigade is a platform for running scriptable, automated tasks.
Brigade was apparently archived by the CNCF.
See: cncf.iocncf.io
CNCF is the open source, vendor-neutral hub of cloud native computing,
hosting projects like Kubernetes and Prometheus to make cloud native
universal and sustainable.
Memory-Mapped Files in the Wasmtime Runtime
gh
To make things easier for people porting programs that just use mmap to
read and write files in a simple way, WASI libc includes a minimal
userspace emulation of mmap and munmap.
groups:G
There was a bug on OS X where mmap and fsync did not perform as
expected. This caused problems in bitcoin, leading to their famous
leveldb bug bounty. The solution was to change to purely stdio-based
writing so it works on all platforms without relying on Linux behavior.
pubs:og
feed.infoq.com
InfoQ provides software engineers with the opportunity to share experiences
gained using innovator and early adopter stage techniques and technologies
with the wider industry. We carefully curate and peer review everything
we publish.
ia
but as the broad-winged windward stranger shot nigh to her,
the boastful sails all fell together as blank bladders that
are burst, and all life fled from the smitten hull.
Moby Dick
iaiaiaiaiaiaia...
To this reasoning, founded upon figures, I had nothing to object.
-- iaiaiaiaia