- Macintosh dianggap sebagai komputer cepat berkat mikroprosesor 68000, tetapi dalam penggunaan nyata, floppy disk menjadi hambatan kecepatan
- Hal yang terutama dipermasalahkan Steve Jobs adalah waktu booting setelah komputer dinyalakan, mulai dari tes memori, inisialisasi sistem operasi, hingga pemuatan Finder
- Jobs menekan Larry Kenyon dengan mengatakan bahwa jika booting dipangkas 10 detik, 5 juta pengguna akan menghemat 50 juta detik setiap hari, dan dalam setahun itu setara dengan puluhan masa hidup manusia
- Karena tim sudah termotivasi untuk meningkatkan kinerja perangkat lunak, tidak jelas seberapa besar perhitungan ini benar-benar berpengaruh
- Pada akhirnya, beberapa bulan kemudian tim Macintosh berhasil memangkas waktu booting lebih dari 10 detik, dan gaya persuasi ala Jobs tersisa sebagai anekdot yang lucu
Hambatan Macintosh adalah floppy disk
- Tim Macintosh menganggap komputer itu cepat karena mikroprosesor 68000 secara praktis 10 kali lebih cepat daripada Apple II
- Namun karena RAM terbatas, data harus sering dibaca dari floppy, dan pada bagian ini Macintosh tidak lebih cepat daripada Apple II
- Ketika aplikasi nyata mulai berjalan, floppy disk terbukti menjadi hambatan utama
Waktu booting yang diamati Steve Jobs dengan gigih
- Salah satu hal yang paling mengganggu Jobs adalah waktu booting saat Mac pertama kali dinyalakan
- Tes memori
- Inisialisasi sistem operasi
- Pemuatan Finder
- Proses ini bisa memakan waktu beberapa menit, atau bahkan lebih lama
- Jobs meminta Larry Kenyon, yang bertanggung jawab atas disk driver dan file system, agar booting Macintosh yang terlalu lambat dibuat lebih cepat
Perhitungan bahwa “memangkas 10 detik berarti menyelamatkan nyawa”
- Larry Kenyon mencoba menjelaskan bagian mana saja yang bisa diperbaiki, tetapi Jobs tidak tertarik pada penjelasan itu
- Jobs mengasumsikan bahwa beberapa tahun kemudian 5 juta orang akan melakukan booting Macintosh setidaknya sekali setiap hari
- Ia menghitung bahwa memangkas waktu booting 10 detik akan menghemat 50 juta detik setiap hari, dan dalam setahun setara dengan puluhan masa hidup manusia
- Karena itu, ia mengatakan bahwa membuat booting 10 detik lebih cepat bernilai seperti “menyelamatkan puluhan nyawa”
Hasil nyata
- Karena sejak awal tim memang ingin membuat perangkat lunak secepat mungkin, tidak pasti seberapa besar pengaruh persuasi Jobs
- Namun cara persuasi itu diterima dengan cukup humoris di dalam tim
- Setelah itu, selama beberapa bulan, waktu booting Macintosh benar-benar dipangkas lebih dari 10 detik
1 komentar
Komentar Hacker News
Ini cerita yang saya dengar dari seorang insinyur lama Apple: pada masa MacOS 8.x, keluhan terbesar dalam riset pengguna adalah waktu booting.
Saat itu rata-rata butuh sekitar 45 detik, sementara sistem sudah mendukung sleep, jadi mereka bertanya mengapa orang-orang begitu peduli pada waktu booting.
Ternyata orang tidak sekadar reboot sekali sehari atau sekali seminggu, melainkan sering reboot karena ketidakstabilan. Pada rilis baru, mereka memang memperbaiki booting, tetapi lebih berfokus pada menstabilkan sistem operasi.
Akibatnya, keluhan tentang waktu booting menghilang—bukan karena booting menjadi luar biasa cepat, melainkan karena orang jadi jauh lebih jarang reboot. Pelajarannya: kita harus memahami bukan hanya apa yang diminta pelanggan, tetapi juga mengapa mereka memintanya.
Aturan patching-nya juga tidak jelas; misalnya, bisa saja ada jalur kode yang mengalokasikan memori di dalam patch untuk system call, padahal itu tidak boleh dilakukan karena memory manager tidak reentrant.
Selain itu, kode yang berjalan dibangun dengan compiler C pada masa itu, dan alat untuk mencegah penulisan memori di luar batas juga sangat terbatas.
MacOS 8 juga memperkenalkan proteksi memori yang sangat terbatas, tetapi dalam situasi nyata tidak banyak membantu. Dalam konteks ini, ceritanya lebih tentang kemampuan dan kemauan organisasi untuk merasionalisasi masalah.
Masalah ini nyaris membunuh Apple sebagai bisnis.
Ketika seorang teman pertama kali menunjukkan Mac OS X kepada istrinya lalu mencoba mematikannya, istrinya mengernyit dan berkata, “Yang saya suka dari Mac justru karena bisa langsung mati,” lalu teman saya menjawab, “Kalau begitu kamu harus mencari hal lain yang kamu sukai dari Mac OS.”
Kalau sekarang lebih cepat, tunggu saja beberapa tahun. Para developer akan membiarkan cukup banyak regresi performa lolos sampai waktunya kembali ke kisaran itu.
Sepertinya saya pernah mendengar cerita ini lalu melupakannya. Saat memimpin tim instalasi, unduhan, dan patch di Blizzard, saya biasa berkata kepada tim, “Kalau 10 juta orang mengunduh dan memasang patch ini, lalu kita membuat mereka menghabiskan 1 menit ekstra, berarti kita menghabiskan sebagian lain dari umur manusia.”
Itu memang berlebihan dan agak norak, tetapi membantu mendorong perbaikan.
Metrik yang lebih penting saya dorong adalah kecepatan cahaya. Pada masa instalasi dari DVD, kecepatan putaran disk adalah kecepatan cahaya untuk lingkungan itu, jadi instalasi harus sedekat mungkin dengan kecepatan tersebut.
Kita harus terus meningkatkan kecepatan kerja sampai menabrak batas fisik; waktu itu berharga dan tidak bisa didapat kembali.
Saat menerapkan peningkatan performa infrastruktur besar, intinya bukan sekadar kecepatan atau biaya yang dihemat, melainkan bahwa CO2 di atmosfer berkurang dan waktu manusia yang tersebar di jutaan orang dipakai untuk hal lain selain menunggu respons komputer.
Kita bukan dokter yang menyelamatkan nyawa individu, tetapi kita bisa mengembalikan sebagian hidup kepada orang-orang. Beberapa perangkat lunak dipakai ratusan juta hingga miliaran orang, jadi perubahan kecil pun bisa menghemat waktu yang setara dengan beberapa “kehidupan”.
Kalau ingatan saya benar, distribusi patch berbasis torrent untuk WoW dan sejenisnya benar-benar dibuat dengan baik, dan itu terutama mengesankan di industri yang tekanannya besar.
Saya melihat banyak insinyur yang bisa dibilang bekerja keras, tetapi sering kali mereka hampir tidak meluangkan waktu untuk memahami hardware yang mereka jalankan dan apa yang mungkin dilakukan di atasnya.
Dalam diskusi performa, saya terlalu sering mendengar kata “lambat” atau “cukup baik”, padahal mesin dasar dan batas yang mungkin dicapai benar-benar diabaikan.
Fitur favorit saya adalah dukungan pemuatan bertahap. WoW adalah game yang sangat besar, tetapi Anda bisa mulai bermain hanya dengan sebagian aset; game dapat menampilkan placeholder dan aset berkualitas rendah sebagai penurunan kualitas, atau bahkan melewati area tertentu sama sekali.
Bahkan dari instalasi yang benar-benar baru, Anda bisa bermain dalam hitungan menit. Para pemain umumnya menganggapnya wajar, tetapi saya merasa berterima kasih karena upaya untuk mengganti roda kereta yang sedang melaju sambil mengirimkan data sangat besar dengan performa tinggi tanpa banyak masalah pasti luar biasa besar.
Saya ragu apakah itu penggunaan waktu yang benar-benar jauh lebih baik daripada menunggu unduhan.
Steve Jobs selalu mengarang sesuatu untuk memotivasi dan mendorong orang, semacam yang disebut reality distortion field
Menurut Mike Slade, sekitar 1990 Jobs pernah mencoba merekrutnya dari Microsoft ke NeXT. Saat itu Microsoft sedang menjelang hit besar Windows 95, sementara NeXT sedang kesulitan menjual komputer
Jobs berkata kepada Slade bahwa bakatnya akan terbuang sia-sia jika ia tetap di Seattle, dan bahwa Silicon Valley adalah pusat kegairahan dan aktivitas tempat ia bisa berkembang
Lalu ia menggambarkan Palo Alto sebagai “tempat istimewa” seperti Florence pada masa Renaisans Italia, dan berapi-api secara spontan mengatakan tempat itu penuh bakat sampai-sampai saat berjalan di jalan, satu saat bisa bertemu seorang cendekiawan, saat berikutnya seorang astronaut
Slade begitu terpesona oleh penjelasan itu sampai memutuskan pindah ke Palo Alto. Setahun kemudian, saat makan bersama istrinya di Il Fornaio, restoran jaringan Italia di University Avenue, Palo Alto, ia melihat bagian belakang menu dan mendapati cerita yang sama tertulis di sana, dengan kalimat seperti “Palo Alto seperti Florence pada zaman Renaisans…”
Pada akhirnya, Jobs pada dasarnya meyakinkan orang dengan teks menu dari restoran jaringan yang ia sukai, bahkan copy iklan yang tidak begitu bagus; Slade mengenangnya sebagai “pembual yang benar-benar tak tahu malu”
https://www.cultofmac.com/573753/how-jobs-poached-a-microsof...
Ketika bekerja di sana beberapa tahun lalu, hal yang paling saya ingat dari jalanan Palo Alto hanyalah bau pesing yang menyengat dari lorong bawah tanah di bawah Caltrain Station
Sulit dipercaya seorang engineer profesional yang cerdas, yang saat itu bekerja di salah satu perusahaan terbesar dan paling bergengsi di dunia, berhenti kerja dan memindahkan seluruh hidupnya ke negara bagian lain hanya karena calon pemberi kerja berkata “percayalah, ini keren banget”
Untuk mengambil keputusan seperti itu, setidaknya ia mungkin naik pesawat ke sana, melihat apartemen, mengunjungi kantor, dan sebagainya. Ceritanya memang keren, tapi pasti ada lebih banyak konteks
Itu restoran yang didatangi ketika semua pilihan lain sudah penuh dipesan atau sudah terlalu larut untuk menyetir lebih jauh
Itu adalah pusat dunia komputasi, dan benar-benar ada kejadian bertemu orang-orang luar biasa secara acak di tempat seperti Fry’s, restoran, atau bar
Saya rasa anak muda sekarang tidak begitu memahami bahwa banyak hal di sekitar teknologi hari ini berakar di South Bay dan Peninsula tahun 90-an
Programmer dan engineer harus menerapkan cara berpikir seperti ini secara menyeluruh. Total waktu yang dihabiskan menunggu software lambat itu sangat besar, dan lebih banyak tim pengembang seharusnya menempatkan performa sebagai prioritas yang lebih tinggi
Kita memang tidak secara sadar menjumlahkan semua waktu yang terbuang karena software dan layanan lambat, tetapi pada saat itu secara bawah sadar sistem terasa seperti memusuhi kita, membuat tidak nyaman dan kesal
Begitu memikirkannya sedikit saja secara sadar, kita jadi meremehkan para engineer dan project leader yang percaya bahwa sesuatu yang mereka buat sudah cukup layak untuk dirilis
Mengingat kemampuan pemrosesan komputer modern, menunggu ratusan milidetik untuk permintaan sepele, atau jauh lebih lama untuk permintaan yang sedikit kompleks, adalah bukti kelalaian serius dari programmer
Pada Kamis malam, pacar saya meminta saya membersihkan MacBook lama. Hanya ada beberapa langkah: melepas kaitan akun yang terikat ke hardware, mencari cara menghapus kunci firmware yang mungkin dulu saya atur, instalasi baru, update, dan semacamnya
Namun beberapa langkah atau restart memakan waktu lebih dari beberapa detik, dan pekerjaan itu terus menggoda saya untuk mengerjakan hal lain, sehingga butuh 6 bulan
Setelah berkali-kali terputus, saya menaruhnya di meja di samping keyboard, lalu menyelesaikannya dalam total 30 menit yang tersebar selama 6 jam, dan itu terasa seperti kemenangan
Kalau ada orang yang mengikat tangan saya ke laptop itu mungkin akan selesai lebih cepat, tetapi saya tidak bisa membayangkan penderitaan dipaksa menatap layar kosong, progress bar, dan indikator berputar
Pengecualiannya adalah hal seperti batch job yang berjalan lama
Komputer biasa dulu bisa cold boot dalam 30 detik dari hard disk piringan 5400rpm, jadi saya heran kenapa dengan NVMe SSD modern pun tidak bisa boot dalam 1 detik
Windows 95, termasuk sebagian besar fiturnya, ukuran instalasinya sekitar 50MB, dan Windows 2000 muat dalam satu CD instalasi
Installer Windows 10 sekarang bahkan tidak muat dalam DVD single-layer, dan memasang dari USB stick FAT32 pun harus ditinggalkan. Sebagian UEFI lama masih belum bisa menangani exFAT
Komputer yang secara rasa paling cepat pernah saya pakai adalah mesin dual Pentium 3 866, Rambus, disk 15k U320 SCSI yang menjalankan boot XP; rasanya hampir seperti telepati
Ini tampaknya masalah lama: semakin banyak barang rongsokan yang ditumpuk Windows, semakin lama boot-nya
Font sistem dulu juga sekitar 200 karakter, tetapi sekarang memuat puluhan ribu karakter
Jika diekstrapolasikan ke semua hal lain, cukup jelas bahwa ada jauh lebih banyak yang harus dimuat
Cukup cepat sampai tidak mengganggu
Jika harus menunggu komputer, berarti komputer itu belum cukup cepat
Logika Steve di sini sudah banyak dipakai di industri, dan karena nadanya seperti kalau gagal berarti pembunuh, ini hampir bisa disebut pemerasan emosional, tetapi tetap saja klasik
Sangat mudah menyalahkan pengguna atas software yang lambat, atau menyalahkan PM maupun organisasi yang mendorong fitur dan kecepatan pengembangan alih-alih kecepatan produk
Slogan Steve di sini berarti bahwa kinerja software punya dampak nyata pada kehidupan sehari-hari, dan menunjukkan hal itu bukanlah pemerasan emosional
Setelah peluncuran iPad, Jobs konon masuk ke rapat tim Mac sambil membawa iPad, membangunkannya, dan perangkat itu langsung menyala
Lalu ketika ia membangunkan Mac, butuh waktu untuk keluar dari mode tidur, dan Jobs bertanya semacam, “Kenapa yang ini tidak bisa seperti itu?”
Tanpa iPad yang menunjukkan bahwa hal itu mungkin, perdebatan tentang kecepatan memori dan kecepatan disk mungkin akan terus berlanjut, dan sleep/wake Mac yang lebih cepat menjadi tekanan yang juga membuat Windows lebih baik
Jika logika ini benar, bagaimana dengan begitu banyak animasi di berbagai bagian UI saat ini?
Selain untuk membuatnya terlihat bagus pada beberapa puluh kali pertama dilihat, sering kali itu hanya membuang waktu
App switcher di ponsel yang saya pakai memakan 0,5–1 detik jika animasi aktif, tetapi jika animasi dimatikan, perpindahannya praktis langsung
Jika layar langsung berubah menjadi tata letak yang sama sekali berbeda, pengguna butuh waktu untuk memprosesnya secara visual; tetapi jika elemen-elemen bergerak dengan interpolasi ke posisi baru, waktu pemrosesan itu berkurang sepanjang durasi animasi
Biasanya sekitar 0,25 detik, bukan 0,5 atau 1 detik
Bagi pencinta kecepatan atau power user, ini bisa terasa mengganggu sehingga boleh saja dimatikan, tetapi target penggunanya adalah pengguna rata-rata, bukan orang yang sudah menghafal setiap sudut UI lewat muscle memory
Sebagian animasi bisa tumpang tindih dengan pekerjaan yang memang memakan waktu, sehingga pengguna merasa ada respons sambil tetap menunggu. iOS tampaknya melakukan ini ketika beralih ke aplikasi yang sudah di-swap ke disk; karena memang ada waktu loading, animasi mengompensasi sebagian delay itu
Tanpa animasi, pengguna bisa mengira aksinya tidak berhasil dilakukan lalu mencoba memberi input berulang, yang berujung pada frustrasi
Sebagian animasi diperlukan untuk menjaga orientasi pengguna dalam alur UI. Misalnya, animasi minimize memindahkan jendela ke ikon yang harus ditekan saat ingin memulihkannya, sekaligus membantu membedakan close dan minimize
Sebagian animasi diperlukan untuk memberi feedback yang tepat sambil tetap mempertahankan responsivitas. Saat menggulir daftar di layar sentuh, tanpa animasi pegas di ujung daftar, pengguna tidak punya cara untuk tahu apakah itu sudah ujung daftar atau layar sentuhnya berhenti merespons
UI sistem konsol video game dan sebagian menu game terasa sangat buruk dalam hal ini
Animasi pendek 200 ms pada 25 fps hanya punya 5 frame, sehingga terlihat patah-patah dan murahan
Jika dibuat 1000 ms, terlihat mulus dan bagus, tetapi menyedihkan untuk dipakai
Solusi yang mungkin tidak populer: pakai iPhone. App switcher-nya bergerak secepat gerakan jari, dan tidak bermasalah menjaga 60fps yang konsisten
Tidak sampai tidak bisa dipakai, tetapi cukup terasa; ternyata kecepatan animasi default-nya terlalu rendah
Setelah saya naikkan dua kali lipat, semuanya terasa 1.000 kali lebih baik
Windows 11 butuh sekitar 12 menit untuk boot dari HDD. Bayangkan saja mencoba boot dari FDD
Setelah memasang Windows 11, menunggu semua update terpasang dari HDD memakan waktu sekitar 8 hari
https://www.youtube.com/watch?v=MpNagBwWlNk
Beberapa waktu lalu, saat mencoba membuat sistem dual boot, saya merusak partisi iMac 2017 yang memakai Fusion drive, dan sejak itu Mac tersebut menjadi lambat
Dari mulai menyala sampai cukup layak dipakai mungkin butuh sekitar 5 menit, pokoknya cukup lama
Akhir pekan lalu saya muak dengan kelambatannya lalu mencari-cari, dan menemukan perintah
diskutil resetFusion0 untuk mengembalikan partisi ke defaultSetelah menjalankan perintah ini dan memasang ulang OS, iMac itu kembali cukup cepat. Tidak hebat, tetapi jauh lebih baik daripada sebelumnya
Pelajaran yang saya dapat: dual boot di Fusion drive adalah ide buruk
Biasanya mesin Windows 10 saya reboot beberapa bulan sekali, dan departemen IT kami menyiapkan PC Windows dalam waktu sekitar satu jam
Sepertinya ada sesuatu yang sangat tidak beres, tetapi saya bukan ahli IT
Saya ingat dulu pernah melihat artikel dan diskusi tentang InterBase (sekarang FireBase). Isinya tentang bagaimana model penyimpanan dan pemulihan swasembuh penting dalam skenario tertentu, dan saat itu ada kutipan seperti ini
“AFATDS terdiri dari 935.000 baris kode Ada yang berjalan di workstation HP RISC dan Light Weight Computer Units milik Army,” kata John Williams dari Magnavox Electronic Systems Company, kontraktor utamanya
“Kami membutuhkan satu basis data yang bisa diperluas dan berjalan di seluruh platform Unix dan PC. Produk itu harus cepat dipasang, serta memberikan ketersediaan tinggi tanpa memonopoli sumber daya sistem”
“Dukungan keputusan dengan karakter seperti ini membutuhkan arsitektur modular dan fleksibel yang mendukung baik pemrosesan terdistribusi maupun basis data terdistribusi. Karena itu kami memilih InterBase. Kinerjanya lebih baik daripada produk pesaing dan meyakinkan kami bahwa ia dapat diandalkan bahkan dalam situasi hidup-mati”
Konteks persis diskusinya adalah bahwa pada beberapa tank, saat meriam utama ditembakkan, terjadi peristiwa EMP internal yang dapat membuat sistem reboot, sehingga diperlukan waktu reboot dan pemulihan yang sangat cepat agar bisa menembak lagi
Saya bertanya-tanya bagaimana jadinya jika Steve tahu berapa banyak kehidupan jutaan orang yang akan hilang karena menggulir tanpa henti di atas selembar kaca kecil