質問

ブラウザーがクライアント側のスクリプト (Javascript、JQuery など) を処理するすべての作業を行うことは理解していますが、パフォーマンス (ネットワーク速度、クライアント コンピューターの速度、サーバー環境) に関して他に重要な点があるかどうかを知りたいと思っていました。

ブラウザー (タイプとバージョン) に完全に依存している場合、初めてページにアクセスするときは遅くなり、その後ブラウザーが JS ファイル/スクリプトをキャッシュし、それ以降の実行が速くなると言うのは正しいですか?

これがどのようにして起こるのか誰か説明してもらえますか?

役に立ちましたか?

解決

すべて あるレベルの要因です。

ほとんどのスクリプトは同期的にダウンロードされるため、 ネットワーク速度は、スクリプトがキャッシュされるまでは重要です. 。新しいブラウザでは、スクリプトが読み込み時に DOM を変更しない限り、この問題をある程度軽減できます (document.write()...) であり、ページ上の他のスクリプトでは必要ありませんが、ブラウザーがページが読み込まれたとみなす前にダウンロードする必要があります。スクリプトを縮小すると、ネットワーク上をより速く移動できるようになり、gzip 圧縮で提供するようにサーバーを構成すると、さらに効果的になります。ただし、一度キャッシュされると、これはそれほど重要ではありません。

クライアントコンピュータの速度 ブラウザの速度、つまりスクリプト実行環境に直接影響します。高速なブラウザーは、高速なコンピューター上でもスクリプトをより高速に実行します。

高速なブラウザ VM は大きな違いを生みます:現在の JavaScript の実行環境には、 大いに 異なるパフォーマンス特性。ブラウザーは、さまざまな領域で速くなったり遅くなったりすることがあります。高速な VM と低速な DOM を組み合わせると、ページに大きな変更を加え始めるまでのみスクリプトが迅速に実行されます。高速な DOM と低速な VM は、スクリプトが重要な処理を実行しようとするまで、高速で動作します。そして、スクリプトがキャッシュされると、これらのブラウザーのパフォーマンス特性はさらに重要になります。「一度キャッシュされれば高速になる」という仮定は、最初はネットワーク速度が顕著なボトルネックである場合にのみ当てはまります。

サーバーはタイムリーに応答する必要があります それに対するあらゆるリクエストに応じます。スクリプトが遅いデータベースにクエリを実行したり、その他の負荷の高いサーバー側処理を実行したりする AJAX リクエストに応答するためにサーバー上で待機している場合、高速なスクリプト VM は問題になりません。サーバーのリクエストに対する応答が遅い場合、少量のデータやスクリプトの場合、高速なネットワーク接続は問題になりません。


参考文献:

他のヒント

ブラウザと設定に応じて、JS、CSS、Flashまたは画像の特定の部分がキャッシュされます。その後、リロードすると高速になります。

実際にこれに答えるかどうかは、あなたが何をしているかに依存します。

たとえば、JavaScriptアプリケーションの使用中にアニメーションムービーのレンダリングでCPUがビジーである場合、パフォーマンスが低下します。

非常にインタラクティブなサイトで、300ボーのモデムを介して大量のデータをやり取りしている場合、アプリケーションは遅く見えるかもしれません。

ただし、ブラウザは重要です。たとえばIE8は、これらのベンチマークに基づいて、Chromeよりも遅いようです。 http://www.lifehacker.com.au/2009/09/browser-speed-tests-chrome-40-and-opera-10-take-on-all-challengers/

javascriptのベンチマークテストに関する各記事について説明します。各記事をよく説明しており、javascriptのパフォーマンスを理解するのに役立つ場合があります。

http://www.codinghorror.com/blog/archives/001023.html

アプリケーションが多くのページを使用し、すべてのjavascriptまたはメインのページを前もってd / lする場合、最初のページの後は高速に実行されますが、それはアプリケーションの設計方法によって異なります。ページを決してリロードせず、すべてを動的に行う場合、最初に20個のスクリプトファイルをロードしてもメリットはありません。

サーバーが正しくセットアップされている場合、JavaScriptファイルはキャッシュされるため、ページビューごとに再ダウンロードする必要はありません。これは物事を高速化するのに役立ちます。

ブラウザのJavaScriptエンジンは、多少最適化できます。これはパフォーマンスにも影響します。現在、「最速のJSエンジンを作成できる人」について、ブラウザベンダー間の競争が見られます。

クライアントコンピューターは実際の処理を行っているため、コンピューターが高速になるほど、スクリプトの実行も高速になります。 166MHzのPentiumで集中的な最新のJSを実行しようとすると、苦労します。

さらに、コード自体がパフォーマンスに大きな影響を与えます。適切に記述されたjavascriptは、不完全に記述されたjavascriptよりもはるかに高速に実行できます。このテーマに関する私のお気に入りのビデオはこちらです: Google Tech Talk:JavaScriptの高速化

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top