NASM - The Netwide Assembler

NASM Forum => Example Code => Topic started by: Rodrigo Robles on February 14, 2024, 04:14:51 AM

Title: Assembly x86_64 Linux Web API
Post by: Rodrigo Robles on February 14, 2024, 04:14:51 AM
I wrote a POC of a x86_64 Assembly Web API to test its viability, got carried away and ended up with five Assembly Web APIs testing different possible architectures.

This is probably the fastest Web API of the world.

I wrote a paper draft about this experiment: https://drive.google.com/uc?id=18fSnr4ZVtPJbnq9v8xogodC_jklb75xf&export=download (https://drive.google.com/uc?id=18fSnr4ZVtPJbnq9v8xogodC_jklb75xf&export=download)

In the paper I explain in detail the architectures I tested:
1. asmapi-monoproc (single process): https://gitlab.com/RodrigoRobles/asmapi-monoproc
2. asmapi (multi process): https://gitlab.com/RodrigoRobles/asmapi
3. asmapi-threadpool: https://gitlab.com/RodrigoRobles/asmapi-threadpool
4. asmapi-threadpool-futex: https://gitlab.com/RodrigoRobles/asmapi-threadpool-futex
5. asmapi-lateaccept (thread pool w/ preforking): https://gitlab.com/RodrigoRobles/asmapi-lateaccept

The five APIs use a 0 dependency architecture, not depending on any external library, neither libc, only talking directly with the kernel.