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