Base64 is great and widely used. I just wanted to experiment with a numeric-only representation. NUMBASE encodes everything into a single large number, which can make certain compression schemes like Huffman more efficient and opens up new ways to store or transmit data.
It depends on the data. Base64 adds ~33% overhead, while NUMBASE can be encoded into one large number at once and compressed with Huffman or other algorithms. For some data types this results in fewer extra characters.
Thanks, you’re absolutely right — performance needs to be tested on large inputs with proper speed and memory profiling.
I’ll run FSP on bigger datasets and compare it directly with zstd, brotli, gzip, etc. If needed, I’ll improve the algorithm to reduce overhead and make it scale better.
This was just an early proof-of-concept, but I agree the next step is serious benchmarking.
You've got some stiff competition out there, with companies like Google and Facebook funding development of these algorithms. I think the days of individual coders surpassing the current state of the art are gone. It's in the interest of companies that move huge amounts of data to be as efficient at it as possible.
It's definitely interesting that your method competes with Zip and such though. Keep it up!
Thanks for the inspiration! I realize it’s probably crazy to think my algorithm could ever become universally needed, but I’m not giving up. Even if it doesn’t turn into something as large-scale as I once dreamed, I believe it can still lead to something useful — and the journey itself is worth it.
Hi! Thanks for the feedback. To be honest, the current version of std_net won’t run directly on ESP32 or bare-metal — it relies on standard BSD sockets and a full OS environment.
That said, it can serve as a basis:
On ESP32, you could adapt it to use LWIP sockets via ESP-IDF or Arduino, implement non-blocking I/O with FreeRTOS tasks, and reduce buffer sizes.
On bare-metal, it would require a lightweight TCP/IP stack (like lwIP or uIP) and rewriting functions to be fully event-driven and minimal on dynamic memory.
Also, please keep in mind this was the first version — mainly to see if the library idea resonates. I didn’t plan to make it fully optimized or MCU-ready yet. Future versions will definitely include improvements for embedded environments.