Hacker News

Twahujije umurongo umwe C ++ hamwe na Ruste-ifite imirongo myinshi

Twahujije umurongo umwe C ++ hamwe na Ruste-ifite imirongo myinshi Isesengura ryuzuye ryimiterere ritanga isuzuma rirambuye ryibice byingenzi hamwe ningaruka nini. Ibice by'ingenzi byibandwaho Ibiganiro byibanda kuri: Core mech ...

5 min read Via antithesis.com

Mewayz Team

Editorial Team

Hacker News
Dore inyandiko yuzuye ya SEO:

Twahujije umurongo umwe-umwe C ++ hamwe na Rusti-Imitwe myinshi

> Kuri Mewayz, twakemuye iki kibazo rwose mugihe twagabanije OS 207-module yubucuruzi kugirango dukorere abakoresha 138.000, kandi ibisubizo byahinduye muburyo twatekereza kubijyanye na sisitemu.

Ni ukubera iki Uhuza Imigozi imwe-imwe C ++ hamwe na Rusti-Imitwe myinshi?

Sisitemu nyinshi zo gukora zitwara imyaka yintambara ya C ++. Kwandika ibintu byose muri Rust byumvikana neza kurupapuro, ariko bizana ibyago byinshi namezi yigihe cyubwubatsi. Uburyo bufatika ni ukwemera kwiyongera - gupfunyika logique ya C ++ mugihe ukuramo imizigo iremereye kumurimo wa Rust.

Mubyacu, ibyingenzi byubucuruzi logic module yari imaze imyaka ikora ikora neza mumurongo umwe C ++. Bakemuye imirimo ikurikirana, kubyara inyandiko, no kubara amafaranga. Ariko nkuko abakoresha bacu bakuze bashize 100K, dukeneye gutunganya amakuru ahwanye, gutunganya API hamwe, hamwe nubuyobozi busangiwe-umutekano. Imiterere ya Kohereza na Sync imico yaduhaye igihe cyo gukusanya igihe cyemeza ko C ++ idashobora gutanga hatabanje kugenzurwa nintoki.

Impamvu nyamukuru itera ni kugabanya ingaruka. Ukomeza gukora, kandi wongeyeho umunzani - utarinze gukina urusimbi codebase yawe yose kwimuka idashobora kurangira.

Umupaka wa FFI Ukora ute?

Imikorere Yamahanga Yimbere (FFI) hagati ya C ++ na Rust ikora binyuze mumikono ya C ihuza ibikorwa. Rust's hanze "C" guhagarika ibikorwa C ++ ishobora guhamagara muburyo butaziguye, naho ubundi. Ikibazo gikomeye kigaragara mugihe Rust's-imirongo myinshi-mugihe gikeneye kwifashisha kode imwe-imwe ya C ++ neza.

Twabikemuye dukoresheje ubwubatsi bwabugenewe:

      Iki gishushanyo cyaduhaye inyongeramusaruro ya Ruste ifite imirongo myinshi hamwe nubwizerwe bwa logique C ++ yemejwe - tutarinze kwandika umurongo umwe wamategeko yubucuruzi yambere.

      Ni izihe nzitizi zikomeye tugomba kwirinda?

      Ikosa rikomeye cyane nukuvuga ko C ++ code ifite umutekano-mugihe atariyo. Isi yose, ihindagurika ryimiterere, hamwe nububiko bwibitabo bidasubirwaho bizatera amarushanwa yamakuru uwatoranije Rust adashobora kumenya hakurya ya FFI. Umutekano wa Rust wishingira guhagarara kuri umutekano muke - ibintu byose biri imbere ninshingano zawe.

      Ubushishozi bwibanze: Rust yemeza umutekano wibuke muri code yayo, ariko mugihe urenze imbibi za FFI muri C ++, uzungura ikibazo cyose cyumutekano-C ++ ifite. Ubwubatsi buzengurutse iyo mipaka burenze kode kumpande zombi.

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

      Undi mutego uhuriweho nubuyobozi bwubuzima. C ++ ibintu ntabwo byitabira kugenzura inguzanyo ya Rust. Niba Rust itaye umurongo mugihe C ++ igifite icyerekezo, urabona gukoresha-nyuma-yubusa bugoye kubisuzuma. Twabikemuye dushyira mu bikorwa amagambo akomeye yo gutunga: Ibintu C ++ buri gihe bifitwe numuzingo umwe wa Rust, kandi kugabana gusangira kunyura kuri Arc ishingiye kubarwa kuruhande rwa Rust.

      > Duteganya ibikorwa aho bishoboka hose, twohereza umurongo wibikorwa byakazi kubayobozi ba C ++ aho guhamagara indimi zitandukanye.

      Ubu buryo bwakoze bute mu musaruro?

      Nyuma yo gukoresha imiterere yububiko bwa Hybrid kurubuga rwacu, twapimye iterambere ryiza. Gusaba ibicuruzwa byiyongereyeho 3,4x kuri module yabanje guhindurwa mugutunganya C ++ ikurikiranye. Ubukererwe bwumurizo (p99) bwaragabanutseho 61% kubera ko igihe cya Rust cyo gukora async gishobora gutunganya icyarimwe ibyifuzo byigenga mugihe C ++ yakoraga imirimo iremereye yo kubara kumutwe wabigenewe.

      Icy'ingenzi, twagize zeru zijyanye na zeru mu mezi atandatu yambere yumusaruro. Uburyo bwo gufunga insanganyamatsiko bwatumye bidashoboka ko code ya C ++ ihamagarwa kuva kumutwe umwe, mugihe sisitemu yo muburyo bwa Rust yabujije amoko yamakuru kuruhande rwumupaka. Iri ryari iterambere ryinshi muburyo twabanje kugerageza kugerageza kongeramo urudodo kuri C ++ hamwe na mutexes, byari byabyaye ibintu bitatu byimiterere yubwoko mugihembwe kimwe.

      Itsinda ryubwubatsi naryo ryatangaje ko byihuta byizunguruka. Ibintu bishya birashobora kubakwa muri Rust hamwe ninkunga yuzuye ihuriweho, mugihe C ++ modules zihari zakomeje gukora nta gihindutse. Izi ngamba ziyongera zasobanuraga ko tutigeze tugira ibyago byinshi byo kwimuka "big bang" kwimuka - gusa birahagaze neza, byapimwe.

      Ibibazo bikunze kubazwa

      Rust irashobora guhamagara amasomero ya C ++ isomero imwe idahinduwe?

      Yego, ariko ugomba kwemeza ko guhamagarwa kuri iryo somero bibaho kuva kumurongo umwe. Uburyo busanzwe nugukora urudodo rwabigenewe rukurikirana ruhamagarira C ++ guhamagarwa binyuze kumuyoboro. Imirimo ya async ya Rust itanga ibyifuzo kandi igategereza ibisubizo utabujije imirongo myinshi. Kode ya C ++ ubwayo ntisaba ko habaho impinduka - imbogamizi z'umutekano zubahirizwa rwose kuruhande rwa Rust.

      Ese hejuru ya FFI ifite akamaro kanini kugirango ihindure imikorere ya porogaramu?

      Ihamagarwa rya FFI kugiti cye rifite byibuze hejuru - mubisanzwe munsi ya nanosekondi 10 kumikorere yoroshye yo guhamagara. Ariko, gutondekanya amakuru yimiterere yimiterere hamwe no guhuza urudodo kumupaka wongeyeho niba uhamagaye ibihumbi nibihumbi byahamagaye. Gufata ibikorwa no gukoresha imiterere ya zeru-kopi ya serialisation nka FlatBuffers cyangwa Cap'n Proto ikomeza hejuru cyane ntagaciro ndetse no mubipimo.

      Tugomba kongera kwandika codebase ya C ++ muri Rust aho guhuza?

      Kumakipe menshi, intera igenda yiyongera ninzira itekanye kandi yihuse. Kwandika byuzuye byerekana amezi yingaruka zubwubatsi nta mukoresha-ureba agaciro kugeza arangije. Guhuza bigufasha kohereza ibicuruzwa byihuse, kwemeza inzira ya Rust mu musaruro, no kwimuka module imwe icyarimwe ukurikije aho guhuriza hamwe bitanga ingaruka nyinshi. Ongera wandike gusa module aho ikiguzi cyo gukomeza imipaka ya FFI kirenze ikiguzi cyo kwandika.


      Kuri Mewayz, twubaka ibikorwa remezo bipima - haba mubuhanga no mubikorwa. Ubucuruzi bwacu 207-module OS ifasha amakipe 138.000 gukora neza ubwenge bwakazi guhera kumadolari 19 / ukwezi. Waba ucunga imishinga, gutangiza ibikorwa, cyangwa gupima ubucuruzi bwawe, Mewayz ihuza nuburyo ukora. Tangira igeragezwa ryubuntu kuri app.mewayz.com urebe icyo OS yubucuruzi igezweho ishobora gukorera ikipe yawe.

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