Cloudflare, Mozilla et Facebook BinaryAST develop ut accelerare JavaScript loading

Machinatores de Cloudflare, Mozilla, Facebook et Bloomberg obtulerunt nova forma binaryAST accelerare traditionem et processus JavaScript codicem aperientes situs in navigatro. BinaryAST parsing phase ad partem ministranti movet et syntaxis abstractam arborem iam genitam praestat (AST). Recepta BinaryAST, navigatrum statim ad scaenam compilationem procedere potest, partiendo JavaScript fontem codicem praetermittens.

Nam experimento paratus referendi exsecutionem supplevit licentia sub MIT. Node.js tium pro parsing adhibentur, et in codice pro optimization et AST generatio scriptum est in Rust. Navigatoris latus firmamentum
BinaryAST iam praesto sunt in nocturnis builds Firefox. Encoder in BinaryAST adhiberi potest tum in fine loci instrumentorum instrumentorum, tum pro scriptoribus pacandis situs externi in parte procuratoris vel contenti traditionis retis. In statu processus normae BinaryASTI a coetu laborantium iam incohato ECMA TC39post quos forma contenti modi compressionis coexistere poterit, ut gzip et brotli.

Cloudflare, Mozilla et Facebook BinaryAST develop ut accelerare JavaScript loading

Cloudflare, Mozilla et Facebook BinaryAST develop ut accelerare JavaScript loading

Cum JavaScript expediendas, notabile tempus in oneratione et parsing periodo codicis consumitur. Considerans volumen JavaScript in multis locis popularibus prope 10 MB (exempli gratia, LinkedIn - 7.2 MB, Facebook - 7.1 MB, Gmail - 3.9 MB), processus JavaScript initialem notabilem moram inducit. Scaena parsing in latere navigatoris etiam retardatur ob impotentiam ad plene aedificandam AST in musca ut signum oneratur (the navigatrum habet ut exspecto codicem caudices ad onustionem perficiendam, sicut ad finem functionum, obtinendum. delatione defuit ad parse hodiernam elementa).

Problema partim solvere conantur dividendo signum in forma elevata et compressa, tum bytecode generatum a navigatro capiendo. In modernis locis, codice saepius renovatur, ita problema ex parte exceptum solvit. WebAssembly solutionem esse potuit, sed expressam typum in codice requirit et non bene apta est ad accelerandum processum JavaScript codice exsistendi.

Alia optio liberare paratam confectam bytecode pro JavaScript scriptorum, sed navigatoris machinamenta tincidunt contra eam sunt, quia tertia pars bytecode difficilis est cognoscere, eius processus directus potest ducere ad stratificationem interretam, periculum securitatis addito oriri et evolutionem facere. forma universalis bytecode requiritur.

BinaryAST permittit te aptare in evolutionis codice tuo currenti ac traditionis exemplar sine novo bytecode creando vel in lingua JavaScript mutando. Magnitudo notitiarum in forma BinaryAST comparabilis est cum JavaScript codice minuto compresso, et celeritas processus explicando fontem textus parsing notabiliter auget. Praeterea forma compilationem ad bytecode permittit sicut BinaryAST oneratur, sine exspectatione omnium notitiarum ad perficiendum. Praeterea, parsing in server parte permittit ut functiones insuetas excludere et codicem supervacuum e repraesentatione BinaryAST redditum, quae, cum pars in navigatoris parte, tempus terit et parsindi et negotiandi necessaria tradens.

A lineamento BinaryAST etiam facultas restituendi JavaScript readable, quod non est prorsus simile cum versione originali, sed semantically aequipollet et includit nomina variabilium et functionum (BinaryAST nomina servat, sed informationes de positionibus in loco non servat. codice, forma et comment). Alterum nummi latus est emergens vectorum novorum oppugnationum, sed secundum tincidunt, multo minores sunt et moderatiores quam cum alterutro utendo, ut bytecode distributio.

Expertus in facebook.com codice monstravit parsing JavaScript consumit 10-15% CPU opes et parsing plus temporis accipit quam generare bytecode et initialem codicem generationis JIT. In machinae SpiderMonkey tempus AST 500-800 ms sumit perfecte aedificandi, et usus BinaryAST hanc figuram per 70-90% redegit.
In genere, pro maxima pompa interretiali, cum usura BinaryAST, JavaScript parsing tempus minuitur 3-10% in modo sine optimiizatione et 90-97%, cum modus functionum insueta ignorans potens est.
Cum JavaScript 1.2 MB currit test institutum, usus BinaryAST permisit initium temporis ad accelerandum ab 338 ad 314 ms in ratio desktop (Intel i7) et ab 2019 ad 1455 ms in fabrica mobili (HTC One M8).

Source: opennet.ru