From 0e0fffc138db1cb70f1fc5056d0c3607343d7078 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 4 Jul 2016 12:57:08 +0300 Subject: [PATCH] uasyncio.core: Optimize case of resuming coro with no args. Don't create a new tuple with empty arguments for coro.send(), just use next(coro). --- uasyncio.core/uasyncio/core.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/uasyncio.core/uasyncio/core.py b/uasyncio.core/uasyncio/core.py index 0bb8928f..10e97070 100644 --- a/uasyncio.core/uasyncio/core.py +++ b/uasyncio.core/uasyncio/core.py @@ -64,11 +64,12 @@ class EventLoop: else: delay = 0 try: - if args == (): - args = (None,) if __debug__: log.debug("Coroutine %s send args: %s", cb, args) - ret = cb.send(*args) + if args == (): + ret = next(cb) + else: + ret = cb.send(*args) if __debug__: log.debug("Coroutine %s yield result: %s", cb, ret) if isinstance(ret, SysCall1):