Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Developing a high-performance web server in Concurrent Haskell

Simon Marlow

Abstract

Server applications, and in particular network-based server applications, place a unique combination of demands on a programming language: lightweight concurrency, high I/O throughput, and fault tolerance are all important. This paper describes a prototype web server written in Concurrent Haskell (with extensions), 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 reasonable 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.

Details

Publication typeArticle
Published inJournal of Functional Programming
URLhttp://www.haskell.org/~simonmar/papers/web-server-jfp.pdf
Pages359–374
Volume12
Number4+5
> Publications > Developing a high-performance web server in Concurrent Haskell