Developing High-Performance Server Applications in Haskell, Case Study: A Haskell Web Server

Simon Marlow
2001 Electronical Notes in Theoretical Computer Science  
Server applications, and in particular network-based server applications, place a unique combination of demands on a programming language: lightweight concurrency and high I/O throughput are both important. This paper describes a prototype web server written in Concurrent Haskell, and presents two useful results: firstly, a conforming server could be written with minimal effort, leading to an implementation in less than 1500 lines of code, and secondly the naive implementation produced
more » ... e performance. Furthermore, making minor modifications to a few time-critical components improved performance to a level acceptable for anything but the most heavily loaded web servers.
doi:10.1016/s1571-0661(05)80548-1 fatcat:a7x5prwgf5ga7j46dgs66jb6yu