Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Life of an HTTP request, as seen by my toy web server (tia.mat.br)
117 points by caiobegotti on Oct 6, 2014 | hide | past | favorite | 12 comments


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.


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.


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...)


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


I wonder how this compares to http://gwan.com/


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

https://news.ycombinator.com/item?id=4109698


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



../../


../


What is the font you are using for source code?





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: