Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hi HN!

I'm Syrus, from the Wasmer team. We have been working in something similar, but with a special focus on maintainability and with bigger goals in mind:

https://wasmer.io/

Here is the article about our journey on Running Nginx (which funnily enough we actually accomplished just before wasmjit):

https://medium.com/@syrusakbary/running-nginx-with-webassemb...



> but much more maintainable.

> we actually accomplished just before wasmjit

> Wasmer is the first native WebAssembly runtime [...]

Whoa there. I like both projects and respect competition as much as the next guy, but maintainability is subjective and being first is of little importance.


True! This statements without analysis are wet paper.

In the article I've linked there is a better analysis on why:

1. in wasmjit, the machine instructions are hardcoded into the runtime (this is like creating your own LLVM, by hand... and only available for x86)

2. it doesn't have a single test

I was talking about my own experience here, because I tried to contribute to wasmjit before creating Wasmer... and was quite challenging!

It might be useful to check how many people interacted with the code in each of this projects! ;)

Also note the timeline that took for this projects to accomplish the same: wasmer (<2 months) wasmjit (6 months)


You may be correct on all those points but still come off as rude. And I think you're just trying to be helpful and steer people in the direction that you think is right. However, given the context of where you're doing it, it feels like someone is trying to ruin someone else's parade.


They are competing and think theirs is better. They are trying to get people to look at the competition. That’s not ruining anything for anyone


Then the discussion should have been a post unto itself, not a comment piggy-backing on another project's thread. I dunno, seems like basic netiquette to me.

But I agree that if you think your solution is better, there's really nowhere better to put it out there than in front of eyes that are looking at something similar.


Piggy backing rubs the wrong way, but sometimes there is interesting content.

Personally, I would challenge the piggybacker to show me something.

Talk is cheap.


I apologize if it felt that way.

That was not the intention but rather to showcase and make sure everyone understands the tradeoffs of each of this projects :)


As an alternative form of promotion, it might be interesting to write an article about the performance issues involved in writing a wasm engine.


Is that an honest time comparison? It looks like Wasmjit implemented a parser and jit compiler from scratch. Also, their emscripten implementation is much more fleshed out and it works in kernel space. Wasmer doesn't handle signals or multiple processes in Nginx, while Wasmjit does.


We just focused on approaching faster to market.

Because of that, we prefer to leverage on existing open-source projects (for example, for parsing or for the IR) that are already working, than to create everything from scratch.


Implementing a half broken nginx is going to faster market? That’s an interesting strategy.


This competition seems unnecessarily heated but I’m at least happy there’s so many exciting wasm projects out there.

Also your two projects must be collaborating somewhat because it really looks the nginx.wasm file you’re distributing is the one wasmjit compiled! Correct me if I’m wrong but I don’t think there’s any other way they’d end up being byte for byte identical.


Here is our compiled version of Nginx... if you want to take a look! (or compile it yourself)

https://github.com/wasmerio/nginx/blob/master/objs/nginx.was...


looks like your docs updated recently, but they used to refer to this identical nginx.wasm which made me think you were collaborating somewhat! https://github.com/wasmerio/wasmer/blob/master/examples/ngin...


I don’t have a horse in the race but I could at least hack around with wasmer in 15 minutes. It definitely gets the approachability thing right.


Can you run Wasmer in the Linux kernel? What makes Wasmjit stand out from all other WebAssembly virtual machines (WAVM, Wasmer, Life, wasmi, wagon, ...) is that its main goal is to run WebAssembly in kernel space.


That's right. You can run Wasmer in Linux, but not yet in the kernel (Ring 0). It will still run at native speed though.

Running in Ring 0 might open bigger risks regarding security, and we want to make sure everything is under control (with external security audits) before approaching that space.

Here's a more detailed answer about its risks: https://news.ycombinator.com/item?id=18587353


I was looking into something like this in order to port a POSIX-only program to run on Windows.

Does anyone know how to link in native OpenGL system libraries? I'm looking to link to native graphics libraries so that I don't have to pass through Emscripten's OpenGL -> WebGL emulation layer. I'd like to drop the browser render layer all together and just have GLFW or SDL take care of rendering native client windows.


That's something that we also are super interested on as well. It should be easy to accomplish with the right tools :)


I was looking into (ab)using wasmer for compilig dylibs to wasm and load them with Python. Do you know if someone already tried something similar?


It should be feasible! No one has tried it yet afaik, but I think it's a great idea :)


How are you different from wasmtime?




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: