woo

A fast non-blocking HTTP server on top of libev

Github星跟踪图

Woo

Build Status

Woo is a fast non-blocking HTTP server built on top of libev. Although Woo is written in Common Lisp, it aims to be the fastest web server written in any programming language.

Warning

This software is still BETA quality.

How fast?

Benchmark graph

See benchmark.md for the detail.

Usage

Start a server

(ql:quickload :woo)

(woo:run
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World"))))

Start with Clack

(ql:quickload :clack)

(clack:clackup
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World")))
  :server :woo
  :use-default-middlewares nil)

Cluster

(woo:run
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World")))
  :worker-num 4)

Signal handling

When the master process gets these signals, it kills worker processes and quits afterwards.

  • QUIT: graceful shutdown, waits for all requests are finished.
  • INT/TERM: shutdown immediately.

Benchmarks

See benchmark.md.

Installation

Woo has switched the backend from cl-async to libev after the latest Quicklisp dist release. If you're gonna run the benchmarks by your own, please use the latest one.

Requirements

  • UNIX (GNU Linux, Mac, *BSD)
  • SBCL
  • libev

Installing via Quicklisp

(ql:quickload :woo)

See Also

Author

Copyright (c) 2014 Eitaro Fukamachi & contributors

License

Licensed under the MIT License.

主要指标

概览
名称与所有者fukamachi/woo
主编程语言Common Lisp
编程语言Ruby (语言数: 7)
平台
许可证MIT License
所有者活动
创建于2014-10-14 12:30:03
推送于2024-09-06 01:48:29
最后一次提交2024-09-06 01:47:59
发布数0
用户参与
星数1.3k
关注者数61
派生数98
提交数422
已启用问题?
问题数70
打开的问题数22
拉请求数41
打开的拉请求数4
关闭的拉请求数8
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?