Japanese subtitles

← 03-04 Batching_and_Caching

03-04 Batching_and_Caching

Get Embed Code
13 Languages

Showing Revision 1 created 12/29/2015 by sp8.

  1. 私のお気に入りのパフォーマンス・テクニックを2つ
    ご紹介します
  2. バッチングとキャッシングです
  3. すでに説明したとおり
  4. 機能やオペレーションにはそれらに関連するオーバーヘッドの
    特定の量があるものがあり
  5. オペレーション自体のパフォーマンス・コスト
    とは異なります
  6. たとえば実行前に メモリーの新しい場所に
    データをロードすることです
  7. または検索を行う前に一連の値をソートすることです
  8. 複数回実行する時
    この回数がかなり多いと
  9. このオーバーヘッドはアプリにとって
    深刻なパフォーマンスの負荷となります
  10. バッチングはこのパフォーマンスの問題を直すプロセスです
  11. これらのオペレーションの実行オーバーヘッドごとに
    削除を試みます
  12. ガソリンの節約のためにみんながそれぞれ車に乗る代わりに
    共有するようなものです
  13. これは 実際に作動させる前にデータを準備する必要のある
    コードに
  14. よく見られます
  15. たとえばセットに存在する値を見つける
    最も効果的な方法が
  16. ソートし そこで二分探索を実行することだとします
  17. 明確にすると
    これは実際には最も効果的な方法ではありません
  18. しかし強調したいことがあるので
    このまま聞いてください
  19. とにかく最もシンプルな方法は
    機能を書くことです
  20. セットと値を与え
  21. セットをソートして検索して値が存在するか
    見つける機能です
  22. これはあるパフォーマンスレベルでは
    いいかもしれませんが
  23. たとえばテストしたい値が10,000
    あるとします
  24. セットのサイズが億単位だとします
  25. テストごとに突然大量のオーバーヘッドを
    ソートの形式で
  26. 負うことになります
  27. ここでの答えは明確です
  28. ソートしたバージョンのセットを作成したい
    そして
  29. 10,000のすべての値をそのポイントの後に
    テストします
  30. これが作動中のバッチングです
  31. くり返されもう一度行うオペレーションを
    取り除きました
  32. これと同様のものはキャッシングとして知られるコンセプトで
  33. 圧倒的に最も重要なパフォーマンス・テクニックなのです
  34. その主な理由は最新のコンピューター・テクノロジーで
    すべてを作動させるからです
  35. たとえば手元のコンピューターを取ってみてください
  36. RAMハードウェアの全ポイントは情報を保存する
    場所を提供することです
  37. ハードドライブより速くCPUにアクセスします
  38. またはネットワーキングや
    最新のインターネット自体を見てください
  39. データ・センターと呼ばれる巨大なサーバーの倉庫が
    世界中に存在します
  40. それらの唯一の目的は頻繁にアクセスされた内容を保管または
    キャッシュし
  41. コンピューターが毎回19,200キロも離れたサーバーを
    ヒットしなくてもいいようにするためです
  42. エジプトにいる友達が写真を投稿します
  43. もちろん エジプトにいなければ
    話のポイントが分かりますよね
  44. コードにおいてキャッシングの最適化を見つけられる
    最も一般的な場所は
  45. 複数回算出されたデータに関連していますが
  46. 結果はいつも同じです
  47. たとえば算出しているループの
    真ん中にいるとします
  48. 4 x 4マトリクスの微分係数
  49. そしてその結果はいつも同じで
    実際パフォーマンスを無駄にし
  50. そのループの各反復のために
    再計算します
  51. 代わりに計算してその微分の結果をループの外に保存します
  52. ループ基準の内側の部分に
    結果をキャッシュさせます
  53. バッチングとキャッシングが好きな理由は
  54. 思いつく限りのほとんどすべてのパフォーマンス改善が
    可能だからです
  55. そこにはこのコースで話したものも含まれます
  56. これら2つの基本テクニックの相違です
  57. あなたは真剣にパフォーマンス忍者になろうとしています
  58. これらのテクニックの素晴らしい力を利用し
  59. プロになるほうがいいでしょう
  60. では始めましょう