Immutable dan Multi-Core

Muhammad Riansyah Tohamba
1 min readJan 10, 2022

Dahulu kala, saya berasa keren kalau punya laptop dengan CPU multi core (intel i3, i5, i7, etc).

Saya dulu punya device dengan merek intel i5 yang berisikan 4 core. Sekarang saya pakai intel i3 yang menggunakan 2 core.

Padahal banyak-banyakan Core bisa jadi tidak bermanfaat juga hehe.

Kenapa bisa? ikuti penjelasannya.

Hukum Moore mulai berhenti berlaku

Selama ini, perkembangan chip mengikuti hukum moore.

“Moore’s law is the observation that the number of transistors in a dense integrated circuit doubles about every two years. “(wikipedia)

Tetapi, hukum moore sudah mencapai batasnya. Clock rates dari 1 core CPU tidak meningkat lagi. Solusi yang diberikan industri chip adalah dengan menambah jumlah core nya. Banyak core (multi-core) berimplikasi kepada banyak thread (multi-thread).

Banyak thread mengharuskan kita untuk menggunakan konsep ‘immutable state’ agar state pada software kita sesuai dengan yang kita inginkan.

Kita tidak ingin state berubah-ubah diluar kendali kita.

Konsep immutable yang sudah built in didukung oleh bahasa pemograman functional seperti clojure, LISP, haskell, erlang atau elixir.

Oleh karenanya, para programmer sudah banyak yang menggunakan bahasa fungsional agar dapat memanfaatkan multi-core semaksimal mungkin.

Sekali lagi, Multi-Core berimplikasi kepada Multi-hread.

Kalau program yang saya pakai tidak menggunakan algoritma multi thread, maka CPU dengan multi core tersebut jadi tidak bermanfaat juga.

Untuk lebih jauh, anda dapat membaca artikel ini:

https://blog.cleancoder.com/uncle-bob/2017/11/18/OnThePlateau.html

--

--

Muhammad Riansyah Tohamba

Software Engineer | Test FIRST ! | extention of p-dadakan blogspot