Indonesian subtitles

← 03-04 Batching_and_Caching

03-04 Batching_and_Caching

Get Embed Code
13 Languages

Showing Revision 6 created 03/14/2016 by PRT_id_5.

  1. Saya ingin memperkenalkan dua
    teknik kinerja favorit saya,
  2. batching dan caching.
  3. Seperti sudah kita bicarakan,
    beberapa fungsi atau
  4. operasi memiliki jumlah overhead
    tertentu
  5. yang berbeda dengan biaya kinerja
    operasi itu sendiri.
  6. Misalnya, memuat data ke tempat baru dalam
    memori sebelum mengeksekusinya,
  7. atau menyortir seperangkat nilai sebelum
    melakukan pencarian melaluinya.
  8. Ketika dijalankan beberapa kali, dalam
    kelipatan sangat besar,
  9. overhead ini bisa menjadi beban kinerja
    yang amat besar untuk aplikasi Anda.
  10. Batching adalah proses memperbaiki
    masalah kinerja ini
  11. dengan mencoba mengeliminasi overhead
    per eksekusi operasi ini.
  12. Kita seolah pakai mobil bersama, bukan
    mengemudi sendiri, hingga hemat bensin.
  13. Ini paling sering terlihat pada kode
    di saat Anda harus mempersiapkan data
  14. sebelum benar-benar mengoperasikannya.
  15. Katakanlah, cara paling efisien
    untuk menemukan nilai
  16. yang ada di rangkaian adalah mengurutkannya,
    lalu menjalankan pencarian biner.
  17. Sebenarnya, ini bukanlah
    cara paling efisien,
  18. tapi bersabarlah, saya coba
    jelaskan di sini.
  19. Cara tersederhana untuk melakukan itu
    adalah menulis fungsi yang
  20. dengan 1 rangkaian & nilai,
  21. akan menyortir rangkaian dan memeriksa
    apakah nilai itu ada di dalamnya.
  22. Ini mungkin tidak masalah untuk
    beberapa tingkat kinerja tetapi
  23. katakanlah Anda punya 10.000 nilai
    yang ingin diuji,
  24. dan ukuran rangkaian ini jutaan.
  25. Tiba-tiba Anda menimbulkan banyak
    overhead per pengujian
  26. dalam bentuk pengurutan.
  27. Jawabannya cukup jelas.
  28. Anda harus membuat versi urut
    dari rangkaian itu sekali dulu,
  29. lalu mengizinkan 10.000 nilai itu diuji
    untuk diikutsertakan setelahnya.
  30. Ini yang dimaksud batching dalam tindakan.
  31. Kita perkirakan operasi yang berulang
    dan menyelesaikannya sekali dulu.
  32. Sebenarnya ada konsep serupa yang
    dikenal sebagai caching, dan
  33. sejauh ini merupakan teknik kinerja
    terpenting yang dapat Anda pahami,
  34. terutama karena teknik ini menggerakkan
    semua hal dalam teknologi komputer modern.
  35. Komputer Anda, misalnya.
  36. Inti dari perangkat keras RAM adalah
    memberi tempat untuk menyimpan informasi
  37. yang bisa diakses lebih cepat oleh CPU
    daripada hard drive.
  38. Atau jaringan dan internet modern
    misalnya,
  39. gudang besar server yang disebut
    pusat data ada di seluruh dunia.
  40. Tujuannya hanya menyimpan atau memasukkan
    konten yang sering diakses cache
  41. agar komputer tak harus menghubungi server
    sejauh 12.000 mil setiap kalinya,
  42. tiap teman Anda di Mesir mengeposkan gambar.
  43. Kecuali jika memang Anda di Mesir.
    Anda pasti paham maksud saya, kan?
  44. Dalam kode program Anda, titik terumum
    yang dapat dioptimalkan untuk
  45. caching terkait dengan data yang
    dikalkulasi beberapa kali, tapi
  46. hasilnya selalu sama.
  47. Misalnya, jika Anda berada di tengah
    loop yang sedang mengkalkulasi
  48. turunan dari matriks empat kali
    empatnya, dan
  49. hasilnya selalu sama, maka Anda
    membuang-buang kinerja,
  50. dengan menghitung ulang untuk setiap
    perulangan loop itu.
  51. Sebaiknya, hitung dan simpan hasil turunan
    di luar loop, dan
  52. biarkan bagian dalam referensi loop yang
    menyimpan hasilnya.
  53. Saya sangat suka batching dan
    caching karena hampir
  54. setiap peningkatan kinerja yang
    dapat Anda pikirkan,
  55. termasuk yang kita bicarakan
    dalam latihan ini,
  56. adalah varian efektif dari dua
    teknik dasar itu.
  57. Dan jika Anda serius menjadi
    pakar kinerja,
  58. Anda sebaiknya menjadi profesional
    dalam memanfaatkan
  59. kehebatan yang luar biasa dari teknik ini.
  60. Jadi, mari kita mulai.