New submission from Jimmy Lai: get_event_loop() and _get_running_loop() can be faster.
Case Time Mean Improve
No Change 7.323 +- 0.172 7.323 0.00%
Remove class _RunningLoop 6.513 +- 0.115 6.513 -11.06%
Expand _get_running_loop() inside get_event_loop() 5.851 +- 0.160 5.851
-20.10%
Use Tuple instead of two attributes 6.179 +- 0.099 6.179 -15.62%
Tuple + Remove _RunningLoop 6.026 +- 0.123 6.026 -17.71%
Tuple + return ternary + Remove _RunningLoop 6.060 +- 0.111 6.06 -17.25%
Combine all four optimizations 4.735 +- 0.111 4.735 -35.34%
Remove class _RunningLoop + Use Tuple instead of two attributes 6.241 +- 0.097
6.241 -14.78%
Experimenting with different techniques to optimize get_event_loop and
_get_running_loop.
After discuss with Yuri, decide not to expand _get_running_loop inside
get_event_loop.
Combine tuple in _running_loop and Remove _RunningLoop (just use
threading.local) can achieve the best improvement: 17.71% faster.
----------
components: asyncio
messages: 301342
nosy: jimmylai, yselivanov
priority: normal
pull_requests: 3360
severity: normal
status: open
title: Optimize get_event_loop and _get_running_loop
versions: Python 3.6, Python 3.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue31350>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
