Ko e Fakamole 'o e Indirection 'i he 'ume'umea . | Mewayz Blog Skip to main content
Hacker News

Ko e Fakamole 'o e Indirection 'i he 'ume'umea .

Ngaahi fakamatala

13 min read Via blog.sebastiansastre.co

Mewayz Team

Editorial Team

Hacker News

Ko e Totongi 'o e Abstraction: Mahino 'a e ta'efakahangatonu 'i he 'ume'umea

Ko e 'ume'umea ko ha lea 'oku langa 'i ha tala'ofa malohi: ngaahi abstractions 'oku 'ikai ha totongi. 'Oku ne faka'ata 'a e kau developers ke nau tohi 'a e tu'unga ma'olunga, malu, mo e fakahaa'i 'o e code 'o 'ikai totongi ha tautea fakahoko 'i he taimi lele. Ko e filosofia ko 'eni 'oku tefito ia ki he 'uhinga 'oku mahulu hake ai 'a e Rust 'i he polokalama 'o e ngaahi sisitemi, mei he ngaahi sisitemi ngaue ki he ngaahi misini va'inga. Kaekehe, 'oku tangutu 'a e fakakaukau 'o e "indirection" 'i ha kolosi'anga fakaofo 'i he tisaini 'a Rust. Lolotonga 'oku fa'a mahu'inga ki he fe'unu'aki mo e malu, 'Oku 'ikai ke zero-cost ma'u pe 'a e indirection, pea 'e lava ke fakalongolongo hono faka'aonga'i hala 'o faka'auha 'a e fakahokohoko 'aupito 'oku ongoongoa 'a e 'ume'umea. Ki he ngaahi tu'unga hange ko Mewayz, ko ha OS pisinisi modular 'a ia 'oku mahu'inga taha ai 'a e ola lelei mo hono faka'aonga'i 'o e ma'u'anga tokoni 'oku lava ke tomu'a tala, mahino 'a e fakamole ko 'eni 'oku 'ikai fakaako-'oku mahu'inga ia ki hono langa hake 'o e robust, scalable pisinisi logic.

Ko e hā ʻa e Taʻefakahinohinó pea ko e hā ʻoku tau fie maʻu ai iá?

Ko e indirection ko ha founga fakapolokalama ia 'oku ke lave ai ki ha me'a 'oku 'ikai fakahangatonu, ka 'i ha layer fakavaha'apule'anga. 'I he 'ume'umea, 'a e ngaahi fotunga angamaheni taha ko e ngaahi faka'ilonga, ngaahi fakamo'oni, ngaahi me'a 'o e 'ulungaanga, mo e ngaahi faka'ilonga 'atamai hange ko e `Box`, `Rc`, pe `Arc`. ʻOku fuʻu fie maʻu ʻaupito ʻa e ngaahi meʻangāue ko ʻení. 'Oku nau faka'ata 'a e 'ulungaanga malohi, vahevahe 'o e fu'u 'akau, vahevahe 'o e 'ea, mo e polymorphism. Hange ko 'eni, 'Oku faka'ata 'e ha `Vec>` ke ke tanaki ha tanaki'anga 'o e ngaahi fa'ahinga kehekehe 'oku nau fakahoko kotoa 'a e 'ulungaanga `Draw`, ko ha sipinga angamaheni 'i he ngaahi sisitemi UI pe plugin architectures. Ka ne ta'e'oua 'a e indirection, 'e faingata'a 'aupito ke tohi 'a e code 'oku fe'unga, modular.

"Ko e abstraction ko e 'aati ia 'o e fufū 'o e faingata'a, pea ko e ta'efakahangatonu ko hono me'angaue tefito ia. 'I he 'ume'umea, ko e pole ke wield 'a e me'angaue ko 'eni 'o 'ikai tuku ke hoko 'a e fakamole 'o e abstraction ko ha tukuhau taimi lele."

Ko e Tukuhau Fakahoko Ngaue Fakapulipuli

Lolotonga 'oku fa'a "zero-cost" 'a e abstraction 'i he me'a 'oku ke lava tohi'i nima, 'oku fakafe'iloaki 'e he indirection 'iate ia pe 'a e 'olunga 'oku 'asi. 'Oku fakahaa'i 'a e fakamole ko 'eni 'i ha ngaahi tafa'aki mahu'inga:

  • Malu ki he Manatu (Mises 'o e Cache): Ko e muimui ki ha faka'ilonga 'oku fie ma'u ke puna ki ha tu'asila manatu kehe. 'E lava ke ikuna'i 'e he me'a ni 'a e CPU cache prefetching, 'o iku ai ki he lau 'oku fu'u tuai ange 'i hono fakafehoanaki ki he ngaahi fakamatala 'oku fehokotaki, 'i he laine.
  • Faka'auha Fakamalohi: 'Oku faka'aonga'i 'e he ngaahi me'a 'o e 'ulungaanga (`dyn 'ulungaanga`) 'a e ngaahi tepile faka'ata (vtables) ke fakalelei'i 'a e ngaahi ui 'o e founga 'i he taimi lele. 'Oku tanaki atu 'e he me'a ni ha ki'i 'olunga ki he kumi 'o e pointer pea ta'ofi 'a e inlining 'o e compiler, 'a ia 'e lava ke hoko ko ha fakapoongi fakalelei'i lahi ki he ngaahi loop vela.
  • Vahevahe 'o e Fu'u: Ko e ngaahi fa'ahinga hange ko e `Box` 'oku 'uhinga ia ki ha vahevahe 'o e fu'u, 'a ia ko e ngaahi tu'utu'uni 'o e lahi 'oku tuai ange ia 'i he vahevahe 'o e stack pea 'oku ne tanaki atu 'a e 'omi 'o e 'omi ki he vahevahe.
  • Ngaahi Seini Fakahangatonu: Ko e ngaahi la'ipepa lahi 'o e ta'efakahangatonu (e.g., ha `Puha` 'oku 'i ai ha `Rc` ki ha struct mo ha `Vec` 'o e ngaahi me'a 'o e 'ulungaanga) 'oku ne fakataha'i 'a e ngaahi fakamole ko 'eni, 'o 'ai 'a e ngaahi hala 'o e ma'u 'o e fakamatala ke tuai mo ta'ealafakafuofua'i.

'I ha OS pisinisi hange ko e Mewayz, 'a ia 'oku fie ma'u ai 'e he ngaahi modules ke nau ngaue'aki 'a e ngaahi vaitafe 'o e fakamatala, pule'i 'a e ngaahi ngaue, pea tali ki he ngaahi me'a 'oku hoko 'aki 'a e latency ma'ulalo, 'e lava ke fakatahataha'i 'a e ngaahi fakamole si'isi'i ko 'eni ki he macro-level lag, 'o uesia 'a e me'a kotoa pe mei he to'utangata lipooti ki he ngaahi fakafo'ou 'o e dashboard taimi mo'oni.

Ngaahi Founga ki hono Fakasi'isi'i 'i Ho'o Codebase

Ko e taumu'a 'oku 'ikai ke fakangata 'a e indirection-'oku 'ikai ke malava pe faka'amu ia-ka ke faka'aonga'i fakapotopoto ia. Ko e ngaahi founga tefito eni:

'Uluakí, fiefia ange 'i he ngaahi me'a fakalūkufua 'i he ngaahi me'a 'o e 'ulungaanga 'i he feitu'u 'oku malava. 'Oku faka'aonga'i 'e he generics 'a e monomorphization, 'o fa'u 'a e kehekehe, fakalelei'i 'o e code ki he fa'ahinga sima takitaha 'i he taimi 'o e fakatahataha'i. 'Oku tauhi 'e he me'a ni 'a e fetuku static pea 'oku ne faka'ata 'a e inlining. Uá,ʻuma ki he tisaini ʻoku fakatefito ʻi he fakamatalá. Tauhi 'a e fakamatala 'i he ngaahi fakahokohoko 'oku fehokotaki, cache-fakakaume'a (`Vec`) kae 'ikai ko e ngaahi tanaki'anga 'o e ngaahi puha 'oku fehokotaki. Ngaue'aki 'a e fakamatala 'i he ngaahi kulupu, 'ikai 'i he ngaahi seini 'o e ngaahi ui virtual. Tolú,fakaʻilongaʻi taʻetuku. Faka'aonga'i 'a e ngaahi me'angaue hange ko e `cargo flamegraph` ke 'ilo'i pe ko e ta'efakahangatonu 'a e bottleneck mo'oni; fa'a, 'oku si'isi'i 'a e fakamole kae 'oua kuo 'i ha hala mahu'inga.

💡 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 →

Langa ha Sisitemi Modular Lean mo e Mewayz

Ko e mahino nuanced ko 'eni 'o e fakamole versus 'a e fe'unu'aki 'oku ne faka'ilo fakahangatonu 'a e 'atakai 'o ha tu'unga hange ko e Mewayz. 'I hono tisaini 'o ha module ki he Mewayz OS, 'Oku fakalotolahi'i 'a e kau developers ke nau faka'aonga'i 'a e generics mo e static dispatch ki he uho, fakahoko-ongo'ingofua interfaces-hange ko e ngaahi paipa 'o e liliu 'o e fakamatala pe ngaahi misini fakafuofua. Lolotonga iá, 'oku kei haohaoa 'a e ngaahi me'a 'o e 'ulungaanga mo e uta 'o e malohi ki he tu'unga ma'olunga ange, ngaahi sisitemi plugin 'oku faka'aonga'i-extensible 'a ia ko e fe'unu'aki ko e fie ma'u tefito. 'I hono fai 'o e ngaahi fili fakataumu'a fekau'aki mo e indirection, 'e lava ke 'omi 'e he ngaahi modules 'o e Mewayz 'a e ngaahi pisinisi abstraction malohi 'oku fie ma'u 'o 'ikai feilaulau'i 'a e fakahokohoko 'o e deterministic 'oku nau fakafalala ki ai. Ko e ola ko ha OS pisinisi modular 'oku fakatou agile mo fakanatula 'a e ola lelei, 'a ia ko e totongi 'o e abstraction ko ha 'inivesimeni 'ilo'i ma'u pe, 'ikai ko ha totongi fufuu.

Ngaahi Fehuʻi ʻoku Faʻa ʻEke

Ko e Totongi 'o e Abstraction: Mahino 'a e ta'efakahangatonu 'i he 'ume'umea

Ko e 'ume'umea ko ha lea 'oku langa 'i ha tala'ofa malohi: ngaahi abstractions 'oku 'ikai ha totongi. 'Oku ne faka'ata 'a e kau developers ke nau tohi 'a e tu'unga ma'olunga, malu, mo e fakahaa'i 'o e code 'o 'ikai totongi ha tautea fakahoko 'i he taimi lele. Ko e filosofia ko 'eni 'oku tefito ia ki he 'uhinga 'oku mahulu hake ai 'a e Rust 'i he polokalama 'o e ngaahi sisitemi, mei he ngaahi sisitemi ngaue ki he ngaahi misini va'inga. Kaekehe, 'oku tangutu 'a e fakakaukau 'o e "indirection" 'i ha kolosi'anga fakaofo 'i he tisaini 'a Rust. Lolotonga 'oku fa'a mahu'inga ki he fe'unu'aki mo e malu, 'Oku 'ikai ke zero-cost ma'u pe 'a e indirection, pea 'e lava ke fakalongolongo hono faka'aonga'i hala 'o faka'auha 'a e fakahokohoko 'aupito 'oku ongoongoa 'a e 'ume'umea. Ki he ngaahi tu'unga hange ko e Mewayz, ko ha OS pisinisi modular 'a ia 'oku mahu'inga taha ai 'a e ola lelei mo hono faka'aonga'i 'o e ma'u'anga tokoni 'oku lava ke tomu'a tala, mahino 'a e fakamole ko 'eni 'oku 'ikai fakaako—'oku mahu'inga ia ki hono langa hake 'o e robust, scalable pisinisi logic.

Ko e hā ʻa e Taʻefakahinohinó pea ko e hā ʻoku tau fie maʻu ai iá?

Ko e indirection ko ha founga fakapolokalama ia 'oku ke lave ai ki ha me'a 'oku 'ikai fakahangatonu, ka 'i ha layer fakavaha'apule'anga. 'I he 'ume'umea, 'a e ngaahi fotunga angamaheni taha ko e ngaahi faka'ilonga, ngaahi fakamo'oni, ngaahi me'a 'o e 'ulungaanga, mo e ngaahi faka'ilonga 'atamai hange ko e `Box`, `Rc`, pe `Arc`. ʻOku fuʻu fie maʻu ʻaupito ʻa e ngaahi meʻangāue ko ʻení. 'Oku nau faka'ata 'a e 'ulungaanga malohi, vahevahe 'o e fu'u 'akau, vahevahe 'o e 'ea, mo e polymorphism. Hange ko 'eni, 'Oku faka'ata 'e ha `Vec` ke ke tanaki ha tanaki'anga 'o e ngaahi fa'ahinga kehekehe 'oku nau fakahoko kotoa 'a e `Draw` 'ulungaanga, ko ha sipinga angamaheni 'i he ngaahi sisitemi UI pe plugin architectures. Ka ne ta'e'oua 'a e indirection, 'e faingata'a 'aupito ke tohi 'a e code 'oku fe'unga, modular.

Ko e Tukuhau Fakahoko Ngaue Fakapulipuli

Lolotonga 'oku fa'a "zero-cost" 'a e abstraction 'i he ngaahi tu'unga 'o e me'a na'a ke lava 'o tohi 'aki 'a e nima, 'Oku fakafe'iloaki 'e he indirection 'iate ia pe 'a e 'olunga 'oku 'asi. 'Oku fakahaa'i 'a e fakamole ko 'eni 'i ha ngaahi tafa'aki mahu'inga:

Ngaahi Founga ki hono Fakasi'isi'i 'i Ho'o Codebase

Ko e taumu'a 'oku 'ikai ke fakangata 'a e indirection—'oku 'ikai ke malava pe faka'amu ia—ka ke faka'aonga'i fakapotopoto ia. Ko e ngaahi founga tefito eni:

Langa ha Sisitemi Modular Lean mo e Mewayz

Ko e mahino nuanced ko 'eni 'o e fakamole versus 'a e fe'unu'aki 'oku ne faka'ilo fakahangatonu 'a e 'atakai 'o ha tu'unga hange ko e Mewayz. 'I hono fa'u 'o ha module ki he Mewayz OS, 'Oku fakalotolahi'i 'a e kau developers ke nau faka'aonga'i 'a e generics mo e static 'o e fekau'i atu ki he uho, fakahoko-ongo'ingofua interfaces—hange ko e ngaahi paipa 'o e liliu 'o e fakamatala pe ngaahi misini fakafuofua. Lolotonga iá, 'oku kei haohaoa 'a e ngaahi me'a 'o e 'ulungaanga mo e uta 'o e malohi ki he tu'unga ma'olunga ange, ngaahi sisitemi plugin 'oku faka'aonga'i-extensible 'a ia ko e fe'unu'aki ko e fie ma'u tefito. 'I hono fai 'o e ngaahi fili fakataumu'a fekau'aki mo e indirection, 'e lava ke 'omi 'e he ngaahi modules 'o e Mewayz 'a e ngaahi pisinisi abstraction malohi 'oku fie ma'u 'o 'ikai feilaulau'i 'a e fakahokohoko 'o e deterministic 'oku nau fakafalala ki ai. Ko e ola ko ha OS pisinisi modular 'oku fakatou agile mo fakanatula 'a e ola lelei, 'a ia ko e totongi 'o e abstraction ko ha 'inivesimeni 'ilo'i ma'u pe, 'ikai ko ha totongi fufuu.

Fakalelei'i Ho'o Pisinisi 'aki 'a e Mewayz 'Oku 'omi 'e he Mewayz 'a e ngaahi module pisinisi 'e 208 ki ha tu'unga 'e taha — CRM, invoice, pule'i 'o e poloseki, mo e lahi ange. Kau fakataha mo e kau faka'aonga'i 'e toko 138,000+ na'a nau fakafaingofua'i 'enau founga ngaue.

3b82f6; lanu: # fff; fakafonu: 10px 24px; kau'āfonua-letiusi: 6px; teuteu-tohi: 'ikai ha taha; mata'itohi-mamafa → ki he 60"
Ko e Fakamole 'o e Ta'efakahinohino 'i he 'Ula","url":"https://mewayz.shop/blog/ko e-mole-'o e-ta'e-fakahangatonu-'i he-'auha","'ahoPublished":"2026-03-12T21:40:57+00:00","'ahoFakalelei'i":"2026-03-12T21:00:07 hor":{"@fa'ahinga":"Kautaha","hingoa":"Mewayz","url":"https://mewayz.shop"},"pulusi":{"@fa'ahinga":"Kautaha","hingoa":"Mewayz","url":"https://mewayz.shop"}} Ko e Totongi 'o e Abstraction: Mahino 'a e Indirection 'i he Ko e 'ume'umea ko ha lea 'oku langa 'i ha tala'ofa malohi: zero-cost abstractions. 'Oku ne faka'ata 'a e kau developers ke nau tohi 'a e ngaahi code 'o e tu'unga ma'olunga, malu, mo e fakahaa'i 'o 'ikai totongi ha tautea fakahoko 'i he polokalama fakalotofonua 'o e runhyst ko 'eni. ki he ngaahi misini va'inga. Ka neongo ia, 'oku tangutu 'a e fakakaukau 'o e \"indirection\" 'i ha kolosi'anga fakaofo 'i he tisaini 'o e 'ume'umea Lolotonga 'oku fa'a mahu'inga ki he fe'unu'aki mo e malu, 'oku 'ikai ke faka'auha ma'u pe 'a e indirection 'a e fakahokohoko 'o e 'ume'umea 'oku ongoongoa 'a e usage modular mo e Me. mahu'inga taha, mahino 'a e fakamole ko 'eni 'oku 'ikai fakaako-'oku mahu'inga ia ki hono langa hake 'o e pisinisi 'oku malohi, scalable." fakahangatonu, ka 'oku fakafou 'i ha layer fakavaha'apule'anga, 'Oku 'i ai 'a e ngaahi fotunga angamaheni taha ko e ngaahi faka'ilonga, ngaahi lave, ngaahi me'a 'o e 'ulungaanga, mo e ngaahi faka'ilonga 'atamai hange ko e `Puha`, `Rc`, pe `Arc` 'Oku nau faka'ata 'a e 'ulungaanga malohi, vahevahe 'o e fu'u 'akau mo e Forphic`s vahevahe. tauhi ha tanaki'anga 'o e ngaahi fa'ahinga kehekehe 'oku nau fakahoko kotoa 'a e `Draw` 'ulungaanga, ko ha sipinga angamaheni 'i he ngaahi sisitemi UI pe plugin architectures, tohi 'a e fe'unu'aki, modular code 'e faingata'a 'aupito."}},{"@type":"Fehu'i","hingoa":"Ko e Fakahoko Fakapulipuli. Tukuhau","talitali":{"@fa'ahinga":"Tali","text":"Lolotonga 'oku fa'a \"zero-cost\" 'a e abstraction 'i he ngaahi tu'unga 'o e me'a na'e lava ke ke tohi'i 'aki 'a e nima, 'Oku fakafe'iloaki 'e he ta'efakahangatonu 'iate ia pe 'a e 'olunga 'o e 'olunga 'oku 'asi. Ko e fakasi'isi'i 'i ho'o Codebase","taliTali":{"@fa'ahinga":"Tali","text":"Ko e taumu'a 'oku 'ikai ke fakangata 'a e ta'efakahangatonu-'oku 'ikai ke malava pe faka'amu ia-ka ke faka'aonga'i fakapotopoto ia 'a e ngaahi founga tefito 'eni: Mewayz","talitali":{"@fa'ahinga":"Tali","tohi":"Ko e mahino nuanced ko 'eni 'o e totongi versus 'a e fe'unu'aki 'oku ne faka'ilo fakahangatonu 'a e fa'u 'o ha tu'unga hange ko e Mewayz 'i he taimi 'oku fa'u ai ha module ki he Mewayz OS, 'Oku fakalotolahi'i 'a e kau developers ke nau faka'aonga'i 'a e generics mo e fakahoko 'o e intersensitive data-linesu. Lolotonga iá, 'oku kei haohaoa 'a e ngaahi me'a 'o e 'ulungaanga mo e uta 'o e malohi ki he tu'unga ma'olunga ange, ngaahi sisitemi plugin 'oku lava ke faka'aonga'i 'a ia ko e fe'unu'aki 'a e fie ma'u 'a e palemia 'i hono fai 'o e ngaahi fili fakataumu'a fekau'aki mo e ta'efakahangatonu, 'e lava ke 'omi 'e he ngaahi modules 'o e Mewayz 'a e ngaahi pisinisi abstraction malohi 'oku fie ma'u 'e he modulith 'a e bo. 'oku 'i ai 'a e ola lelei 'i he natula, 'a ia ko e totongi 'o e abstraction ko ha 'inivesimeni fakakaukau ma'u pe, 'ikai ko ha totongi fufuu."}}]}

Try Mewayz Free

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

Start managing your business smarter today

Join 6,209+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,209+ 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