YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← 03-13 Container_Performance

03-13 Container_Performance

Get Embed Code
13 Languages

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

  1. 先ほどは背後で実行中の
    ハードウェアの種類によって
  2. いかにコードが遅くなるかを
    話しました
  3. 浮動小数点が枝分かれする
    問題を覚えていますか
  4. 今回はそのことではありません
  5. しかし気をつけるべき
    問題があります
  6. それは使用言語での Primitive の
    パフォーマンスです
  7. 基本的なアルゴリズムである
    並べ替えだと
  8. 今は多様な並べ替えが
    できます
  9. どう並べ替えるかも
    状況によって異なります
  10. 例えば要素が1千未満または
  11. 大きな並べ替えリストから
    検索する場合以外は一般的に
  12. Quicksort は
    Bubble Sort よりも速いです
  13. 一番だとされている
    方法は二分探索です
  14. しかし並べ替えしていない
    Array の場合は違います
  15. そこで探している数値で
    オブジェクトを比較せず
  16. 代わりに Hash 機能を
    使えばすぐです
  17. これは現代のコンピュータ科学や
    データ構造では基本になりました
  18. お陰様で Java のような現代語が
    このようなコンテナや
  19. アルゴリズムを代わりにやるので
    MurMur3 Hash や Quicksort を
  20. 何度も書き直す必要が
    ありません
  21. でもひとつ明かすとすると
  22. プログラミングを
    何年もやってきて
  23. 常にプロジェクトの
    パフォーマンスを妨害するのは
  24. 言語付コンテナオブジェクトの
    パフォーマンスにあります
  25. 凄いことではありますよ
  26. Java は Vector クラスを
    実行してくれるのですから
  27. 押下と押上そして追加や削除が
    好きなようにできるのです
  28. この柔軟性は表面下したにある
    連結リストの構造からきています
  29. これは変わった動作をします
  30. 作業がリストの表面上で
    ある限りはとても速いです
  31. しかし挿入や削除を
  32. 別の場所でやろうとすると
    最悪な状態になります
  33. 表面下のシステムにコンテナが
    あるからといって
  34. 作ったプログラムの仕様に
    合わせている訳ではない
  35. ということが重要な
    ポイントです
  36. ジェームス・サザーランド氏は
    Java Framework による特定の
  37. データ構造の動作における
    マイクロベンチマークを
  38. 出版する際に動作と
    機能性についての
  39. 注意点を発見しました
  40. 例えば Hashtabel は
    コンテナを使い方しだいで
  41. HashMap よりも
    約 22% 速くなることを
  42. 発見しました
  43. 重要な点は
  44. コードで使うコンテナクラスを
    書いたかどうかです
  45. 自身のコードが実行する
    動作に対して最速の
  46. コンテナであると
    言い切れますか
  47. う~ん--そうですね
  48. しかし便利な Android の
    MPI を使えば
  49. これらのコンテナの動作に
    可視性が生まれます
  50. ではクリス氏のコードは
    これに対してどうでしょう