From cde27078caef0210bd8865d16d74fb9bb8e32943 Mon Sep 17 00:00:00 2001 From: Ryo Yamashita Date: Mon, 23 Dec 2024 02:33:55 +0900 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20#902=20=E3=81=AE=E6=B3=A8=E6=84=8F?= =?UTF-8?q?=E6=9B=B8=E3=81=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/voicevox_core/src/nonblocking.rs | 4 ++++ crates/voicevox_core/src/synthesizer.rs | 9 +++++++++ .../python/voicevox_core/_rust/asyncio.pyi | 3 ++- .../python/voicevox_core/asyncio.py | 11 +++++++++++ .../python/voicevox_core/blocking.py | 2 ++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/crates/voicevox_core/src/nonblocking.rs b/crates/voicevox_core/src/nonblocking.rs index 7187c57fa..a8b230fa7 100644 --- a/crates/voicevox_core/src/nonblocking.rs +++ b/crates/voicevox_core/src/nonblocking.rs @@ -9,8 +9,12 @@ //! スレッドプールのサイズは、blockingクレートの説明にある通り`$BLOCKING_MAX_THREADS`で調整すること //! ができる。 //! +//! また未調査ではあるが、[`cpu_num_threads`]を`0`にするのは適切ではない可能性がある ([VOICEVOX/voicevox_core#902])。 +//! //! [blocking]: https://docs.rs/crate/blocking //! [pollster]: https://docs.rs/crate/pollster +//! [VOICEVOX/voicevox_core#902]: https://github.com/VOICEVOX/voicevox_core/issues/902 +//! [`cpu_num_threads`]: crate::InitializeOptions::cpu_num_threads pub use crate::{ engine::open_jtalk::nonblocking::OpenJtalk, diff --git a/crates/voicevox_core/src/synthesizer.rs b/crates/voicevox_core/src/synthesizer.rs index e9240de86..f42a870ed 100644 --- a/crates/voicevox_core/src/synthesizer.rs +++ b/crates/voicevox_core/src/synthesizer.rs @@ -97,6 +97,15 @@ pub enum AccelerationMode { #[derive(Default)] pub struct InitializeOptions { pub acceleration_mode: AccelerationMode, + + /// CPU利用数を指定。0を指定すると環境に合わせたCPUが利用される。 + /// + /// # Performance + /// + /// 未調査ではあるが、[非同期版API]においては`0`にするのは適切ではない可能性がある ([VOICEVOX/voicevox_core#902])。 + /// + /// [非同期版API]: crate::nonblocking + /// [VOICEVOX/voicevox_core#902]: https://github.com/VOICEVOX/voicevox_core/issues/902 pub cpu_num_threads: u16, } diff --git a/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi b/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi index 4d665d1cc..8a80d7e5f 100644 --- a/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi +++ b/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi @@ -157,7 +157,8 @@ class Synthesizer: acceleration_mode ハードウェアアクセラレーションモード。 cpu_num_threads - CPU利用数を指定。0を指定すると環境に合わせたCPUが利用される。 + CPU利用数を指定。0を指定すると環境に合わせたCPUが利用される。未調査ではあるが、 ``0`` にするのは適切ではない可能性がある + (`VOICEVOX/voicevox_core#902 `_)。 """ def __init__( diff --git a/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py b/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py index 0dc5e0adb..4b0cc534e 100644 --- a/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py +++ b/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py @@ -1,3 +1,14 @@ +# TODO: Rust API同様に、`$BLOCKING_MAX_THREADS`について言及 +""" +非同期API。 + +Performance +----------- + +未調査ではあるが、 ``cpu_num_threads`` に ``0`` にするのは適切ではない可能性がある +(`VOICEVOX/voicevox_core#902 `_)。 +""" + # pyright: reportMissingModuleSource=false from ._rust.asyncio import Onnxruntime, OpenJtalk, Synthesizer, UserDict, VoiceModelFile diff --git a/crates/voicevox_core_python_api/python/voicevox_core/blocking.py b/crates/voicevox_core_python_api/python/voicevox_core/blocking.py index 631eb6a81..3e344f75b 100644 --- a/crates/voicevox_core_python_api/python/voicevox_core/blocking.py +++ b/crates/voicevox_core_python_api/python/voicevox_core/blocking.py @@ -1,3 +1,5 @@ +# TODO: Rust API同様のmodule levelのdocstringを書く + # pyright: reportMissingModuleSource=false from ._rust.blocking import ( AudioFeature, From b72f8260b006612439cf34bccda46036358caef0 Mon Sep 17 00:00:00 2001 From: Ryo Yamashita Date: Mon, 23 Dec 2024 18:49:46 +0900 Subject: [PATCH 2/2] =?UTF-8?q?"0=E3=81=AF=E9=81=A9=E5=88=87=E3=81=A7?= =?UTF-8?q?=E3=81=AF=E3=81=AA=E3=81=84=E3=81=8B=E3=82=82"=20=E2=86=92=20"?= =?UTF-8?q?=E7=89=A9=E7=90=86=E3=82=B3=E3=82=A2=E3=81=AE=E6=95=B0+1?= =?UTF-8?q?=E3=81=8C=E9=81=A9=E5=88=87=E3=81=8B=E3=82=82"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/voicevox_core/src/nonblocking.rs | 3 ++- crates/voicevox_core/src/synthesizer.rs | 3 ++- .../python/voicevox_core/_rust/asyncio.pyi | 2 +- .../voicevox_core_python_api/python/voicevox_core/asyncio.py | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/voicevox_core/src/nonblocking.rs b/crates/voicevox_core/src/nonblocking.rs index a8b230fa7..d65a3b7c0 100644 --- a/crates/voicevox_core/src/nonblocking.rs +++ b/crates/voicevox_core/src/nonblocking.rs @@ -9,7 +9,8 @@ //! スレッドプールのサイズは、blockingクレートの説明にある通り`$BLOCKING_MAX_THREADS`で調整すること //! ができる。 //! -//! また未調査ではあるが、[`cpu_num_threads`]を`0`にするのは適切ではない可能性がある ([VOICEVOX/voicevox_core#902])。 +//! また未調査ではあるが、このモジュールについては[`cpu_num_threads`]は物理コアの数+1を指定するのが適切な可能性がある +//! ([VOICEVOX/voicevox_core#902])。 //! //! [blocking]: https://docs.rs/crate/blocking //! [pollster]: https://docs.rs/crate/pollster diff --git a/crates/voicevox_core/src/synthesizer.rs b/crates/voicevox_core/src/synthesizer.rs index f42a870ed..c49763252 100644 --- a/crates/voicevox_core/src/synthesizer.rs +++ b/crates/voicevox_core/src/synthesizer.rs @@ -102,7 +102,8 @@ pub struct InitializeOptions { /// /// # Performance /// - /// 未調査ではあるが、[非同期版API]においては`0`にするのは適切ではない可能性がある ([VOICEVOX/voicevox_core#902])。 + /// 未調査ではあるが、[非同期版API]においては物理コアの数+1とするのが適切な可能性がある + /// ([VOICEVOX/voicevox_core#902])。 /// /// [非同期版API]: crate::nonblocking /// [VOICEVOX/voicevox_core#902]: https://github.com/VOICEVOX/voicevox_core/issues/902 diff --git a/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi b/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi index 8a80d7e5f..199ced742 100644 --- a/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi +++ b/crates/voicevox_core_python_api/python/voicevox_core/_rust/asyncio.pyi @@ -157,7 +157,7 @@ class Synthesizer: acceleration_mode ハードウェアアクセラレーションモード。 cpu_num_threads - CPU利用数を指定。0を指定すると環境に合わせたCPUが利用される。未調査ではあるが、 ``0`` にするのは適切ではない可能性がある + CPU利用数を指定。0を指定すると環境に合わせたCPUが利用される。未調査ではあるが、物理コアの数+1とするのが適切な可能性がある (`VOICEVOX/voicevox_core#902 `_)。 """ diff --git a/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py b/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py index 4b0cc534e..b00caf6df 100644 --- a/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py +++ b/crates/voicevox_core_python_api/python/voicevox_core/asyncio.py @@ -5,7 +5,7 @@ Performance ----------- -未調査ではあるが、 ``cpu_num_threads`` に ``0`` にするのは適切ではない可能性がある +未調査ではあるが、 ``cpu_num_threads`` 物理コアの数+1を指定するのが適切な可能性がある (`VOICEVOX/voicevox_core#902 `_)。 """