feat: use uvloop or winloop to speed up asyncio

This commit is contained in:
WorldObservationLog
2024-05-22 14:05:11 +08:00
parent cc65d4782a
commit d5c077a263
4 changed files with 11 additions and 1773 deletions

View File

@@ -21,7 +21,7 @@ jobs:
poetry run python -m pip install nuitka poetry run python -m pip install nuitka
- name: Build - name: Build
run: | run: |
poetry run python -m nuitka main.py --assume-yes-for-downloads --standalone --follow-imports --include-data-dir=assets=assets --include-data-files=config.example.toml=config.toml --include-data-files=agent.js=agent.js --include-module=mitmproxy_windows poetry run python -m nuitka main.py --assume-yes-for-downloads --standalone --follow-imports --include-data-dir=assets=assets --include-data-files=config.example.toml=config.toml --include-data-files=agent.js=agent.js --include-module=mitmproxy_windows --include-module=winloop
- name: Rename - name: Rename
run: | run: |
ren main.dist AppleMusicDecrypt ren main.dist AppleMusicDecrypt

View File

@@ -1,8 +1,15 @@
import asyncio import asyncio
import sys
from src.cmd import NewInteractiveShell from src.cmd import NewInteractiveShell
if __name__ == '__main__': if __name__ == '__main__':
if sys.platform in ('win32', 'cygwin', 'cli'):
import winloop
winloop.install()
else:
import uvloop
uvloop.install()
loop = asyncio.get_event_loop() loop = asyncio.get_event_loop()
cmd = NewInteractiveShell(loop) cmd = NewInteractiveShell(loop)
try: try:

1772
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,9 @@ tenacity = "^8.2.3"
prompt-toolkit = "^3.0.43" prompt-toolkit = "^3.0.43"
mitmproxy = "^10.3.0" mitmproxy = "^10.3.0"
async-lru = "^2.0.4" async-lru = "^2.0.4"
winloop = {version = "^0.1.3", platform = "win32"}
uvloop = [{version = "^0.19.0", platform = "linux"},
{version = "^0.19.0", platform = "darwin"}]
[build-system] [build-system]
requires = ["poetry-core"] requires = ["poetry-core"]