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