Hacker News

Qoondaynta Dusha Sare

Faallo

13 min read Via go.dev

Mewayz Team

Editorial Team

Hacker News

Waa maxay sababta qoondaynta kaydku weli uga sii muhiimsan tahay injineernimada Software-ka casriga ah

Mar kasta oo codsigaagu sameeyo codsi, abuuro doorsoome, ama wac hawl, go'aan aamusnaan ah ayaa la samaynayaa gadaashiisa: xaggee xogtani ku noolaanaysaa xusuusta? Tobannaan sano, qoondaynta raasamaalku waxay ahayd mid ka mid ah xeeladaha xusuusta ugu dhaqsaha badan, ee la saadaalin karo ee ay heli karaan barnaamij-sameeyayaasha - haddana si weyn loo fahmin. In the era of runtimes maareeyey, qashin-ururinta, iyo naqshadaha daruuriga ah ee asalka ah, fahamka sida iyo goorta loo qoondeeyo xirmada waxay la macno tahay farqiga u dhexeeya arjiga gacanta ku haya 10,000 isticmaalayaasha isku dhafan iyo mid ka hooseeya 500. At Mewayz, halkaas oo madalheena ay u adeegto in ka badan 138,000 ganacsiyo leh 207 microconse modules ah oo isku dhafan.

Tusmada vs. Taallada: Ganacsiga Asaasiga ah

Xusuusta inta badan deegaanka barnaamijyadu waxay u qaybsantaa laba qaybood oo aasaasiga ah: raasamaal iyo taallo. Xidhiidhku waxa uu u shaqeeyaa qaab-dhismeedka xogta ugu dambaysa, ugu horaysa (LIFO). Marka shaqada la yiraahdo, "frame" cusub ayaa lagu riixaa xirmada ka kooban doorsoomayaasha maxalliga ah, cinwaannada soo celinta, iyo cabbirrada shaqada. Marka shaqadaasi soo noqoto, guud ahaan jirku isla markiiba wuu dami. Ma jiraan wax raadis ah, ma jirto xisaab ururin, ma jiro kala qaybsanaan - kaliya hal habayn oo tilmaame ah.

Taallada, marka la barbardhigo, waa barkad weyn oo xusuusta ah halkaas oo qoondaynta iyo meelaynta ay u dhici karaan hab kasta. Dabacsanaantu waxay ku timaadaa kharash: qoondeeyuhu waa inuu la socdaa baloogyada xorta ah, wax ka qabta jajabinta, iyo luqado badan, ku tiirsan qashin ururiyaha si uu u soo ceshado xusuusta aan la isticmaalin. Qoondaynta tuullan ee barnaamijka caadiga ah ee C waxay qaadataa qiyaastii 10 ilaa 20 jeer in ka badan qoondaynta kaydinta. Luuqadaha qashinka lagu ururiyo sida Java ama C #, dushu waxay noqon kartaa mid ka sii sareysa marka hakadyada aruurinta la eego.

Fahamka ka-ganacsigan ma aha oo kaliya tacliin. Markaad dhisayso Softiweer ka shaqeeya kumanaan macaamil ganacsi ilbiriqsikii - ha ahaato matoorka qaansheegta, dashboard-ka falanqaynta wakhtiga-dhabta ah, ama soo dejinta xidhidhiyaha badan ee CRM - doorashada istaraatiijiyada qoondaynta saxda ah ee wadooyinka kulul waxay si toos ah u saamaynaysaa wakhtiyada jawaabta iyo kharashyada kaabayaasha.

Sidee Qoondaynta Raasamaalku Dhab ahaantii u Shaqaysaa

Marka la eego heerka qalabka, inta badan naqshadaha processor-yadu waxay u huraan diiwaanka (tilmaamaha kaydinta) si ay ula socdaan meesha ugu sarreysa ee hadda jirta. Qoondaynta xusuusta ee xidhmada waa mid fudud sida hoos u dhigista tilmaamahan tirada loo baahan yahay ee bytes. Deallocation waa rogaal celis: kordhi tilmaanta. Ma jiro madax metadata, ma jiraan liisaska bilaashka ah, ma jiraan wax isku dubarid ah ee blocks ku xiga. Tani waa sababta qoondaynta raasamaalku inta badan lagu tilmaamo inay leedahay O(1) wax qabad joogto ah oo leh dulsaar dayacan.

Tixgeli hawl xisaabisa wadarta guud ee shayga qaansheegta. Waxa laga yaabaa inay ku dhawaaqdo doorsoomayaal maxalli ah oo dhawr ah: isugeynta tirada, sabbaynta qiimaha halbeegga, sabbaynta heerka cashuurta, iyo sabayn natiijada. Dhammaan afarta qiyamka waxaa lagu riixaa xirmada marka shaqada la geliyo oo si toos ah dib loo soo ceshado marka ay baxdo. Dhammaan meertada noloshu waa mid go'aaminaysa waxayna u baahan tahay faragelin eber ah oo ka timaada barmaamijiyaha ama qashin ururiyaha.

Aragtida furaha ah: Qoondaynta raasamaalku maaha mid degdeg ah - waa la saadaalin karaa. Nidaamyada waxqabadka-muhiimka ah, saadaalintu waxay inta badan ka muhiimsan tahay xawaaraha ceeriin. Hawl si joogto ah ugu dhammaata 2 microsecond way ka qiimo badan tahay mid celcelis ahaan 1 mikrosecond laakiin marmarka qaar kor u kacda ilaa 50 ilbiriqsi sababtoo ah ururinta qashinka oo hakad ku jira.

Goorta la door bidayo Qoondaynta kaydka

Ma aha qayb kasta oo xog ah oo ka tirsan kaydka. Xusuusta raasamaalku waa xaddidan tahay (sida caadiga ah inta u dhaxaysa 1 MB iyo 8 MB duntiiba, iyadoo ku xidhan nidaamka hawlgalka), iyo xogta loo qoondeeyay xidhmada ma dhaafi karto shaqada abuurtay. Si kastaba ha ahaatee, waxaa jira xaalado cad oo meelaynta raasamaalku ay tahay doorashada sare.

  • doorsoomayaasha maxaliga ah ee cimriga gaaban Waxa lagu abuuraa, la adeegsadaa, oo lagu tuuraa hal meel oo shaqo ah.
  • qaababka xogta go'an:Arrays leh cabbir isku-dubbarid la yaqaan, qaab-dhismeedyo yaryar, iyo noocyo qiimayaal ah ayaa lagu dhejin karaa xidhmada iyada oo aan khatar loo gelin. 256-byte kaydka loogu talagalay habaynta xargaha taariikhda waa musharax qumman.
  • Performance-critical leps inner:Marka shaqada loogu yeero malaayiin jeer ilbiriqsikii - sida mashiinka xisaabinta qiimaynta oo ku celcelinaya buugaagta alaabta - baabi'inta qoondaynta taranka ee jirka wareegga waxay dhalin kartaa 3x ilaa 10x hagaajinta wax soo saarka.
  • Waqtiga dhabta ah ama daahitaanka xasaasiga ah: Habaynta lacag-bixinta, cusboonaysiinta dashboardka, iyo dirida ogeysiinta dhammaan faa'iidooyinka ka fogaanshaha ururinta qashinka ee aan go'aaminaynin hakadyada.
  • Algorithms-ka soo noqnoqda oo qoto dheer leh: Haddii aad dammaanad qaadi karto in qoto-dheeraanta soo noqnoqota ay ku sii jirto xad badbaado leh, fareemooyinka la qoondeeyay waxay si degdeg ah oo fudud u hayaan hawlaha soo noqnoqda.
Ficil ahaan, isku-dubaridyada casriga ahi aad bay ugu wanaagsan yihiin wanaajinta isticmaalka xidhmooyinka. Farsamooyinka sida falanqaynta baxsadka ee Go iyo Java's JIT compiler waxay si toos ah u dhaqaajin kartaa qoondaynta kaydinta kaydka marka uu soo ururiyuhu caddeeyo in xogtu aanay ka baxsanayn baaxadda shaqada. Fahamka wanaajintan waxay kuu ogolaanaysaa inaad qorto kood nadiif ah adigoo weli ka faa'iidaysanaya waxqabadka xidhmooyinku.

Dhibaatooyinka caadiga ah iyo sida looga fogaado

Cayayaanka ugu caansan ee laxidhiidha xidhidhka ayaa ah qulqulka buux-dhaafka ah - qoondaynta xog ka badan inta ay xidhmi karto, badanaa iyada oo loo marayo soo noqnoqoshada aan xadka lahayn ama habab maxalli ah oo xad dhaaf ah. Deegaanka wax soo saarka, qulqulka xad dhaafka ah ayaa caadi ahaan burburiya dunta ama habka oo dhan iyada oo aan lahayn dariiq soo kabasho oo qurux badan. Tani waa sababta qaab-dhismeedka iyo nidaamyada hawlgalka ay u soo rogaan xadka cabbirka.

Dabin kale oo daahsoon ayaa ah soo celinta tilmaamayaasha ama tixraacyada xogta la qoondeeyay. Sababtoo ah xusuusta xirmada ayaa dib loo soo ceshado marka ay shaqadu soo noqoto, tilmaame kasta oo xusuustaas ah wuxuu noqonayaa tixraac jilicsan. C iyo C++, tani waxay keenaysaa dabeecad aan la qeexin oo laga yaabo inay u muuqato inay ka shaqeyso tijaabinta laakiin ku fashilanto masiibo xagga wax soo saarka. Hubiyaha amaahda Rust's wuxuu qabtaa khaladaadka fasalkan marka la ururiyo, taas oo ah hal sabab oo luqaddu u heshay soo jiidashada barnaamijyada nidaamyada.

Arrin saddexaad ayaa ku lug leh badbaadada dunta. Dul kastaa wuxuu helayaa xidhmo u gaar ah, taas oo macnaheedu yahay in xogta la qoondeeyey ay tahay dun-maxali ah. Tani dhab ahaantii waa faa'iido xaalado badan - looma baahna quful si loo galo doorsoomayaasha maxalliga ah. Si kastaba ha ahaatee, horumariyayaashu mararka qaarkood way qaldamaan iyagoo isku dayaya inay wadaagaan xogta la isku dhejiyay inta u dhaxaysa dunta, taasoo horseedda xaaladaha jinsiyadda ama kutaannada-la'aanta la isticmaalo ka dib. Marka xogta loo baahan yahay in la wadaago dunta oo dhan ama ay ku sii socoto wixii ka dambeeya wicitaanka shaqada, tuulantu waa doorashada habboon.

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

Qaybta Isku-xidhan ee Luuqadaha iyo Qaab-dhismeedka

Luuqadaha barnaamijyada kala duwan ayaa wax ka qabta qoondaynta xidhmooyin leh heerar kala duwan oo daahfurnaan ah. C iyo C++, barnaamij-sameeyaha waxa uu leeyahay kontorool cad: doorsoomayaasha maxalliga ah ayaa dul socda, iyo mallocama cusub ayaa saaraya xogta tuulmada. Go, iskudubaridiyuhu waxa uu sameeyaa falanqaynta baxsadka si uu si toos ah u go'aansado, gorutines-ku waxa uu ku bilaabmaa 2 KB xidhmo yaryar oo si firfircoon u koraya - xal qurux badan oo dheellitiraya badbaadada iyo waxqabadka. PHP, qaab-dhismeedka awoodda luqadda sida Laravel, wuxuu u qoondeeyaa qiyamka ugu badan iyada oo loo marayo maamulaha xusuusta Zend Engine ee gudaha, laakiin fahamka mabaadi'da hoose waxay ka caawisaa horumariyeyaasha inay qoraan kood hufan xitaa heerka codsiga.

Kooxaha dhisaya goobo kakan - sida kooxda injineernimada ee Mewayz, halkaas oo hal codsi laga yaabo inay ka gudbaan macquulka CRM, xisaabinta qaansheegadka, xisaabinta canshuurta mushaharka, iyo isu geynta falanqaynta - go'aamadan heerka hoose ah ayaa isku dhafan. Marka 207 qaybood ay wadaagaan wakhti run, hoos u dhigista qoondaynta xusuusta codsi kasta xitaa 15% waxay u tarjumi kartaa hoos u dhac macno leh oo ku yimaada kharashyada serverka iyo hagaajinta la qiyaasi karo ee wakhtiyada jawaabta isticmaalayaasha dhamaadka ah ee maamulaya ganacsigooda goobta.

JavaScript iyo TypeScript, kuwaas oo awood u leh inta badan afafka hore ee casriga ah iyo dhabarka dambe ee Node.js, waxay si buuxda ugu tiirsan yihiin matoorka qashinka aruuriya ee V8 ee maaraynta xusuusta. Horumariyayaashu si toos ah uma qoondayn karaan xidhmada, laakiin V8's optimizing compiler (TurboFan) waxay ku qabataa qoondaynta kaydinta gudaha qiyamka ay caddayn karto inay cimri gaaban yihiin. Qorista hawlo yar yar oo saafi ah oo leh doorsoomayaal maxalli ah waxay siinaysaa mishiinka fursada ugu fiican ee uu ku dabaqi karo wanaajintan.

Xeelado Wax-ku-ool ah oo lagu Yaraynayo Cadaadiska Heap

Xitaa haddii aad ku shaqeyso luqad heer sare ah oo aadan si toos ah u koontarooli karin xirmooyinka iyo qoondaynta taalloyinka, waxaad qaadan kartaa qaabab yareynaya cadaadiska aan loo baahnayn oo u ogolow wakhtiga runtime inuu si xoog leh u hagaajiyo.

  1. Ka dooro noocyada qiimaha marka loo eego noocyada tixraacahalkaas oo luqaddu ka taageerto. Gudaha C #, adoo isticmaalaya qaab-dhismeedka halkii aad ka isticmaali lahayd class walxaha yaryar, ee inta badan la abuuro waxay ku hayaan kaydka. Go, ku dhaafida qaab-dhismeedyada yaryar qiime ahaan halkii aad ka ahaan lahayd tilmaame waxay gaadhaysaa saamayn la mid ah.
  2. Ka fogow in aad u qoondayso siddooyin adag. Haddii aad u baahan tahay jeex ku meel gaadh ah ama habayn ku-meel-gaadh ah oo soconaysa 100,000 jeer, u qoondee hal mar ka hor inta aan la gaadhin wareegga oo dib u deji cusboonaysiin kasta.
  3. U adeegso isu-ururinta shayga si joogto ah loo sameeyo oo la burburiyo
  4. Profile ka hor inta aan la hagaajin Wanaajinta iyada oo aan la soo bandhigin xogta waxay halis gelinaysaa dadaalka ku bixinta waddooyinka qabow ee dhifka ah ee fuliya.
  5. Ka faa'iidayso qoondeeyayaasha saaxadda hawlaha dufcada.
Xeeladahani maaha kuwo aragti uun ah. Marka goobaha SaaS ay qabtaan culeyska shaqada ee dhabta ah - milkiile ganacsi oo yar oo soo saara qaansheegyo bille ah, maareeyaha HR ee ku shaqeeya mushaharka shaqaalaha 200, koox suuqgeyn ah oo falanqeynaya waxqabadka ololaha ee kanaalada - saameynta isugeynta ee maaraynta xusuusta wax ku oolka ah waa mid fudud, waayo-aragnimo badan oo jawaab celin ah oo isticmaalayaashu dareemaan xitaa haddii aysan waligood ka fikirin waxa hoosta ka dhacaya.

Dhismaha Waxqabadka-Miisaanka leh ee Software at Miisaanka

Qoondaynta raasamaalku waa hal gabal oo ka mid ah halxiraalaha waxqabadka aadka u weyn, laakiin waa mid aasaasi ah. Fahamka sida ay xasuustu ugu shaqeyso heerka ugu hooseeya waxay siinaysaa injineerada moodooyinka maskaxeed ee ay u baahan yihiin si ay go'aano wanagsan u gaadhaan lakab kasta oo xidhmo ah - laga bilaabo xulashada qaabdhismeedka xogta iyo qaabaynta API-yada si ay u habeeyaan kaabayaasha iyo dejinta xadka ilaha adeegyada weel lagu shubay.

Ganacsiyada ku tiirsan aaladaha sida Mewayz oo kale si ay u wataan hawlahooda maalinlaha ah, faa'iidada go'aamadan injineernimada ayaa ah mid la taaban karo: boggaga degdega ah, isdhexgalka fudud, iyo kalsoonida in nidaamku aanu hoos u dhigi doonin culeyska ugu sarreeya. Marka moduleka ballan-qaadku u baahan yahay inuu hubiyo in la heli karo daraasiin jadwal ah wakhtiga dhabta ah, ama dashboardka falanqaynta isku-darka xogta qaybaha meheradaha kala duwan, istaraatijiyadda xusuusta hoose ayaa ka muhimsan in ka badan inta isticmaalayaasha badankoodu weligood ogaan doonaan.

Software-ka ugu fiican waxa uu dareemaa dadaal la'aan in si sax ah loo isticmaalo sababtoo ah abuurayaashiisa ayaa dhididay tafaasiisha aan la arki karin. Qoondaynta is dulsaarka - degdeg ah, go'aamin, iyo xarrago fududaanteeda - waa mid ka mid ah faahfaahinta mudan in si qoto dheer loo fahmo, haddii aad qorayso barnaamijkaaga ugu horreeya ama aad samaynayso goob u adeegta kumanaan ganacsi oo adduunka oo dhan ah.

Su'aalaha Inta badan La Isweydiiyo

Waa maxay qoondaynta kaydinta maxayse muhiim u tahay?

Qoondaynta raasamaalku waa istaraatijiyad maaraynta xusuusta halkaas oo xogta lagu kaydiyo qaab dhismeedka ugu dambeeya, qaab-dhismeedka koowaad kaas oo si toos ah loo maareeyo socodka fulinta barnaamijka. Waa arrin sababtoo ah xusuusta la qoondeeyey ayaa aad uga dhaqso badan qoondaynta taallo - ma jiro qashin ururiye sare, ma jiro kala qaybsanaan, iyo meelayntu waa isla markiiba marka hawshu soo noqoto. Codsiyada waxqabadka-muhiimka ah, fahamka qoondaynta kaydka waxay si wayn u dhimi kartaa daahitaanka waxayna wanaajisaa wax soo saarka.

Goorma ayaan isticmaali karaa qoondaynta dulsaar badan?

U isticmaal qoondaynta kaydinta doorsoomayaal yar yar, oo cimri gaaban leh oo cabbir la og yahay wakhtiga la ururiyey - sida isugeynta maxalliga ah, qaab-dhismeedka, iyo arraysyada cabbirka go'an. Qoondaynta tuulintu waxay ku habboon tahay qaab-dhismeedka xogta waaweyn, ururinta cabbirka firfircoon, ama walxaha u baahan inay sii noolaadaan hawshii iyaga abuurtay. Xeerka muhiimka ah: haddii xogta nolosheeda ay la mid tahay baaxadda shaqada oo cabbirkeedu yahay mid la saadaalin karo, xidhmooyinku had iyo jeer waa doorashada ugu dhakhsaha badan.

Ma laga hortagi karaa khaladaadka qulqulka badan ee codsiyada wax soo saarka?

Haa, khaladaadka xad dhaafka ah ee is dulsaaran ayaa lagaga hortegi karaa dhaqamada injineernimada edbinta leh. Ka fogow soo noqnoqoshada qoto dheer ama aan xadka lahayn, xaddid qoondaynta doorsoomayaasha maxalliga ah ee waaweyn, isticmaal algorithms-ka-soo-celinta halka ay suurtagal tahay. Inta badan luqadaha iyo nidaamyada hawlgalka waxay kuu oggolaanayaan inaad dejiso xadka cabbirka. Qalabka la socodka iyo xalalka goobta sida Mewayz, 207-module-ganacsi OS ah oo ka bilaabma $19/mo, waxa uu ka caawin karaa kooxaha inay la socdaan caafimaadka codsiga oo ay qabtaan dib u dhacyada waxqabadka goor hore.

Luqadaha casriga ahi wali miyay ka faa'iidaysanayaan qoondaynta kaydinta?

Dhab ahaantii. Xitaa luqadaha leh runtimes-sida Go, Rust, C #, iyo Java - waxay isticmaalaan falanqaynta baxsadka si ay u go'aamiyaan in doorsoomayaasha la isku dhejin karo halkii laga qoondayn lahaa taallo. Daxalku waxa uu xoojiyaa qoondaynta-koowaad iyada oo loo marayo qaabka lahaanshaha, iyo isku-dubaridaha Go's si gardarro ah ayaa u hagaajiya. Fahmida makaanikadan waxay ka caawisaa horumariyayaasha inay qoraan koodh ay isku-dubaridayaashu si wax ku ool ah u tayayn karaan, taasoo keenaysa isticmaalka xusuusta oo yaraada iyo waqtiyada fulinta degdegga ah.

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