公司網(wǎng)站制作JavaScript引擎優(yōu)化技術(shù)
日期 : 2021-01-22 21:10:38
JavaScript引擎優(yōu)化技術(shù)主要是基于即時編譯的預(yù)先編譯方法。它的主要原理是將上一次網(wǎng)頁或應(yīng)用執(zhí)行過程中生成的特定函數(shù)的字節(jié)碼或機器碼保存下來。
下一次相同的Web應(yīng)用再次運行時直接執(zhí)行已保存的特定函數(shù)的字節(jié)碼或機器碼。預(yù)先編譯和即時編譯的不同之處在于即時編譯是發(fā)生在單次Web應(yīng)用或網(wǎng)頁運行過程中的,是在網(wǎng)頁和Web應(yīng)用每次加載或運行的時候都要進行的,而預(yù)先編譯面向的是Web應(yīng)用多次運行過程,將上次網(wǎng)頁和Web應(yīng)用加載或運行的時候保存的機器碼或字節(jié)碼用于下次網(wǎng)頁的加載或Web應(yīng)用的運行。
依據(jù)保存的代碼類型不同,預(yù)先編譯方法可以分為基于字節(jié)碼的預(yù)先編譯方法、基于機器碼的預(yù)先編譯和自適應(yīng)預(yù)先編譯方法。基于字節(jié)碼的預(yù)先編譯方法保存熱點函數(shù)的字節(jié)碼供下次使用,基于機器碼的預(yù)先編譯方法將熱點函數(shù)的機器碼或優(yōu)化的機器碼保存下來供下次使用,自適應(yīng)預(yù)先編譯方法綜合基于字節(jié)碼和基于機器碼的預(yù)先編譯方法,基于一定的代價模型對熱點函數(shù)的字節(jié)碼或機器碼進行自適應(yīng)選擇。
下一次相同的Web應(yīng)用再次運行時直接執(zhí)行已保存的特定函數(shù)的字節(jié)碼或機器碼。預(yù)先編譯和即時編譯的不同之處在于即時編譯是發(fā)生在單次Web應(yīng)用或網(wǎng)頁運行過程中的,是在網(wǎng)頁和Web應(yīng)用每次加載或運行的時候都要進行的,而預(yù)先編譯面向的是Web應(yīng)用多次運行過程,將上次網(wǎng)頁和Web應(yīng)用加載或運行的時候保存的機器碼或字節(jié)碼用于下次網(wǎng)頁的加載或Web應(yīng)用的運行。
依據(jù)保存的代碼類型不同,預(yù)先編譯方法可以分為基于字節(jié)碼的預(yù)先編譯方法、基于機器碼的預(yù)先編譯和自適應(yīng)預(yù)先編譯方法。基于字節(jié)碼的預(yù)先編譯方法保存熱點函數(shù)的字節(jié)碼供下次使用,基于機器碼的預(yù)先編譯方法將熱點函數(shù)的機器碼或優(yōu)化的機器碼保存下來供下次使用,自適應(yīng)預(yù)先編譯方法綜合基于字節(jié)碼和基于機器碼的預(yù)先編譯方法,基于一定的代價模型對熱點函數(shù)的字節(jié)碼或機器碼進行自適應(yīng)選擇。