The overall hardware package is in the same ballpark as an Arduino (25% less storage, but better processor and RAM), and people put servers on those . . . well, I won’t say “all the time”, but it isn’t an uncommon project, either.
I wonder if anyone’s ever bootstrapped Forth on one of these vapes—given that there are implementations <512b for other arches, it should fit—and then you could program on it directly rather than flashing machine code compiled elsewhere.
(The issue with 10-year-old phones on Google is that Google isn’t designed for low-end hardware anymore. It’s overloaded with scripts, styles, and other things that aren’t necessary for doing its job. Present a ten-year-old phone with a page with no client-side script and restrained styling, and I’d bet it would do fine.)
The webpage he hosted was a copy of his own blog post explaining the hack. It just about fit into the 20KB of available flash storage.
We can infer that on every request, the whole static page needs to be spooled out of flash onto RAM (in chunks no larger than 3k), then sent out over Ethernet.
That’s an awful lot of work for the chip. I’m not surprised at all that it errors out under heavy load. The request queue probably grows until it collides with the buffer that bucket brigades the web page to the network.
I’m afraid to look up what optimizations were necessary to get that level of performance. It’s damned impressive work.
Wild that you can serve anything with that hardware. Granted, static websites are basically just sending files over the wire.
The 10 year old phone OS probably is slowing all of that. If they flashed phone as a dedicated webserver it would probably be fine
The overall hardware package is in the same ballpark as an Arduino (25% less storage, but better processor and RAM), and people put servers on those . . . well, I won’t say “all the time”, but it isn’t an uncommon project, either.
I wonder if anyone’s ever bootstrapped Forth on one of these vapes—given that there are implementations <512b for other arches, it should fit—and then you could program on it directly rather than flashing machine code compiled elsewhere.
(The issue with 10-year-old phones on Google is that Google isn’t designed for low-end hardware anymore. It’s overloaded with scripts, styles, and other things that aren’t necessary for doing its job. Present a ten-year-old phone with a page with no client-side script and restrained styling, and I’d bet it would do fine.)
We can infer that on every request, the whole static page needs to be spooled out of flash onto RAM (in chunks no larger than 3k), then sent out over Ethernet.
That’s an awful lot of work for the chip. I’m not surprised at all that it errors out under heavy load. The request queue probably grows until it collides with the buffer that bucket brigades the web page to the network.
I’m afraid to look up what optimizations were necessary to get that level of performance. It’s damned impressive work.
Ah, but what if you string together 100 of these as a cluster? Now u get a whole 2Mb of flash storage!