wajic VS memory-control

Compare wajic vs memory-control and see what are their differences.

wajic

WebAssembly JavaScript Interface Creator (by schellingb)

memory-control

A proposal to introduce finer grained control of WebAssembly memory. (by WebAssembly)
SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
wajic memory-control
6 7
209 45
1.9% -
0.0 4.1
over 3 years ago 5 months ago
JavaScript WebAssembly
zlib License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

wajic

Posts with mentions or reviews of wajic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-29.
  • CoWasm: An alternative to Emscripten, based on Zig (demo: Python in the browser)
    9 projects | news.ycombinator.com | 29 Oct 2022
    This is a slim alternative to Emscripten which focuses only on the C/C++ <=> JS interoperability part:

    https://github.com/schellingb/wajic

  • From a WebAssembly Perspective
    5 projects | news.ycombinator.com | 25 Aug 2022
    There's actually a super interesting project called wajic here:

    https://github.com/schellingb/wajic

    It's basically clang plus wasm-opt and some magic pixie dust which enables some of the most important features of Emscripten, but without the whole 'technology zoo' :)

  • Zig and WASM
    11 projects | news.ycombinator.com | 13 Jul 2022
  • WebAssembly and C++
    6 projects | news.ycombinator.com | 27 Jun 2022
    There's now an interesting alternative to Emscripten called WaJIC:

    https://github.com/schellingb/wajic

    Enables most of the "Emscripten magic" (like embedding Javascript code into C/C++ files), but in a more bare bones package (apart from clang it essentially just uses the wasm-opt tool from Binaryen for post-processing).

    (to be clear, wajic has fewer out-of-the-box features than Emscripten, but it might be an alternative for very small projects which don't need all the compatibility shims which are coming with Emscripten, while still providing tools for calling between C/C++ and JS.

  • Show HN: How to compile C/C++ for WASM, pure Clang, no libs, no framework
    13 projects | news.ycombinator.com | 11 Apr 2022
    Since I haven't seen it mentioned in the comments yet, here's another interesting project in the general area of "WASM without Emscripten":

    https://github.com/schellingb/wajic

    This provides an alternative implementation of Emscripten's EM_JS() magic (embed Javascript snippets right in the C/C++ source code), but without the Emscripten SDK. It still needs some additional tools next to Clang, so it sits somewhere between "pure Clang" and "full Emscripten SDK".

  • Writing bindings to `dos-like` for Rust: some lessons learned
    5 projects | dev.to | 15 Mar 2022
    Alas, although there is WebAssembly support in the original dos-like, it is still not supported in the bindings for Rust. It would require a Rust toolchain to integrate with WAjic, which I am pretty much unfamiliar with. If you have any idea on how to achieve this, I would love to know.

memory-control

Posts with mentions or reviews of memory-control. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-12-20.
  • LAPACK in your web browser
    9 projects | dev.to | 20 Dec 2024
    Apart from WebAssembly modules operating exclusively on scalar input arguments (e.g., computing the sine of a single number), every WebAssembly module instance must be associated with WebAssembly memory, which is allocated in fixed increments of 64KiB (i.e., a "page"). And importantly, as of this blog post, WebAssembly memory can only grow and never shrink. As there is currently no mechanism for releasing memory to a host, a WebAssembly application's memory footprint can only increase. These two aspects combined increase the likelihood of allocating memory which is never used and the prevalence of memory leaks.
  • Memory Control Proposal for WebAssembly
    1 project | news.ycombinator.com | 29 Jul 2024
  • Extism Makes WebAssembly Easy
    13 projects | news.ycombinator.com | 4 Oct 2023
    Indeed, webassembly is moving extremely slowly. I started a project years ago expecting https://github.com/WebAssembly/memory-control/blob/main/prop... and https://github.com/WebAssembly/memory64 to be fixed at some point. Neither are yet, and the project still suffers from it to this day.

    I think wasm is still great without these fixes, but I have lost confidence in the idea that wasm will reach its full potential any time soon.

  • The Tug-of-War over Server-Side WebAssembly
    12 projects | news.ycombinator.com | 24 Mar 2023
    Additionally, googlers are championing memory control https://github.com/WebAssembly/memory-control/blob/main/prop..., which provides memory protection.
  • How do Rust WebAssembly apps free unused memory?
    5 projects | /r/rust | 26 Feb 2023
    But researching it a bit I found this issue, so it clearly seems to be a problem for a bunch of people out there. And apparently both V8 and Spidermonkey have already addressed this quite recently, see this issue.
  • WebAssembly and C++
    6 projects | news.ycombinator.com | 27 Jun 2022
    FWIW there is a proposal in the works to add page-based protection, which will allow unmapping the 0 page, restoring the trap-on-null-deref behavior that is important for many languages with safety checks.

    https://github.com/WebAssembly/memory-control

What are some alternatives?

When comparing wajic and memory-control you can also consider the following projects:

rusty-dos - A Rust skeleton for an MS-DOS program for IBM compatibles and the PC-98, including some PC-98-specific functionality

multi-memory - Multiple per-module memories for Wasm

browser_wasi_shim - A WASI shim for in the browser

clang-wasm - How to build webassembly files with nothing other than standard Clang/llvm.

component-sandbox-demo

SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?