In the series of Fast Asynchronous Python web servers
Posted on 2019-06-15 08:22:00 from Vincent in OpenBSD fapws
As already discussed on this blog, I'm a user of Fapws3 since several years. I like his small foot print in memory, simplicity to use in Python. But it runs only with Python-2.x and cannot manage correctly POST commands with big files.
So, I've decided to jump into the C programming language and develop Fapws4. An evolution of Fapws3, that do not have those pain points.
In this blog, I will show you first results of Fapws4
Introduction
This is a small blog about Fapws4. I'll present Fapws4 in the next days; explaining the how, what, why, ...
I've call it Fapws4, because it is compliant with the basic principles of Fapws3: small memory foot print, fast, asynchronous and compliant with wsgi. Nevertheless, it's a kind of evolution since it is based on Python-3.x. It use libuv instead of libev
Fapws4 is still in the early stages of development, but I cannot resist to share the results I already have with it.
I'm developing it since several weeks, but It can already manage several features:
- fast
- light
- wsgi compliant
Here after a comparison of both, fapws3 and Fapws4 running on my Dell laptop on OpenBSD 6.5:
Memory Comparison
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
vi 41745 0.0 0.1 7136 11636 p3 I+ Thu08PM 0:03.55 fapws4 hello.py
vi 64982 0.0 0.2 6012 12724 p5 I+ Thu08PM 0:04.77 python2 hello_world.py
Speed comparison
Stay tuned :-)