使ってCPUを必要とするタスクを分割するトリックがあります。構文強調表示スクリプト(このページのコード例を色分けするために使用されます)はかなりCPUが重いです。コードを強調表示するために、分析を実行し、多くの色の要素を作成し、文書に追加します。することさえあり、それは容認できません。そこで、私たちは長いテキストを小さく分割することができます。使って、最初の100行、次の100行を計画する、と言ったように。わかりやすくするために、より単純な例を考えてみましょう。数える関数があります。それを実行する場合、CPUはハングアップするでしょう。実際にはJavaScript全体が一時停止しています。警告を出す場合があります。処理中でも完全に機能します。均等に分割されているかどうかをチェックします。次の呼び出しがスケジュールされます。よりジョブを分割してもしなくてもスピードは同等です。全体のカウント時間に大きな違いはありません。それらをもっと近づけるために改善しましょう。私たちはジョブを実行する前に、すぐにそれをスケジュールします。それを実行すると、時間が大幅に短縮されることに簡単に気づきます。ブラウザにおけるネストされたタイマーの最小遅延ブラウザでは、ネストされたタイマーを実行できる頻度に制限があります。“5つのネストされたタイマーの後には...間隔は少なくとも4ミリ秒に強制されます。”何を意味しているか、下の例でデモしてみましょう。後に実行するよう再スケジュールします。配列に、直前のものからの実行時間を覚えています。その制限は古代からあり、多くのスクリプトがそれに依存しているため、歴史的な理由から存在しています。その制限は存在しません。ような即時非同期ジョブをスケジュールする他の方法も存在します。従って、この概念はブラウザ固有のものです。ブラウザのレンダリングを許可するブラウザ内でのスクリプトの別の利点は、プログレスバー等をユーザに表示できることです。従って、私たちが1つの巨大な関数を実行し、そこで何かを変えたとしても、その変更は関数が終わるまでドキュメント上には反映されません。全体が終わった後に行われます。使ってそれを小さく分割すると、変更は各実行の間で適用されます。値の増加を表示します。定期的に/一度だけ実行することができます。