[解決済み] Pythonのtime.sleep()はどの程度正確か?
2022-11-26 06:20:49
質問
のような浮動小数点数を与えることができます。
time.sleep(0.5)
というのがありますが、どの程度の精度なのでしょうか?もし私が
time.sleep(0.05)
は、本当に50ms程度スリープするのでしょうか?
どのように解決するのですか?
time.sleep関数の精度は、使用しているOSのスリープの精度に依存します。 Windows のような非リアルタイム OS の場合、スリープできる最小の間隔は約 10-13ms です。 私は、最小の 10-13ms を超える場合、その時間の数ミリ秒以内で正確にスリープするのを見たことがあります。
更新しました。 以下に引用するドキュメントで言及されているように、スリープをループで行うのが一般的で、それによって早く目が覚めてしまった場合は、必ずスリープに戻るようにします。
また、Ubuntu を実行している場合、rt カーネル パッケージ (少なくとも Ubuntu 10.04 LTS では) をインストールすることにより、擬似リアルタイム カーネルを (RT_PREEMPT パッチ セットで) 試すことができることを述べておきます。
編集: 修正 非リアルタイムの Linux カーネルは、最小スリープ間隔が 10ms よりも 1ms に近いですが、非決定論的な方法で変化します。
関連
-
[解決済み】Pythonのvirtualenvを離脱/終了/無効化する方法
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み】大文字と数字を含むランダムな文字列の生成
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] データフレームをソートした後にインデックスを更新する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?