Apa pun teknologi virtualisasi yang saya gunakan
Ingat hari-hari ketika sistem dengan lebih dari 512 MB RAM dianggap berdarah? Saya menghabiskan hari-hari saya menulis kode untuk sebelumnya.
Saya bekerja sebagian besar pada program tingkat rendah yang berjalan pada domain istimewa di lingkungan Xen. Langit-langit kami untuk domain istimewa adalah 512 MB, meninggalkan sisa RAM gratis bagi pelanggan kami untuk digunakan. Ini juga tipikal bagi kita untuk membatasi domain istimewa hanya pada satu inti CPU.
Jadi di sinilah saya, menulis kode yang akan berjalan pada server $ 6k yang benar-benar baru, dan setiap program harus bekerja (idealnya) dalam plafon yang dialokasikan 100kb, atau menghindari alokasi memori dinamis sepenuhnya.
Secara ringkas, saya mengoptimalkan untuk:
- Jejak memori
- Urutkan (di mana sebagian besar kode saya menghabiskan sebagian besar waktunya)
Saya juga harus sangat rajin dalam hal waktu yang dihabiskan menunggu kunci, menunggu I / O atau hanya menunggu secara umum. Sejumlah besar waktu saya digunakan untuk meningkatkan perpustakaan soket non-blocking yang ada dan mencari metode yang lebih praktis untuk pemrograman bebas kunci.
Setiap hari saya merasa agak ironis bahwa saya menulis kode seperti yang saya lakukan 15 tahun yang lalu, pada sistem yang dibeli bulan lalu, karena kemajuan teknologi.
Ini adalah tipikal bagi siapa saja yang bekerja pada platform tertanam juga, meskipun banyak dari mereka yang memiliki setidaknya 1GB. Seperti yang ditunjukkan Jason, itu juga khas ketika menulis program untuk dijalankan pada perangkat seluler. Daftar berjalan, Kios, klien tipis, bingkai foto, dll.
Saya mulai berpikir bahwa pembatasan perangkat keras benar-benar memisahkan programmer dari orang-orang yang dapat membuat sesuatu berfungsi tanpa peduli apa yang sebenarnya dikonsumsi. Saya khawatir (turunkan suara saya jika Anda harus) bahasa apa yang sepenuhnya tipe abstrak dan memeriksa memori ke kumpulan kolektif akal sehat yang (dulu) dibagi di antara programmer dari berbagai disiplin ilmu.