import perf DUP = 4096 runner = perf.Runner() for selector in ('SelectSelector', 'PollSelector', 'EpollSelector'): setup = ';'.join(( 'import os, selectors', 's=selectors.%s()' % selector, 'r,w=os.pipe()', 's.register(r, selectors.EVENT_READ)' )) code = ';'.join(( 's.modify(r, selectors.EVENT_WRITE)', 's.modify(r, selectors.EVENT_READ)', )) runner.timeit( '%s.modify' % selector, code, setup, duplicate=DUP)