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

一括実行の高速化 Take 1 #312

Open
kmycode opened this issue May 21, 2024 · 3 comments
Open

一括実行の高速化 Take 1 #312

kmycode opened this issue May 21, 2024 · 3 comments
Labels
app bug Something isn't working cost-high
Milestone

Comments

@kmycode
Copy link
Owner

kmycode commented May 21, 2024

永遠のテーマ、おそらく実現はしない

案1:
あらかじめ10万件のデータをプリロードしておき、DBではなくそこから検索する
検索して規定件数に満たなかった場合はDBから残りを検索する

@kmycode kmycode added bug Something isn't working app cost-high labels May 21, 2024
@kmycode kmycode added this to the 5.0.0-beta milestone May 21, 2024
@kmycode
Copy link
Owner Author

kmycode commented May 21, 2024

ためしにPureRaceFinderQueryable.AsQueryableを使ってみたところ、わずかな修正で正常に動く様子だった
IAsyncEnumerableを実装してないためToArrayAsyncが呼び出せない点には注意が必要だが、FindRaceHorsesAsyncの呼び出し方を大きく変える必要はなさそう

ただし検索終了後もDBにクエリを発行するのでそこにも注意

Queryable.AsQueryableってもともと何のために作られたメソッドなんだろう)

@currysita
Copy link

よく解ってないのですが、プリロードするというのはメモリ上に残しておく感じなのでしょうか?redisのような仕組みでしょうか?
https://zenn.dev/nameless_sn/articles/why_is_redis_so_fast

@kmycode
Copy link
Owner Author

kmycode commented Dec 30, 2024

@currysita (いつやるか分かってないですが)
アプリケーションのヒープ領域(メモリ)での運用を考えてました。Redisのような別途ユーザー側でインストール作業が必要なものはやりたくないです
もしかして、アプリを終了したあともキャッシュし続ける仕組みが欲しいのでしょうか?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app bug Something isn't working cost-high
Projects
None yet
Development

No branches or pull requests

2 participants