34 poin oleh xguru 2023-06-29 | 11 komentar | Bagikan ke WhatsApp
  • Sebuah video yang membandingkan kecepatan komputer lama yang menjalankan Windows NT 3.51 dan komputer baru yang menjalankan Windows 11 dipublikasikan di Twitter, dan menjadi cukup viral
    • Keduanya melakukan tindakan yang sama: membuka dan menutup Command Prompt, Explorer, Notepad, dan Paint
    • Di komputer lama semuanya berjalan seketika, tetapi di komputer baru lebih lambat
  • Latensi antarmuka pengguna pada komputer modern sangat buruk dan terus memburuk
  • Ada yang mengatakan perbandingan ini tidak adil karena perangkat keras yang digunakan adalah desktop dan laptop (Surface Go)
  • Sebagai perbandingan ulang, Windows 2000 dipasang pada mesin K7-600 dan Windows 11 pada Mac Pro 2013 (Xeon 6-core + 32GB), tetapi hasilnya tetap mirip

Perkembangan komputer

  • Sejak tahun 2000-an, banyak kemajuan di berbagai arah: grafis yang menakjubkan, monitor resolusi tinggi, jaringan super cepat, pengeditan video real-time, dan lain-lain
  • Sisi I/O juga banyak berkembang; pada sistem lama, disk I/O selalu menjadi bagian paling lemah
    • Floppy tidak andal dan lambat, CD/DVD sedikit lebih bisa diandalkan tetapi tetap lambat, dan HDD menjadi bottleneck bagi banyak hal
    • Random I/O mulai mencapai batas fisiknya
  • SSD muncul dan mulai digunakan di desktop, sehingga masalah random I/O ini mulai teratasi
    • Tiba-tiba semuanya menjadi cepat: booting, loading game, membuka folder dengan banyak file, dan lain-lain
  • Pemasangan perangkat keras baru juga menjadi lebih mudah, koneksi nirkabel menjadi umum, dan internasionalisasi teks/aplikasi berkembang (diakui bahwa Unicode tidak mudah ataupun murah)
  • Dalam banyak hal keadaan membaik, dan kita lebih berdaya daripada sebelumnya. Kalau tidak, kita tidak akan bisa melakukan hal seperti pemrosesan foto berbasis ML di ponsel kecil yang pada tahun 2000-an bahkan tidak terbayangkan

Latensi yang mengerikan

  • Namun, tidak satu pun dari kemajuan ini menjelaskan mengapa latensi UI sekarang justru sangat lambat
  • Kemajuan perangkat keras seharusnya memperbaiki keadaan ini

Contoh

  • Hingga baru-baru ini Notepad adalah aplikasi native dan diluncurkan dengan cepat, tetapi setelah ditulis ulang menjadi aplikasi UWP, ia menjadi lambat. Sangat lambat, tetapi tetap kekurangan fitur. Penurunan kecepatan tanpa manfaat apa pun bagi pengguna
  • Windows Terminal jauh lebih baik daripada dulu, tetapi terasa berat secara nyata. Jika menambahkan PowerShell, membuka jendela terminal baru bisa memakan beberapa detik kecuali Anda memakai perangkat keras kelas atas
  • macOS lebih baik daripada Windows, tetapi tetap punya masalah. Membuka jendela pengaturan jauh lebih cepat di mesin lama
  • Linux mungkin yang paling sedikit terpengaruh oleh masalah ini. Fedora Linux 38 yang dirilis pada 2023/4 dapat berjalan baik bahkan di PC berusia 11 tahun. Tetapi ini juga hanya ilusi; saat menjalankan aplikasi modern yang tidak dikembangkan khusus untuk Linux, waktu start aplikasi menjadi lambat dan performa secara umum menurun
  • Hal yang paling mengejutkan bagi saya adalah saat bergabung dengan Google pada 2009
    • Pada saat itu Google Search dan Gmail dikenal memiliki performa luar biasa dan menjadi panutan
    • Tetapi saya sangat terkejut melihat betapa lambatnya alat command-line internal yang digunakan di dalam perusahaan
    • Saya pikir dorongan mereka yang tak henti-hentinya terhadap web app, apa pun biayanya, ikut menciptakan situasi yang kita hadapi sekarang

Penyebab

  • Mengapa semua ini terjadi? Mudah untuk menyebutnya sebagai "bloat", tetapi sulit mendefinisikannya
    • Bloat bisa dibenarkan: setiap orang punya pandangan berbeda tentang apa itu bloat
  • Yang membuat semuanya lambat adalah soal "prioritas"
    • Tidak ada lagi yang memprioritaskan performa, kecuali untuk hal-hal penting seperti game atau transcoding video
    • Yang diprioritaskan orang (perusahaan) adalah "waktu developer": Rust dan Electron
  • Mengembangkan aplikasi native secara terpisah dianggap pekerjaan yang duplikatif, sehingga Electron dipakai
    • Ini memang memudahkan, tetapi berdampak besar pada latensi desktop
    • Seperti kasus 1Password dan Spotify, aplikasi ditulis ulang dengan Electron untuk memberi pengalaman yang seragam dan menurunkan biaya
    • Tetapi penghematan biaya itu untuk perusahaan, bukan untuk pengguna
    • Penghematan biaya ini pada dasarnya membebankan pajak kepada kita yang memakainya setiap hari
  • Keputusan lain yang meningkatkan latensi adalah adopsi besar-besaran bahasa managed dan interpreted
    • JDK/CLR bagus dalam mengoptimalkan proses yang berjalan lama, tetapi startup cepat bukanlah hal yang mereka tangani dengan baik

Perbaikan satu kali yang terkikis (One-off improvements eaten away)

  • Sebagai penutup, kembali ke kemajuan perangkat keras dengan catatan yang pesimistis
  • Peningkatan istimewa yang dibawa SSD adalah perubahan satu kali
    • HDD memang terus menjadi lebih cepat, tetapi tidak pernah mampu menyediakan random I/O cepat yang dibutuhkan desktop
    • Peralihan ke SSD membawa peningkatan yang berbeda tingkatannya, tetapi manfaat ini hanya bisa dinikmati sekali
    • Tidak ada teknologi lain yang memberikan pengalaman revolusioner seperti ini
    • Jadi ketika manfaat dari teknologi baru ini terhapus oleh perangkat lunak yang ceroboh, kita akan kembali ke titik awal
    • Tentu saja SSD terus menjadi lebih cepat, tetapi tidak memberi lompatan sebesar peralihan dari HDD ke SSD
  • Anda bisa memastikannya sendiri dengan mencoba Windows/macOS versi terbaru tanpa SSD
  • Karena itu saya khawatir tentang Apple Silicon
    • Ingat performa luar biasa, daya tahan baterai yang sangat panjang, dan tidak adanya suara kipas saat M1 dirilis?
    • Jika kita terus bergerak secara ceroboh, keunggulan-keunggulan itu juga akan hilang, dan saat itu sudah terlambat
  • Meningkatkan performa aplikasi yang sudah ada sangat sulit secara teknis, dan hampir mustahil juga untuk dijadikan prioritas dalam organisasi
  • Lalu, bisakah arsitek komputer menyelamatkan kita dengan perubahan teknologi revolusioner lain? Saya tidak ingin bergantung pada itu. Bukan karena perubahan seperti itu mungkin tidak mungkin terjadi, tetapi karena perubahan seperti itu seharusnya tidak diperlukan

Versi yang diringkas oleh GN⁺ (ditinggalkan untuk dokumentasi)

  • Sebuah thread Twitter yang membandingkan responsivitas komputer lama dan baru mendapat 8.8K likes.
  • Dalam video tersebut, aplikasi di komputer lama terbuka seketika, sedangkan di komputer baru ada jeda yang signifikan.
  • Penulis mempertanyakan mengapa, meskipun perangkat keras berkembang, latensi antarmuka pengguna komputer modern justru memburuk.
  • Kekurangan dalam perbandingan diperbaiki, tetapi hasilnya tetap sama.
  • Dibahas berbagai kemajuan teknologi seperti grafis, monitor resolusi tinggi, dan jaringan cepat.
  • Dikemukakan bahwa latensi antarmuka pengguna komputer modern sangat buruk dan terus memburuk.
  • Contoh aplikasi lambat di Windows, macOS, dan Linux diberikan.
  • Perangkat lunak berat, framework, dan bahasa managed diusulkan sebagai penyebab masalah latensi.
  • Muncul kekhawatiran bahwa manfaat SSD dinetralkan oleh perangkat lunak yang ceroboh, sehingga masa depan Apple Silicon pun dikhawatirkan.
  • Meningkatkan performa aplikasi yang sudah ada sulit secara teknis maupun organisasional.
  • Menurut arsitek komputer, perubahan teknologi revolusioner mungkin tidak akan menyelamatkan kita.
  • Kerja jarak jauh bukan solusi untuk masalah latensi.
  • Pengembangan open source pada 1990-an dan 2000-an sudah memungkinkan kerja yang sepenuhnya terdistribusi dan asinkron.
  • Latensi komputer setidaknya sudah menjadi masalah sejak 1977.
  • Komputer terbaik yang ditemukan Dan Luu dari sisi latensi adalah produk tahun 1983, tetapi tidak mampu menangani beban kerja modern.

11 komentar

 
nuthatch 2023-06-29

Bukankah ini sampai sejauh ini karena kita memilih kemudahan pemeliharaan alih-alih performa, lalu berpikir biayanya bisa ditutup oleh perkembangan hardware.
Saat MacBook Air 2010 terasa sudah terlalu lambat, saya entah bagaimana berhasil memasang Snow Leopard, dan cepatnya luar biasa. Tentu saja saya tidak memakainya untuk penggunaan nyata, tetapi..

 
googol 2023-06-29

Saya bisa merasakan maksud pernyataan bahwa perusahaan tidak lagi menempatkan kinerja sebagai prioritas.

 
anyjava 2023-06-29

Namun, penghematan biaya itu untuk perusahaan, bukan untuk pengguna.

Bagian itu membuat saya banyak berpikir.

 
edunga1 2023-06-29

Terima kasih. Saya membacanya dengan rasa setuju.
Saat membuka menu konteks di desktop Windows, baik 20 tahun lalu maupun sekarang tetap terasa lambat sambil melihat ikon jam pasir (setelah pertama kali memang agak membaik, tapi tetap sangat mengganggu).
Jelas perangkat keras makin cepat, tetapi sepertinya perangkat lunak tidak begitu.

 
ruinnel 2023-06-29

Saya rasa saya pernah melihat situs yang membahas hal serupa dan mengumpulkan hanya aplikasi-aplikasi ringan (mungkin yang berfokus pada Linux)... tapi saat benar-benar saya cari, ternyata tidak ketemu haha

 
nicewook 2023-06-29

Terima kasih, saya membacanya dengan baik.

 
iolothebard 2023-06-29

Apa yang paling penting?

 
devjeonghwan 2023-06-29

UI pada masa ketika semuanya hanya diimplementasikan dengan WinAPI memang rapi dan gesit.
Belakangan ini ada framework UI yang semrawut, ditambah aplikasi berbasis web... agar web engine atau engine framework bisa berjalan, dibutuhkan banyak resource.

 
xguru 2023-06-29

Ini adalah tulisan yang diunggah di GN⁺, tetapi karena sepertinya sulit dipahami hanya lewat ringkasan AI, saya merangkumnya lagi sendiri.

 
botplaysdice 2023-06-30

Kan, saya benar hehe...

Rasanya seperti saat Lee Sedol menang... job security kita.... untuk sekarang masih aman, kan? hiks

 
GN⁺ 2023-06-29
Opini Hacker News
  • Pengguna muda belum pernah merasakan performa sejati dalam software stack
  • Software engineer tidak efisien dan mengabaikan komputasi paralel
  • Orang nonteknis tidak peduli pada komputasi yang lambat
  • Langkah-langkah keamanan dapat memengaruhi latensi aplikasi desktop
  • Di macOS, performa grafis meningkat dengan Quartz Extreme dan Metal
  • Optimasi perangkat lunak demi kecepatan itu penting
  • Rust tidak memiliki kurva belajar yang curam
  • Penting untuk merayakan pencapaian kecil dalam komputasi
  • Kita harus menuntut lebih dari hardware yang kita miliki
  • UI dinamis berkontribusi pada penurunan performa
  • Linux berjalan cepat pada hardware berspesifikasi rendah, tetapi aplikasi lintas platform memiliki performa buruk
  • Framework aplikasi modern dapat menjadi penyebab lambatnya waktu startup aplikasi