- Seiring proyek menjadi semakin kompleks, sumber daya untuk pengujian performa juga meningkat pesat sehingga dibutuhkan sistem pengujian baru.
- Mereka menginginkan sistem pengujian ideal yang menjalankan tes untuk setiap perubahan kode, menyelesaikan pengujian dalam 10 menit, dan memungkinkan analisis hasil secara mendetail.
- Performa Figma terutama dipengaruhi oleh CPU dan GPU, dan setelah mempertimbangkan kelebihan serta kekurangan dari berbagai pendekatan, mereka membangunnya menjadi dua sistem besar.
- Sistem berbasis cloud
- Menggunakan VM dengan GPU yang menjalankan Headless Chromium untuk mengeksekusi pengujian secara paralel sehingga selesai dalam waktu 10 menit.
- Karena karakteristik VM mudah terpengaruh faktor eksternal, mereka menambahkan kelonggaran sekitar 20%.
- Sistem berbasis hardware
- Menjadwalkan semua pengujian pada sistem yang terdiri dari laptop lama (MacBook lawas, laptop Windows, Chromebook, dan sebagainya) untuk dijalankan secara berurutan.
- Pengujiannya memakan waktu lama, tetapi dapat melacak secara detail perubahan performa halus yang muncul pada perangkat nyata.
- Setelah membangun dua sistem pengujian ini dan berupaya meningkatkan performa, mereka memperoleh hasil yang positif.
- Peningkatan performa rendering
- Upaya meningkatkan performa rendering di lingkungan tempat GPU tidak dipasangkan dengan CPU modern.
- Hasil investigasi detail melalui stress test menunjukkan bahwa beberapa fitur menimbulkan overhead besar pada sebagian hardware.
- Dengan membagi waktu rendering secara rinci dan mengimplementasikan algoritma baru yang memprioritaskan pekerjaan lokal, mereka secara efektif meningkatkan performa pada hardware lama.
- Peningkatan performa FigJam
- Menulis pengujian memang sulit, tetapi dari pendekatan lama yang memperbaiki masalah setelah melihat pertanyaan pelanggan atau metrik, mereka kini bisa melihat hasil tes dan memperbaiki masalah lebih awal.
- Masalah yang sulit ditemukan dengan mudah, seperti perbedaan performa yang halus pada CSS, juga dapat ditemukan dan diperbaiki dengan mengulang pengujian puluhan kali.
- Terutama, kemampuan untuk melacak dengan tepat perubahan kode yang menyebabkan penurunan performa sangat membantu.
- Peningkatan performa adalah bidang yang rumit, tetapi karena apa yang dipikirkan manusia dan kenyataan sering kali berbeda, pengujian dan pengukuran performa sangatlah penting.
2 komentar
Bagus sih kalau ada peningkatan performa lewat pengujian... tapi sepertinya Figma masih tetap sangat lambat.
Di komentar HN juga cukup banyak keluhan bahwa itu sangat lambat. -_-
Saya terutama merasa sejak diakuisisi oleh Adobe, performanya jadi jauh lebih lambat (sebelumnya sebenarnya lebih cepat dari yang saya kira...)
Mungkin cuma perasaan saya saja?
Ringkasan AI dari thread HN