-
Notifications
You must be signed in to change notification settings - Fork 205
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
Improve: spekaer_infoをasync化 #1073
Improve: spekaer_infoをasync化 #1073
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
こちらで動かしてみた感じは特に早くも遅くもなりませんでした。SSDだから・・・?
FastAPIはaiofilesではなくanyioを使っているらしいです。
こちらに乗り換えても良さそうですが、どうでしょうか。
(Python詳しくないので妥当なのかどうかわかりませんが。。少なくとも最近のDL数だけだとanyioのが多そう。)
なぜかuser_dictが遅くなりました(何故???)
これは検証しておくと将来的にも勉強になるかもとちょっと思いました!
APIを直接叩いてみた場合はどうかとか、テストを実行してみるとどうかとか、直接関数を叩くとどうかとか。
まだ仮説ですが、
これが
こうなったのかも? |
プロファイリング取るとか色々やってました、逆に悪化するパターンもありそうなのでCloseします... |
@sevenc-nanashi なるほどです!! 謎ですねぇ・・・! 辞書のとこもasyncにしないととかなんですかね。 せっかくなので、いろいろ試したときに書いたコードとかを雑でも良いのでここに貼っておくと、あとあと再開or引き継ぎしやすいかもとか思いました。 あとはまあただのアイデアですが、Github Actionsで実測してみると条件揃えやすいかもですね! |
Async:https://share.firefox.dev/3wxrqX6 ...となるとどこがボトルネックになってるんでしょうか? いろいろというのも、このパフォーマンス向上やろうと思ったのはRustで実装し直したときは一瞬(0.6秒)で終わったからなんですよね。 https://share.firefox.dev/49r6wHL ので、Pythonもがんばればもう少し速くできるんじゃないかな~って思って、それのがんばりの1つとしてasync化を試していた感じです。 |
なるほどです! まあでもさすがにスピードが出てるのはそれだけじゃないと思うので、全然もっと早くできそうな気配は感じますね! |
内容
speaker_info、singer_infoをasyncにすることで高速化します。
関連 Issue
スクリーンショット・動画など
user_dictのリクエストが始まった時点で終了。
same.mp4
個別
Before
VOICEVOX.-.Ver.999.999.999.Mozilla.Firefox.2024-02-26.00-59-59.mp4
After
VOICEVOX.-.Ver.999.999.999.Mozilla.Firefox.2024-02-26.01-00-40.mp4
その他