blob: 4cf2fadb0b6fdc98227f79c495cfea82f63ac1c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
-*- mode: org -*-
Nemesis is a prototype [[https://docs.python.org/3/library/asyncio.html][asyncio]] profiler which finds blocking
coroutines through use of [[https://github.com/plasma-umass/coz][causal profiling]]. Nemesis directly measures
optimization potential without instrumentation by predicting the
impact of how coroutine optimization has an inpact on the overall
throughput or latency of tasks scheduled in the event loop.
In order to try Nemesis, you need to specify the =loop= argument of
the =asyncio.run= method to the CausalEventLoop class. See the examples
folder for information on how to do this. In python versions older than
3.14, the canonical way to use a custom event loop is to set the [[https://docs.python.org/3/library/asyncio-policy.html][default
loop policy]].
As Nemesis only works for the =asyncio.SelectorEventLoop= class, it is only
usable for GNU/Linux or Mac systems.
|