Everything that Fabian and Nix have said is correct (thanks to both of you).

>>> Now I'm learning ansi C and socket programming these days.

Please note that Polipo was written when I was young, dashing, and
wanted to make a statement against the "premature optimisation is evil"
dictatorship of my elders.  There's some really hairy code in Polipo, so
don't worry if you don't understand everything (I'm not sure if I do any
longer).

In the last five years, I've spent much of my waking time trying to
understand what's going on in Polipo (and other hairy, event-driven
code), and how we can make it more accessible to the hungry masses.
Together with Gabriel Kerneis, we've written down much of what we've
learnt in what we hope is an understandable way.

I'd recommend that you start with a short and sweet benchmarking pape
which will give you an intuition about *why* we want to code in that
weird, event-driven style.  (Unfortunately, we never managed to get it
published.  We probably didn't try hard enough.)

    Gabriel Kerneis and Juliusz Chroboczek.  "Are events fast?".  2009.
    
http://www.pps.univ-paris-diderot.fr/~kerneis/research/files/are-events-fast.pdf

If you want to understand the theory behind event-driven style, here's
a talk that I've designed for grad students:

    Juliusz Chroboczek.  Sequentialising a concurrent program using
    continuation-passing style.  2012.
    http://www.pps.univ-paris-diderot.fr/~jch/research/popl12.pdf

If you want to learn how I think that event-driven style *should* be
done, I most warmly recommend the following short paper:

    Juliusz Chroboczek and Gabriel Kerneis.  CPC: programming with
    a massive number of lightweight threads.  2011.
    http://www.pps.univ-paris-diderot.fr/~jch/research/hekate.pdf

(There's also a long journal paper and a forthcoming Ph.D. thesis on the
subject, but I'll let you hunt them down yourself if you're that
interested.)

Finally, Matthieu Boutier and I are currently working on generalising
these techniques to asynchronous I/O, the style of I/O that's efficient
under Windows (the original idea is due to Greg Hazel).  Matthieu has
some great results (as in getting Windows on an old laptop to scale
linearly up to 500 clients), we're writing this stuff up right now.

-- Juliusz

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Polipo-users mailing list
Polipo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/polipo-users

Reply via email to