

Life of an HTTP request, as seen by my toy web server - caio1982
http://tia.mat.br/blog/html/2014/10/06/life_of_a_http_request.html

======
vinkelhake
This is a very nice article, I'm just getting confused by the prefix trie
part. I'd be happy if someone could explain. The text says that the structure
only has eight pointers per node and fills one cache line exactly.

But looking at the code, the struct is larger than 64 bytes so it won't fit
into one cache line. Even if we just look at the first 64 bytes of the struct
(the array), the nodes are allocated using plain calloc which (on your typical
linux system, but not guaranteeed) is going to give you memory aligned to 16
bytes.

~~~
acidx
Author here. Yes, you're right -- the whole structure is larger than 64 bytes,
but the pointers to the child nodes all fit in 8 pointers only (in contrast
with the previous version, which had 256 pointers instead). Maybe I need to
adjust the wording to make this clear.

~~~
mangamadaiyan
The section on Coroutines links to itself; perhaps you meant it to link to
your other article on Coroutines?
([http://tia.mat.br/blog/html/2012/09/29/asynchronous_i_o_in_c...](http://tia.mat.br/blog/html/2012/09/29/asynchronous_i_o_in_c_with_coroutines.html))

~~~
acidx
It was supposed to be linking to the Coroutine article on Wikipedia. Fixed.

------
Nican
I wonder how this compares to [http://gwan.com/](http://gwan.com/)

~~~
mahmud
Last time GWAN came up it didn't fare well.

[https://news.ycombinator.com/item?id=4109698](https://news.ycombinator.com/item?id=4109698)

------
duongkai
A little question: what is the name of the color scheme using in this article?

~~~
gnocchi
Looks like solarized
[https://github.com/altercation/solarized](https://github.com/altercation/solarized)

------
enapupe
../../

~~~
enapupe
../

------
arthurcolle
What is the font you are using for source code?

~~~
necubi
It's Source Code Pro
([http://store1.adobe.com/cfusion/store/html/index.cfm?event=d...](http://store1.adobe.com/cfusion/store/html/index.cfm?event=displayFontPackage&code=1960)).

