Hostname: page-component-76fb5796d-22dnz Total loading time: 0 Render date: 2024-04-25T14:58:16.967Z Has data issue: false hasContentIssue false

Developing a high-performance web server in Concurrent Haskell

Published online by Cambridge University Press:  08 July 2003

SIMON MARLOW
Affiliation:
Microsoft Research Ltd., 7 JJ Thompson Avenue, Cambridge CB3 0FB, UK (e-mail: simonmar@microsoft.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

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.

Type
Research Article
Copyright
© 2002 Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.