Hacker News

I hono matou i te C++ miro kotahi me te Rust miro maha

I hono matou i te C++ miro kotahi me te Rust miro maha Ko tenei tātaritanga matawhānui o te hononga hono e tuku ana i te tirotiro taipitopito o ona waahanga matua me nga paanga whanui. Ngā Wāhanga Arotahi Ko nga korero e arotahi ana ki: Hangarau matua...

10 min read Via antithesis.com

Mewayz Team

Editorial Team

Hacker News
Anei te panui blog SEO katoa:

I Atanga matou i te C++ miro-kotahi me te waikura Miro-maha

Ko te whakawhanaunga i te waehere C++ miro-kotahi me te Rust miro-maha e kore e taea anake — koinei tetahi o nga huarahi tino whaihua ki te whakahou i nga punaha tuku iho me te kore e tino tuhi ano. I Mewayz, i whakatikahia e matou tenei wero i te wa e whakarahi ana i to maatau pakihi 207-module OS ki te mahi ki nga kaiwhakamahi 138,000, a ko nga hua i tino rerekee te ahua o o maatau whakaaro mo te mahi tahi o nga punaha.

He aha koe e Atanga ai i te C++ miro-kotahi me te waikura miro maha?

Ko te nuinga o nga punaha whakangao e mau ana i nga tau o te tohu C++ kua whakamatauria e te whawhai. Ko te tuhi ano i nga mea katoa i roto i te Rust he ahua pai ki te pepa, engari he nui te tupono me nga marama o te wa miihini. Ko te huarahi whai tikanga ko te whakatamarikitanga taapiri — te takai i te arorau C++ o naianei i te wa e utaina ana nga kawenga mahi-taimaha ki te tauira rangatira a Rust.

I roto i a maatau, ko nga kaupapa arorau pakihi matua e rere pono ana i roto i te C++ miro-kotahi mo nga tau. I whakahaerehia e ratou te tukatuka mahi raupapa, te whakaputa tuhinga, me nga tatauranga putea. Engari i te pikinga o to matou turanga kaiwhakamahi ki mua i te 100K, ka hiahia matou ki te tukatuka raraunga whakarara, te whakahaere API i nga wa katoa, me te whakahaerenga-a-motu. Ko nga ahuatanga Tukua me te Tukutahi nga ahuatanga o Rust i homai ki a matou he whakapumau i te wa whakahiato e kore e taea e C++ te tuku me te kore he arotake a-ringa.

Ko te whakaihiihi matua ko te whakaiti morearea. Ka mau koe i nga mea e whai hua ana, ka taapirihia e koe he aha nga pauna - me te kore e petipeti i to turanga waehere katoa i runga i te hekenga e kore e oti.

Me pehea te Tikanga o te Rohe FFI?

Ko te Atanga Mahi Tawahi (FFI) i waenga i te C++ me te Rust e mahi ana ma nga waitohu mahi hototahi-C. Ko nga poraka waho "C" a Rust e whakaatu ana i nga mahi ka taea e C++ te karanga tika, me te rereke. Ka puta te wero nui ina hiahia te wa whakahaere miro-maha a Rust ki te tono i te waehere C++ miro-kotahi ma te haumaru.

I whakatauhia e matou tenei ma te whakamahi i te hoahoanga motuhake:

  • Kaiwhakahaere C++ kua herea ki te miro: Ka whakakorikoria nga waea C++ katoa i roto i tetahi miro whakatapua ma te whakamahi i te hongere tuku karere, me te whakarite kia kore rawa te miro kotahi e takahia.
  • Rust async bridge layer: Tokio tasks submit work to the C++ executor and tatari results through oneshot channels, keep the Rust side full asynchronous.
  • Whakahaerenga atatohu puatakore: Ko nga taonga C++ kua takai ki nga hanganga Waikura e whakatinana ana Whakataka mo te horoi tino, kia kore ai e pakaru te maumahara puta noa i te rohe reo.
  • Whakaraupapa i te rohe: Ko nga hanganga raraunga matatini ka whakararuraruhia ki FlatBuffers i te paparanga FFI, e karo ana i te whakaoritenga o te tahora hanganga me te whakaahei i te kuwhatanga motuhake o ia taha.
  • Wehenga ohorere: Ko te catch_unwind a Rust e takai ana i nga waahi urunga FFI katoa kia kore ai te mataku e whiti i te rohe reo, he whanonga kore taupatupatu.

Na tenei tauira i homai te urunga o te Rust miro-maha me te pono o te arorau C++ kua whakamatauria — me te kore e tuhi ano i tetahi rarangi o nga ture pakihi taketake.

He aha nga mate nui hei karo?

Ko te pohehe tino kino ko te whakaaro ko te waehere C++ he miro-haumaru mena karekau. Ko te ahua o te ao, ko nga taurangi pateko, me nga waea wharepukapuka kore-reentrant ka puta nga reihi raraunga e kore e taea e te kaitoi a Rust te kite puta noa i te rohe FFI. Ka mutu nga taurangi haumaru a Rust ki te paraka kore — nau nga mea katoa o roto.

Maramatanga matua: Ka whakamanahia e Rust te haumaru maumahara i roto i tana ake waehere, engari ka whiti koe i te rohe FFI ki te C++, ka riro ia koe nga raru haumaru miro katoa kei a C++. Ko te hoahoanga huri noa i tera rohe he mea nui ake i te waehere kei ia taha.

💡 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 tetahi atu mahanga noa ko te whakahaere oranga. Kaore nga taonga C++ e uru ki te kaitaki nama a Rust. Mena ka tukuna e Rust tetahi tohutoro i te wa e mau tonu ana a C++ i tetahi tohu, ka whiwhi koe i nga pepeke-muri-kore-kore he tino uaua ki te tirotiro. I whakatauhia e matou tenei ma te whakakaha i nga tikanga o te mana rangatira: Ko nga taonga C++ he kotahi tonu te pupuri i te takai Rust, me te uru tahi ka haere ma te tatau tohutoro-arc ki te taha Waikura.

Ma te mahi, he nui rawa atu nga waea FFI ka puta mai i te whakawhiti horopaki me te raupapatanga. Ka whakareri matou i nga mahi i nga waahi katoa e taea ana, ka tukuna he rarangi o nga taonga mahi ki te kaiwhakahaere C++, kaua ki te waea whakawhiti reo takitahi.

I pehea te mahi o tenei huarahi ki te hanga?

I muri i te whakatakoto i te hoahoanga ranu puta noa i to maatau papaahi, i ine matou i nga whakapainga raima. I piki ake te tono urunga ma te 3.4x mo nga waahanga i pakaru i mua i te tukatuka C++ raupapa. I heke iho te roanga o te hiku (p99) ma te 61% na te mea ka taea e te wa whakakorikori a Rust te whakahaere i nga tono motuhake i te wa ano i te wa e whakahaerea ana e C++ nga mahi taumaha i runga i tana miro whakatapua.

Ko te mea nui atu, kaore he pepeke e pa ana ki te utu i roto i nga marama tuatahi e ono o te mahi. Na te tauira herenga miro i kore ai e taea te karanga C++ waehere mai i nga miro maha, i te mea na te punaha momo a Rust i aukati i nga reihi raraunga i tona taha o te rohe. He tino pai ake tenei ki ta maatau huarahi o mua ki te taapiri i te miro ki C++ me nga mutexes, e toru nga ahuatanga o te iwi i puta i te hauwhā kotahi.

I korero ano te roopu miihini i nga huringa tere ake. Ko nga ahuatanga hou ka taea te hanga i roto i te Rust me te tautoko i te whakakotahitanga, i te wa e haere tonu ana nga waahanga C++ o mua kaore he whakarereketanga. Ko te tikanga o tenei rautaki pikinga kaore rawa matou i te hekenga "nui" morearea — te whakapai tonu, te ine.

Patai Auau

Ka taea e Rust te karanga i nga whare pukapuka C++ miro kotahi me te kore whakarereke?

Ae, engari me whakarite kia puta nga waea katoa ki taua whare pukapuka mai i te miro kotahi. Ko te tauira paerewa ko te hanga i tetahi miro kaitakawaenga i whakatapua hei whakarangaranga i nga waea C++ katoa ma te hongere. Ko nga mahi aSync a Rust ka tuku tono me te tatari mo nga whakautu me te kore e aukati i te wa whakahaere miro-maha. Ko te waehere C++ ake karekau he whakarereketanga — ka whakamanahia te herenga haumaru ki te taha Waikura.

He tino nui te FFI ki runga ki te mahi tono?

Ko nga waea FFI takitahi he iti rawa te teitei o runga — te tikanga kei raro iho i te 10 nanohekona mo te waea mahi ngawari. Heoi, ka piki ake te raupapatanga o nga hanganga raraunga uaua me te tukutahi miro ki te rohe mena ka mahia e koe nga mano o nga waea pai. Ko nga mahi whakahiato me te whakamahi i nga whakatakotoranga rangatū kape-kore penei i a FlatBuffers, Cap'n Proto ranei, ka iti noa iho ahakoa te rahi.

Me tuhi ano to tatou turanga waehere C++ ki Rust hei utu mo te atanga?

Mo te nuinga o nga kapa, ko te atanga taapiri te huarahi haumaru me te tere ake. Ko te tuhi katoa ka whakaatu i nga marama morearea mo te miihini kaore he uara e anga ana ki te kaiwhakamahi tae noa ki te otinga. Ma te atanga ka taea e koe te tuku i nga whakapainga tonu, te whakamana i te huarahi Rust i roto i te whakaputanga, me te heke i nga waahanga kotahi i ia wa i runga i te waahi ka tukuna e te concurrency te tino paanga. Tuhia ano nga waahanga anake ka nui ake te utu mo te pupuri i te rohenga FFI i te utu mo te tuhi ano.


I Mewayz, ka hangaia e matou nga hanganga e tauine ana — ma te hangarau me te mahi. Ko ta maatau OS pakihi 207-waewae ka awhina i nga roopu 138,000 ki te whakahaere rerenga mahi maamaa ake i te $19/marama. Ahakoa kei te whakahaere kaupapa koe, kei te whakahaere aunoa i nga mahi, kei te whakanui ranei i to pakihi, ka urutau a Mewayz ki to mahi. Timatahia to whakamatautau kore utu i app.mewayz.com ka kite he aha te mahi a te OS pakihi hou mo to roopu.

Try Mewayz Free

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

Related Guide

HR Management Guide →

Manage your team effectively: employee profiles, leave management, payroll, and performance reviews.

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