"i hate string parsing. especially in assembly."
Well. Interesting choice of side project!
Nice, I've been trying to learn assembly myself recently and built a little REPL to play around with it directly https://github.com/pirate/assembly-repl
But I've struggled with the IO parts, it seems every system is so different, it's hard to live without LLVM-IR as the middle layer abstracting away compiler and target differences.
This is an interesting project - kudos for executing it. I have to admit that when I was starting out in this field, I too fantasised about, "Would this software be faster, smaller and better in assembly?". Ofcourse, assembly programming made some sense in embedded electronics, which can be very resource constrained and even specialised for one particular application. Thinking from that aspect, perhaps you should consider making this a specialised program that runs on something like a Raspberry Pi - running such a web server directly on it, without an OS (or a very minimal OS), would make for a real cool and interesting project.
I have created the same project but for Risc-V https://github.com/triilman25/tcp-socket-in-riscv-assembly
There is the lesser-known web server rwasa written in flat assembler: https://2ton.com.au/rwasa/
I’m curious what the performance of this implementation is versus a server written in C, C++, or Rust. How much performance can a human still squeeze out at the assembly level versus today’s state of the art compilers?
I love this. I'm wondering: what skills did this project hone? What are you better at now than you were before you undertook it? Or was it just for fun?
Fun project.
How to do assembly only to build a web server for the hardware? I mean it may sound like building os from scratch.
[dead]
Meanwhile another 10000 developers published desktop apps, mobile apps and system software written in javascript. /s
The work of a true masochist, but in all seriousness, it’s a solid article explaining aarch64 assembly in plain language.