Libdill is a C library that makes writing structured concurrent programs easy. There is no interaction between threads. Each thread is treated as a separate process. Channels are always unbuffered. Coroutines can be canceled. Generally speaking, though, libdill's concurrency primitives are only a bit slower than basic C flow control statements. A context switch has been seen to execute in as little as 6 ns, with coroutine creation taking 26 ns. Passing a message through a channel takes about 40 ns.