Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 performance: add concurrency to all search/find functionality, lazy imports, etc #217

Merged
merged 23 commits into from
Nov 7, 2023

Conversation

epwalsh
Copy link
Owner

@epwalsh epwalsh commented Nov 4, 2023

  • Adds an async module with an abstract Executor class that mimics Python's concurrent.futures.Executor.
  • Adds two implementations of the Executor class: AsyncExecutor and ThreadPoolExecutor, which use coroutines and the Libuv threadpool, respectively, to run user functions concurrently.
  • Uses the AsyncExecutor in cmp_obsidian and other places that rely on search/find functionality.

@epwalsh epwalsh changed the title Add async module, concurrency to cmp source 🚀 performance: Add concurrency to all search/find functionality, lazy imports, etc Nov 7, 2023
@epwalsh epwalsh changed the title 🚀 performance: Add concurrency to all search/find functionality, lazy imports, etc 🚀 performance: add concurrency to all search/find functionality, lazy imports, etc Nov 7, 2023
@epwalsh epwalsh merged commit 8b572b7 into main Nov 7, 2023
5 checks passed
@epwalsh epwalsh deleted the multithreading branch November 7, 2023 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant