  Neuromorphic sensors imitate the sparse and event-based communication seen in
biological sensory organs and brains. Today's sensors can emit many millions of
asynchronous events per second, which is challenging to process on conventional
computers. To avoid bottleneck effects, there is a need to apply and improve
concurrent and parallel processing of events.
  We present AEStream: a library to efficiently stream asynchronous events from
inputs to outputs on conventional computers. AEStream leverages cooperative
multitasking primitives known as coroutines to concurrently process individual
events, which dramatically simplifies the integration with event-based
peripherals, such as event-based cameras and (neuromorphic) asynchronous
hardware. We explore the effects of coroutines in concurrent settings by
benchmarking them against conventional threading mechanisms, and find that
AEStream provides at least twice the throughput. We then apply AEStream in a
real-time edge detection task on a GPU and demonstrate 1.3 times faster
processing with 5 times fewer memory operations.
