Hacker News

Ngaahi Koloa 'o e 'aukai 'i he V8 (2017)

Ngaahi Koloa 'o e 'aukai 'i he V8 (2017) Ko e 'analaiso kakato ko 'eni 'o e 'aukai 'oku ne 'omi 'a e sivi fakaikiiki 'o hono ngaahi konga tefito mo e ngaahi nunu'a lahi ange. Ngaahi Feitu'u Tefito 'o e Tokanga ʻOku fakatefito ʻa e fealēleaʻakí ʻi he: Ngaahi founga mo e ngaahi founga ngaue tefito ...

12 min read Via v8.dev

Mewayz Team

Editorial Team

Hacker News

Ngaahi Koloa vave 'i he V8: Founga 'oku fakaivia 'e he JavaScript 'a e misini 'a e ngaahi polokalama pisinisi fakaonopooni

Ko e ngaahi koloa vave 'i he V8 'oku 'uhinga ia ki he founga ngaue 'a e misini JavaScript ki hono tanaki mo e ma'u 'o e ngaahi koloa 'o e me'a 'o fakafou 'i he ngaahi kalasi fufuu mo e tanaki'anga 'i he me'a, 'o faka'ata ai 'a e fakahoko ofi-fakafonua ki he ngaahi kumi koloa. 'Oku mahu'inga 'a e mahino ki he founga fakalelei'i ko 'eni ki ha fa'ahinga langa 'o e timi 'a e ngaahi polokalama 'i he uepi 'oku mahu'inga 'aupito, mei he ngaahi dashboards SaaS ki he ngaahi sisitemi ngaue pisinisi kakato hange ko e Mewayz.

Fakafe'iloaki mo fakalelei'i 'i he ngaahi iterations lahi 'o e V8, 'Oku fakafofonga'i 'e he sipinga 'o e ngaahi koloa vave 'a e taha 'o e ngaahi tu'utu'uni faka'ata 'oku nunu'a lahi taha 'i he tisaini 'o e taimi lele 'o e JavaScript fakaonopooni. Ki he 138,000+ kau faka'aonga'i 'oku nau fakafalala ki he 207-module pisinisi OS 'a e Mewayz 'i he 'aho kotoa pe, 'Oku liliu fakahangatonu 'a e ngaahi optimizations ko 'eni 'i lalo-'i he-hood ki he taimi 'o e kavenga snappier, ngaahi fetu'utaki 'oku malimali ange, mo ha a'usia 'oku tali lelei ange 'i he workflow kotoa pe.

Ko e hā ʻa e ngaahi ʻulungaanga vave pea ko e hā ʻoku nau mahuʻinga ai ʻi he V8?

V8, ko e misini JavaScript 'i mui 'i he Google Chrome mo e Node.js, 'oku ne fakafa'ahinga'i 'a e ngaahi koloa 'o e me'a ki he ongo founga tefito: ngaahi koloa vave mo e ngaahi koloa 'o e tikisinale. 'Oku tanaki fakahangatonu 'a e ngaahi koloa 'o e 'aukai 'i he me'a pe 'o fakafou 'i ha linear storage array 'oku poupou'i 'e he ngaahi kalasi fufuu ('oku ui foki ko e "ngaahi mape" 'i loto). Ko e founga ko 'eni 'oku ne faka'ehi'ehi mei he 'olunga 'o e hash tepile lookups 'oku fakafalala ki ai 'a e founga tikisinale.

'I he taimi 'oku 'ilo'i ai 'e he V8 'oku muimui ha me'a ki ha fotunga 'oku lava ke tomu'a tala — 'uhinga 'oku tanaki atu 'a e ngaahi koloa 'i ha hokohoko tu'uma'u — 'oku ne vahevahe ha seini kalasi fufuu 'oku ne faka'ata 'a e misini ke ne fakafuofua'i 'a e ngaahi offsets 'o e koloa 'i he taimi 'o e compile kae 'ikai ko e taimi 'o e lele. Ko e ola ko e vave ange 'aupito 'a e ma'u 'o e koloa, taimi 'e ni'ihi 'i ha fakahokohoko 'o e lahi 'i hono fakafehoanaki ki he founga 'o e tikisinale.

'Oku mahu'inga 'eni koe'uhi ko e meimei ngaue kotoa pe 'i ha polokalama JavaScript 'oku kau ai 'a e 'alunga 'o e koloa. Ko hono fakahoko 'o ha dashboard, ngaue ki he fakamatala 'o e foomu, iterating 'o fakafou 'i he ngaahi lekooti — 'oku fakafalala 'a e ngaahi ngaue kotoa pe ko 'eni 'i he founga 'oku lelei ai 'a e misini 'oku ne ma'u 'a e ngaahi mahu'inga mei he ngaahi me'a.

'Oku anga fefe 'a e Fakapapau'i 'e he V8 'a e Vahevahe 'o e Tauhi'anga Koloa Vave mo e Tuai?

'Oku ngaue'aki 'e he V8 ha seti 'o e heuristics ke fakapapau'i pe ko e fē 'a e founga tauhi'anga ke faka'aonga'i. 'Oku kamata 'a e ngaahi me'a 'i he founga vave 'i he default, ka 'e lava ke fakatupu 'e he ngaahi sipinga pau ha liliu ki he founga tikisinale:

  • Tānaki atu ha ngaahi koloa lahi 'aupito 'i he founga faka'auha — 'E lava ke liliu 'a e ngaahi me'a 'oku tupu 'o fakalaka atu 'i ha tu'unga 'o e ngaahi koloa kuo fakahingoa ki he founga tikisinale ki he lelei 'o e manatu.
  • Tamate'i 'o e ngaahi koloa — Ko hono faka'aonga'i 'o e tamate'i 'a e ngaue 'i he koloa 'o ha me'a 'e lava ke ne motuhi 'a hono seini kalasi fufuu, 'o fakamālohi'i ha fallback ki he tanaki'anga tuai ange.
  • Ngaahi fotunga 'o e me'a 'oku 'ikai ke tatau — Ko hono fa'u 'o e ngaahi me'a 'o e "fa'ahinga" tatau ka ko hono tanaki atu 'o e ngaahi koloa 'i he ngaahi tu'utu'uni kehekehe 'oku ne fakatupu 'a e ngaahi kalasi fufuu kehekehe, 'o fakasi'isi'i 'a e ngaahi faingamalie fakalelei'i.
  • Ngaahi kī koloa kuo fakafuofuaʻi pe ʻikai lava ke tomuʻa tala — ʻOku taʻofi ʻe he ngaahi hingoa koloa ʻoku fakatupu ʻe he Dynamical ʻa e V8 mei hono langa hake ʻo e ngaahi liliu kalasi fufuu tuʻumaʻu.
  • Ngaahi koloa kuo faka'ilonga'i (hange ko e fakahokohoko) — 'Oku tokanga'i 'a e ngaahi kī 'o e koloa fakafika 'o fakafou 'i ha sisitemi 'elemeniti vave mavahe kae 'ikai ko e paipa koloa 'oku fakahingoa.

Ko e mahino ki he ngaahi triggers ko 'eni 'oku ne faka'ata 'a e kau developers ke nau tohi 'a e code 'oku nofo 'i he hala vave, 'o tauhi 'a e ngaahi lelei 'o e fakahoko 'oku 'omi 'e he V8 'o e 'atakai.

Ko e hā ʻe lava ke ako ʻe he ngaahi polokalama ʻo e māmani moʻoní mei he Sipinga ʻo e Koloa ʻa e V8?

Ko e ngaahi tefito'i mo'oni 'i mui 'i he ngaahi koloa vave 'oku fakalahi atu 'o fakalaka atu 'i he ngaahi me'a 'i loto 'o e misini. 'Oku nau fakafofonga'i ha filosofia lahi ange 'o e tu'uma'u 'o e fokotu'utu'u 'oku ne faka'ata 'a e fakalelei'i — ko ha fakakaukau 'oku faka'aonga'i tatau ki he tisaini 'o e schema 'o e database, API 'o e langa, mo e 'enisinia 'o e founga ngaue 'o e pisinisi.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

"Ko e fakahoko ngaue 'oku 'ikai fekau'aki ia mo hono fai vave ange 'o e ngaahi me'a — 'oku fekau'aki ia mo hono to'o 'o e ngaahi 'uhinga 'oku tuai ai 'a e ngaahi me'a. 'Oku ako'i kitautolu 'e he ngaahi koloa vave 'o e V8 ko e fokotu'utu'u 'oku lava ke tomu'a tala ko e fakava'e ia 'o e vave, tatau ai pe pe 'i ha misini JavaScript pe ko ha ngaue fakapisinisi kakato."

'I he Mewayz, 'oku fakahu 'a e filosofia ko 'eni 'i he'etau 'atakai 'o e peletifoomu. 'Oku fakataumu'a 'etau ngaahi modules takitaha 'o e 207 'o takatakai 'i he ngaahi fokotu'utu'u 'o e fakamatala tu'uma'u, 'oku lava ke tomu'a tala 'oku ne fakasi'isi'i 'a e 'olunga 'i he taimi 'oku liliu ai 'a e kau faka'aonga'i 'i he vaha'a 'o e CRM, pule'i 'o e poloseki, invoicing, HR, mo e ngaahi ngaue kehe 'e laui hongofulu. Hange pe ko hono fakapale'i 'e he V8 'a e ngaahi me'a 'aki 'a e ngaahi fotunga tu'uma'u, 'oku fakapale'i 'e he ngaahi sisitemi pisinisi 'a e ngaahi kautaha 'aki 'a e ngaahi founga ngaue kuo fakalukufua.

'Oku anga fefe hono faka'aonga'i 'e he ngaahi fa'unga fakaonopooni 'a e ngaahi fakalelei ko 'eni?

Kuo internalized 'e he kau fa'u tohi 'o e framework 'a e sipinga 'o e koloa 'o e V8 ke langa hake 'a e ngaahi laipeli vave ange. 'Oku fai 'e he fio 'o e React 'a e 'atakai, 'a e sisitemi reactivity 'a e Vue, mo e output 'a e Svelte 'oku fakatahataha'i kotoa 'a e ngaahi fili fakakaukau'i fekau'aki mo e ngaahi fotunga 'o e me'a ke kei 'i he hala vave 'o e V8. Ko e ngaahi ui 'o e ngaue monomorphic — 'a ia 'oku ma'u ma'u pe 'e ha ngaue 'a e ngaahi me'a 'oku 'i ai 'a e kalasi fufuu tatau — ko ha faka'aonga'i fakahangatonu ia 'o e 'ilo ko 'eni.

Ki he ngaahi tu'unga SaaS 'oku nau tokanga'i 'a e pule'i faingata'a 'o e pule'anga 'i he ngaahi fotunga 'e laungeau, 'Oku 'ikai ko ha me'a fakaako 'eni. 'I he taimi 'oku fakaava ai 'e ha tokotaha ngaue 'i he Mewayz ha dashboard 'o e poloseki 'oku ne to'o 'a e fakamatala mei he pule'i 'o e ngaue, muimui'i 'o e taimi, mo e ngaahi modules fakapa'anga 'i he taimi tatau, 'Oku fakapapau'i 'e he malava 'a e misini ke fakalelei'i vave 'a e ngaahi kumi koloa 'i he ngaahi me'a 'e lauiafe pe 'oku uta 'e he dashboard ko ia 'i he 200 millisecondspe sekoni 'e ua.

'Oku toe fakahoko foki 'e he ngaahi me'angaue langa fakaonopooni mo e ngaahi transpiler ha fatongia. 'I hono fakatupu 'o e code 'oku ne fakatupu 'a e ngaahi me'a 'oku 'i ai 'a e ngaahi fotunga tu'uma'u, 'Oku tokoni 'a e ngaahi me'angaue hange ko e esbuild mo e SWC ke fakapapau'i 'oku nofo 'a e code 'o e polokalama 'i loto 'i he pule'anga koloa vave 'o e V8 na'a mo e tupulaki 'a e source code 'i he faingata'a.

Ngaahi Fehuʻi ʻoku Faʻa ʻEke

'Oku kei fe'unga nai 'a e ngaahi koloa vave 'i he ngaahi liliu lolotonga 'o e V8?

ʻIo. Lolotonga e V8 kuo evolved lahi talu mei he 2017, 'Oku kei hoko pe 'a e tefito'i faikehekehe 'i he vaha'a 'o e vave (fufuu'i-kalasi-poupou'i) mo e tuai (tikisinale-founga) 'a e ngaahi koloa ko ha 'elemeniti fakava'e 'o e founga ngaue 'o e optimization 'o e misini. Kuo fakalelei'i 'e he ngaahi liliu fakaonopooni V8 'a e heuristics mo e ngaahi thresholds, ka 'oku 'ikai liliu 'a e tefito'i mo'oni faka'ata. Ko e tohi 'o e code 'oku ne ngaohi 'a e ngaahi me'a 'oku 'i ai 'a e ngaahi fotunga 'oku lava ke tomu'a tala 'oku kei hokohoko atu pe 'a e ngaahi lelei 'o e fakahoko 'oku lava ke fua 'i he 2026.

'E anga fefe ha'aku vakai'i pe 'oku ngaue'aki 'e he'eku ngaahi me'a 'a e ngaahi 'ulungaanga vave pe tikisinale?

'Oku 'omi 'e he Chrome DevTools mo e Node.js 'a e ngaahi me'angaue fakatotolo ki he me'a ni. Ko e --faka'ata-kau-fonua-syntax 'a e fuka 'i he Node.js 'oku ne faka'ata 'a e % HasFastProperties(obj) ngaue taimi lele, 'a ia 'oku ne fakafoki mai ha boolean 'oku ne fakahaa'i 'a e founga 'o e tanaki'anga koloa. 'I hono ngaohi, tokanga taha ki hono tohi 'o e code 'oku faka'ehi'ehi mei he ngaahi triggers 'oku lisi 'i 'olunga — hokohoko 'o e koloa tu'uma'u, 'ikai ha delete hono faka'aonga'i, mo e ngaahi founga langa 'o e me'a 'oku tatau — kae 'ikai ko e vakai'i 'i he taimi lele.

'Oku fakalelei'i 'e he Mewayz 'ene tu'unga 'o makatu'unga 'i he ngaahi me'a ko 'eni 'i loto 'o e V8?

ʻOku moʻoni ʻaupito. 'Oku fa'u 'e he timi 'enisinia 'a e Mewayz 'a e ngaahi fokotu'utu'u 'o e fakamatala mo e ngaahi 'atakai 'o e module 'aki 'a e 'ulungaanga 'o e misini JavaScript 'i he 'atamai. 'Oku ngaue 'etau 207-module pisinisi OS 'i he kau faka'aonga'i 'o e 138,000, pea ko hono tauhi 'o e ngaahi founga 'o e 'alunga 'o e koloa vave 'i he tu'unga ko e konga ia 'o e founga 'oku tau 'oatu ai 'a e fakahoko ngaue tali 'i he fua. Mei he'etau CRM ki he'etau ngaahi me'angaue pule'i 'o e 'inivenitoa, 'Oku langa 'a e module kotoa pe ke tauhi 'a e ngaahi me'a 'i he hala vave 'o e V8.

Langa Ho'o Pisinisi 'i ha Tu'unga Kuo 'Enisinia ki he Vave

Ko e 'enisinia fakahoko 'oku 'ikai ko e code pe — 'oku fekau'aki ia mo hono fili 'o e ngaahi me'angaue 'oku langa 'e he ngaahi timi 'oku mahino kiate kinautolu 'a e fakahoko 'i he layer kotoa pe. 'Oku fakataumu'a 'a e OS pisinisi 'a e Mewayz 'o e 207-module mei he kelekele ki he vave, scalability, mo e falala'anga, 'o ngaue ki he ngaahi pisinisi 'e 138,000+ 'i he ngaahi palani 'oku kamata mei he $19/mo pe.

Kamata ho'o 'ahi'ahi ta'etotongi 'i he app.mewayz.com pea a'usia 'a e ongo 'o ha tu'unga pisinisi 'oku fakahoko-'uluaki.

'Oku kei fe'unga 'a e ngaahi koloa vave 'i he ngaahi liliu lolotonga 'o e V8?","talitali":{"@fa'ahinga":"Tali","tohi":"'Io Lolotonga e V8 kuo evolve lahi talu mei he 2017, 'Oku kei hoko pe 'a e tefito'i faikehekehe 'i he vaha'a 'o e vave (fakapulipuli-kalasi-poupou'i) mo e tuai (tikisinale-mode) 'a e ngaahi koloa 'o e version optimization 'o e V8. heuristics mo e ngaahi thresholds, ka 'oku 'ikai liliu 'a e tefito'i mo'oni faka'aati 'oku ne fakatupu 'a e ngaahi me'a 'oku 'i ai 'a e ngaahi fotunga 'oku lava ke tomu'a tala 'oku hokohoko atu ke yie"}},{"@type":"Fehu'i","hingoa":"'E lava fēfē ke u vakai'i pe 'oku faka'aonga'i 'e he'eku ngaahi me'a 'a e 'aukai pe tikisinale. 'Oku 'omi 'e he Chrome DevTools mo e Node.js 'a e ngaahi me'angaue fakatotolo ki he me'a ni. tohi code 'oku faka'ehi'ehi mei he ngaahi triggers 'oku lisi 'i 'olunga \u2014 tu'uma'u 'a e koloa 'o e tu'utu'uni, 'ikai ha faka'aonga'i 'o e tamate'i, mo e ngaahi founga langa 'o e me'a 'oku tatau \u2014 kae 'ikai tha"}},{"@fa'ahinga":"Fehu'i","hingoa":"'Oku fakalelei'i 'e Mewayz 'ene tu'unga 'o makatu'unga 'i he ngaahi V8 ko 'eni. internals?","talitali":{"@fa'ahinga":"Tali","tohi":"'Oku mo'oni. 'Oku tisaini 'e he timi 'enisinia 'a e Mewayz 'a e ngaahi fokotu'utu'u 'o e fakamatala mo e ngaahi 'atakai 'o e module mo e 'ulungaanga 'o e misini JavaScript 'i he 'atamai 'Oku ngaue 'etau 207-module pisinisi 'a e fantaining pa. ko e konga ia 'o e founga 'oku tau 'oatu ai 'a e fakahoko 'o e tali 'i he me'afua Mei he'etau CRM ki he'etau ngaahi me'angaue pule'i 'o e 'inivenitoa, 'Oku langa 'a e module kotoa pe ke tauhi 'a e ngaahi me'a 'i he V8 'o e"}}]}.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime