Rumah >hujung hadapan web >tutorial js >Editorial: untuk penanda aras, atau tidak untuk penanda aras?
SunSpider mempunyai dua masalah. Pertama, ia didasarkan pada mikrobenchmarks (berfikir beribu-ribu ujian untuk membuat tatasusunan baru), yang tidak mencerminkan penggunaan dunia nyata dengan tepat. Kedua, kedudukan SunSpider mengambil banyak berat di kalangan pengeluar pelayar, yang membawa beberapa vendor untuk mengoptimumkan enjin JavaScript mereka untuk skor penanda aras yang lebih baik daripada memenuhi keperluan program sebenar. Dalam sesetengah kes, tweak ini juga menyebabkan kod pengeluaran berjalan lebih perlahan daripada sebelumnya!
Octane memberi tumpuan kepada cuba membuat ujian yang lebih tepat mensimulasikan beban kerja sebenar dan menjadi standard untuk mengukur pelaksanaan JavaScript. Walau bagaimanapun, pengeluar pelayar telah terperangkap semula dan kami melihat pengoptimuman untuk ujian oktana. Ini bukan untuk mengatakan bahawa penandaarasan tidak berguna. Persaingan di kalangan pelayar sememangnya membawa kepada peningkatan yang ketara dalam prestasi JavaScript.
untuk menjadi jelas, saya tidak menargetkan MoonJs di sini. Fokus pada kelajuan ini sangat biasa, terutamanya dalam perpustakaan UI (contohnya, lihat mana -mana klon React). Walau bagaimanapun, seperti yang kita lihat dalam contoh Sunspider dan Octane, penandaarasan boleh mengelirukan. Banyak perpustakaan dan rangka kerja JavaScript moden menggunakan beberapa bentuk DOM maya untuk menjadikan output. Dalam mengkaji pelaksanaan yang berbeza, Boris Kaul meluangkan sedikit masa meneliti kaedah untuk mengukur prestasi DOM maya dan mendapati bahawa prestasi VDOM agak mudah untuk menyesuaikan untuk mencapai hasil yang baik dalam penanda aras. Kesimpulannya ialah: "Apabila anda memilih rangka kerja atau perpustakaan, jangan gunakan nombor dari mana -mana penanda aras kerangka web untuk membuat keputusan anda."
Apabila membandingkan berdasarkan kelajuan yang dituntut perpustakaan, ada alasan lain untuk berhati -hati. Adalah penting untuk diingat bahawa, seperti SunSpider, banyak tanda aras adalah mikroba mikro;Ia juga bernilai mempertimbangkan kepentingan kelajuan untuk kes penggunaan khusus anda. Membina aplikasi CRUD yang mudah tidak mungkin mengatasi mana -mana perpustakaan UI, dan keluk pembelajaran, kolam bakat yang ada, dan kebahagiaan pemaju juga merupakan pertimbangan penting. Saya telah melihat banyak perbincangan pada masa lalu mengenai sama ada Ruby terlalu lambat untuk membina aplikasi web, tetapi walaupun pilihan yang lebih cepat, masih terdapat banyak aplikasi yang ditulis dalam Ruby dan terus ditulis dalam Ruby.
Metrik kelajuan boleh mengelirukan, tetapi mereka juga boleh menggunakan terhad bergantung kepada apa yang anda bina. Seperti semua peraturan ibu jari dan amalan yang baik, lebih baik untuk berhenti dan berfikir tentang bagaimana (atau sama ada) ia terpakai kepada keadaan anda. Saya ingin mengetahui pengalaman anda: Adakah anda menggunakan perisian dalam amalan yang tidak memenuhi pernyataan penanda arasnya? Adakah anda telah membina aplikasi di mana perbezaan kelajuan penting? Tolong tinggalkan mesej untuk memberitahu saya!
penanda aras JavaScript adalah proses yang mengukur prestasi coretan atau fungsi kod tertentu. Ia membantu pemaju memahami betapa cekap kod mereka dan mengetahui di mana penambahbaikan diperlukan. Dengan membandingkan masa pelaksanaan coretan kod yang berbeza, pemaju boleh memilih penyelesaian yang paling berkesan untuk memenuhi keperluan mereka. Penandaarasan adalah kritikal dalam pembangunan JavaScript kerana ia secara langsung mempengaruhi pengalaman pengguna, terutamanya dari segi kelajuan dan respons aplikasi web.
SunSpider adalah alat penanda aras JavaScript yang popular yang dibangunkan oleh WebKit. Ia menjalankan satu siri ujian pada enjin JavaScript dan mengukur masa yang diperlukan untuk menyelesaikan setiap ujian. Ujian ini meliputi semua aspek JavaScript, termasuk aliran kawalan, pemprosesan rentetan, dan pengiraan matematik. Semakin pendek masa, semakin baik prestasi enjin JavaScript.
Walaupun semua alat penanda aras bertujuan untuk mengukur prestasi JavaScript, mereka berbeza -beza dalam jenis ujian yang dijalankan dan hasilnya dikira. SunSpider memberi tumpuan kepada kes penggunaan dunia sebenar dan mengelakkan mikrobenchmarks yang menguji hanya satu ciri. Alat lain seperti jsben.ch dan jsbench.me membolehkan pemaju membuat dan menjalankan ujian mereka sendiri, memberikan fleksibiliti yang lebih besar.
Hasil penanda aras biasanya memberikan pengukuran masa, yang menunjukkan berapa lama masa yang diperlukan untuk operasi tertentu selesai. Lebih pendek masa, lebih baik prestasi. Walau bagaimanapun, menafsirkan hasil ini memerlukan pemahaman konteks. Sebagai contoh, beberapa milisaat perbezaan mungkin tidak penting dalam antara muka pengguna, tetapi mungkin kritikal dalam aplikasi pelayan berprestasi tinggi.
Ya, penanda aras adalah cara yang sama untuk membandingkan prestasi enjin JavaScript yang berbeza. Dengan menjalankan ujian yang sama pada enjin yang berbeza, anda dapat memahami prestasi relatif mereka. Walau bagaimanapun, ingat bahawa prestasi dunia sebenar dipengaruhi oleh banyak faktor, dan hasil penanda aras hanyalah sebahagian kecil daripada teka-teki.
alat seperti jsben.ch dan jsbench.me membolehkan anda menulis dan menjalankan penanda aras JavaScript anda sendiri. Anda boleh menggunakan alat ini untuk menguji coretan kod tertentu atau membandingkan cara yang berbeza untuk menyelesaikan masalah. Apabila membuat penanda aras, adalah penting untuk membuat ujian sebagai realistik yang mungkin dan menjalankannya beberapa kali untuk mendapatkan pengukuran yang tepat.
Walaupun penanda aras adalah alat yang berkuasa, ia juga mempunyai batasannya. Mewujudkan ujian kehidupan sebenar boleh menjadi sukar, dan hasilnya boleh dipengaruhi oleh banyak faktor, termasuk perkakasan dan persekitaran perisian tertentu. Di samping itu, terlalu fokus pada hasil penanda aras boleh membawa kepada pengoptimuman yang lebih tinggi dan pemaju menghabiskan terlalu banyak masa meningkatkan kod yang mempunyai sedikit kesan terhadap prestasi keseluruhan.
Penandaarasan adalah bahagian penting dalam proses pembangunan kerana ia membantu pemaju mengenal pasti kemunculan prestasi dan mengesahkan bahawa perubahan mereka meningkatkan prestasi. Walau bagaimanapun, ia bukan satu -satunya alat untuk menilai kualiti kod anda. Faktor lain seperti kebolehbacaan, kebolehkerjaan dan fungsi juga penting.
Ya, tanda aras boleh membantu anda mengenal pasti bidang kod yang menyebabkan permohonan anda melambatkan. Dengan mengoptimumkan bidang ini, anda boleh meningkatkan prestasi keseluruhan aplikasi anda. Walau bagaimanapun, ingat bahawa prestasi hanya satu aspek aplikasi web berkualiti tinggi. Kegunaan, fungsi dan reka bentuk juga penting.
kekerapan ujian penanda aras bergantung kepada sifat projek. Untuk aplikasi kritikal prestasi, anda mungkin mahu ditanda aras secara teratur, walaupun selepas perubahan kecil. Untuk aplikasi yang kurang kritikal, penandaarasan boleh dilakukan kurang kerap, seperti selepas perubahan besar atau sebelum versi baru dikeluarkan.
Atas ialah kandungan terperinci Editorial: untuk penanda aras, atau tidak untuk penanda aras?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!