Hacker News

Zig – io_uring sy Grand Central Dispatch std.Io fampiharana dia tonga

Zig – io_uring sy Grand Central Dispatch std.Io fampiharana dia tonga Ity fikarohana ity dia miompana amin'ny io_uring, mandinika ny maha-zava-dehibe azy sy ny mety ho fiantraikany. Hevitra fototra voarakitra Ity atiny ity dia mikaroka: Fitsipika fototra sy...

8 min read Via ziglang.org

Mewayz Team

Editorial Team

Hacker News

Ny tranomboky manara-penitra an'i Zig dia tonga amin'ny dingana lehibe iray: ny io_uring sy Grand Central Dispatch (GCD) backends ho an'ny std.Io dia tonga tamin'ny fomba ofisialy, mitondra ny I/O asynchronous asynchronous amin'ny sehatra iray amin'ny iray amin'ireo fiteny fandrindrana rafitra maoderina indrindra. Ho an'ny mpamorona manangana fotodrafitrasa izay manome hery ireo sehatra fandraharahana ho an'ny taranaka manaraka — toy ny rafitra fiasana 207-module ao ambadiky ny Mewayz — ity fivoarana ity dia manambara vanim-potoana vaovaon'ny fahombiazana sy ny fampitomboana ny backend.

Inona no atao hoe io_uring ary nahoana no zava-dehibe amin'ny fampiharana maoderina?

Ampidirina ao amin'ny Linux kernel 5.1, io_uring dia interface tsara I/O asynchronous izay manova tanteraka ny fomba ifandraisan'ny fampiharana amin'ny rafitra fiasana. Ny maodely I/O nentim-paharazana dia manery ny fandaharana hanao antson'ny rafitra tsirairay ho an'ny asa mamaky na manoratra tsirairay — fitsangatsanganana miolikolika lafo vidy izay manakana ny fampandehanana amin'ny ambaratonga. io_uring dia manolo izany amin'ny buffer peratra ifampizarana eo anelanelan'ny habaka mpampiasa sy ny kernel, mamela ny fampiharana handefa sy hamita asa I/O an'arivony miaraka amin'ny overhead kely indrindra.

Mahagaga ny fiantraikany azo ampiharina. Ny mpizara tranonkala, ny angon-drakitra ary ny sehatra SaaS izay mitantana fifandraisana an'arivony dia mahazo tombony avy hatrany amin'ny fihenan'ny CPU sy ny fahatarana ambany kokoa. Ho an'ny sehatra iray manompo mpampiasa mavitrika 138.000 amin'ny maodely 207 samihafa — mamaky ny rakitra tsirairay, ny fanontaniana momba ny angon-drakitra, ary ny fangatahana tambajotra — ny fahasamihafana misy eo amin'ny I/O lova sy io_uring dia afaka adika mivantana amin'ny fanatsarana ny fotoana famaliana sy ny fampihenana ny vidin'ny fotodrafitrasa.

"io_uring no azo lazaina fa ny fanampiny manan-danja indrindra amin'ny Linux I/O tao anatin'ny folo taona. Amin'ny fanafoanana ny fifandimbiasana eo amin'ny tontolon'ny syscalls nentim-paharazana, dia ahafahan'ny rindran-damina ho an'ny mpampiasa manatona ny fidiran'ny fitaovana manta — mpanova lalao ho an'ny fampiharana rehetra izay misy ny I/O no mamaha ny olana."

Ahoana no hifandraisan'ny Grand Central Dispatch amin'ny Zig std.Io Story?

Na dia manokana Linux aza ny io_uring, ny Grand Central Dispatch (GCD) an'ny Apple dia efa ela no niray tsikombakomba voalohany sy rafitra fandefasana asa amin'ny macOS sy iOS. Ny GCD dia mamoaka ny fitantanana kofehy ho modely mifototra amin'ny filaharana, ahafahan'ny rafitra miasa mandamina tsara ny asa amin'ny cores CPU misy nefa tsy misy developer mitantana ireo dobo filokana.

Tamin'ny fametrahana ny lamosina roa eo ambanin'ny abstraction std.Io mitambatra, ny ekipa Zig dia nahavita zavatra tena sarotra tokoa: sehatra I/O API async tokana izay mitambatra ho async primitive amin'ny sehatra Linux sy Apple. Midika izany fa ny programa Zig nosoratana tamin'ny std.Io dia mampiasa ho azy io_uring amin'ny lohamilina Linux sy GCD amin'ny milina fampivoarana macOS — miaraka amin'ny sampana tsy misy sehatra manokana amin'ny kaody fampiharana.

Inona ny toe-javatra ara-tantara ao ambadiky ny dia Async I/O an'i Zig?

Ny lalan'i Zig mankany amin'ny tantara async stable dia tena niverimberina. Ny dikan-teny tany am-boalohany dia nahitana syntax andrana async/miandry izay nesorina avy eo rehefa nandinika indray ny famolavolana ny ekipa. Raha tokony hanolo-tena amin'ny maodely mifanandrify manokana ao anatin'ny fitsipi-pitenenana fiteny ny ekipa Zig core, dia nisafidy sosona abstraction I/O ao amin'ny ambaratongan'ny tranomboky manara-penitra — iray izay mbola azo amboarina miaraka amin'ny paikadin'ny mpanatanteraka samihafa.

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

Ity filôzôfia ity dia mifanaraka amin'ny ethos famolavolan'i Zig: tsy misy fikorianan'ny fanaraha-maso miafina, fitsinjarana mazava, ary rafitra izay miforona azo antoka. Ny interface std.Io dia maneho ny fiafaran'ny taona maro nisian'ny adihevitra eo amin'ny fiaraha-monina, ny fanaovana prototype, ary ny fanehoan-kevitra eran-tany. Ny landing io_uring sy GCD backend dia manamarika ny fifindrana avy amin'ny andrana mankany amin'ny famokarana vonona ho an'ny tontolo iainana async an'i Zig.

Inona no fiantraikany azo ampiharina amin'ny SaaS sy ny fotodrafitrasa sehatra fandraharahana?

Ho an'ny ekipa fananganana na fanombanana fotodrafitrasa any aoriana ho an'ny sehatra SaaS mpanofa maro, ny tantaran'i Zig io_uring dia misy fiantraikany mivaingana maromaro:

  • Nihena ny vidin'ny fotodrafitrasa: Ny fampandehanana I/O ambony kokoa isaky ny mpizara dia midika fa milina vitsy kokoa ilaina hiatrehana entana mitovy, izay misy fiantraikany mivantana amin'ny fandaniana rahona.
  • Fahafatesana azo vinavinaina amin'ny ambaratonga: Ny maodely fanolorana batch an'i io_uring dia manalefaka ny fiakaran'ny fahatarana mahazatra amin'ny fifanandrinana avo be, manatsara ny traikefan'ny mpampiasa amin'ny maodely rehetra amin'ny sehatra iray.
  • Fitaovana developer cross-platform: Miaraka amin'ny fanohanan'ny GCD, ny developer amin'ny macOS dia afaka mampiasa lojika I/O mitovy eto an-toerana izay miparitaka amin'ny lohamilina famokarana Linux — manakatona ny elanelana lava eo amin'ny fitiliana ny fahatokiana.
  • Famolavolana rafitra azo antoka amin'ny ho avy: Satria mitombo ny fampiasana io_uring amin'ny fitaovana mifanila (databases, proxy, runtimes), ny fanohanana avy amin'ny teratany Zig dia mametraka azy tsara amin'ny famoronana miaraka amin'ny tontolo iainana Linux maoderina kokoa.
  • Salama fitadidiana tsy misy fanangonana fako: Ny maodelin'ny fananan'i Zig dia miara-miara-miara-miara-miara-miombon'antoka amin'ny fahaiza-manaon'ny io_uring's io_uring ho an'ny fitantanana buffer izay manafoana ny sokajin'ny bibikely rehetra mahazatra ao amin'ny kaody tambajotran'ny rafitra.

Inona ny fironana ho avy tokony hojeren'ny mpamorona rehefa mivoatra ity tontolo iainana ity?

Fiantombohan'ny fipetrahana amin'ireto farany aoriana ireto fa tsy teboka fiafarana. Fivoarana maromaro no mendrika hojerena akaiky. Voalohany, ny tontolo iainana Zig dia mbola mihamatotra manodidina ny abstractions avo lenta - HTTP servers, database drivers, ary RPC frameworks naorina amin'ny std.Iodia hamaritra ny haingana ny fiteny hifindra amin'ny famokarana SaaS stacks. Faharoa, io_uring mihitsy no mivoatra hatrany; Ny endri-javatra toy ny buffer raikitra, hetsika marobe, ary fandatsaham-bato amin'ny lafiny kernel dia manome efitrano fampandehanana fanampiny izay azon'ny lamosin'i Zig aharihary tsikelikely. Fahatelo, satria mihamitombo hatrany ny fampihariharian'ny WebAssembly ny fifandraisan'ny WASI I/O, ny sosona abstraction an'i Zig dia mametraka azy io hikendry an'io tontolo io ihany koa, ahafahana manoratra kaody rafitra tena izy-once-run-anywhere.

Ho an'ny sehatra manao laharam-pahamehana ny fahombiazan'ny fampandehanana — toa an'i Mewayz, izay manery ny rafitra fiasan'ny orinasa iray manontolo ho famandrihana $19–$49/volana — ireo fitambarana fanatsarana amin'ny fotodrafitrasa ireo. Ny fahazoana fahombiazana rehetra amin'ny soson'ny rafitra dia adika amin'ny loha-hevitra ho an'ny endri-javatra maro kokoa, mpampiasa bebe kokoa, ary sisiny tsara kokoa.

Fanontaniana matetika

Azo antoka ve ny io_uring ampiasaina amin'ny tontolo famokarana ankehitriny?

Eny. io_uring dia efa nisy hatramin'ny Linux kernel 5.1 (2019) ary heverina ho azo antoka ho an'ny famokarana. Tetikasa lehibe anisan'izany ny Redis, RocksDB, ary ireo mpizara tamba-jotra avo lenta maro no nandray izany. Ny fampiharana Zig dia manaraka ny interface kernel mitovy ary mety amin'ny enta-mamokatra amin'ny fizarana Linux maoderina mandeha amin'ny kernel 5.6 na aoriana ho an'ny fanohanana endri-javatra feno.

Mila mamerina manoratra kaody Zig efa misy ve aho vao mampiasa ny std.Io backends vaovao?

Tsy mila fanoratana manan-danja. Ny interface std.Io dia natao ho sosona abstraction stable — kaody fampiharana voasoratra manohitra azy dia hahazo tombony ho azy avy amin'ny io_uring na GCD backend mifototra amin'ny kendrena fanangonana. Ny ezaka voalohany amin'ny fifindra-monina dia ny fanavaozana ny kinova Zig toolchain amin'izao fotoana izao izay ahitana ireto backends ireto sy ny fanitsiana ny code izay nampiasa mivantana ny I/O syscalls manokana amin'ny sehatra teo aloha.

Ahoana no ampitahaina amin'ny async I/O ao amin'ny Rust's Tokio na Go's runtime?

Tokio amin'ny Linux dia mampiasa io_uring amin'ny alàlan'ny tokio-uring boaty, na dia mijanona ho misaraka amin'ny fotoana fandefasana Tokio mahazatra izay mampiasa epoll. Ny fampandehanan'i Go dia mampiasa ny fandaharam-potoanany manokana miaraka amin'ny I/O mifototra amin'ny epoll. Ny fomba fiasan'i Zig dia tsy mitovy amin'ny hoe std.Io dia fahatsapana synchronous amin'ny haavon'ny API — tsy misy syntax async/miandry — raha mbola mandefa any amin'ny async primitive ao ambanin'ny satroka. Miaro ny famakian-teny izany ary misoroka ny olan'ny "asa miloko" izay manasarotra ny async Rust codebases.


Na mpamorona manombatombana ny fiteny fandaharana amin'ny rafitra ho an'ny tetikasanao fotodrafitrasa manaraka ianao, na tompona orinasa mitady sehatra miorina amin'ny teknolojia mahomby sy azo esorina, ny lalan'ny fitaovana toa an'i Zig dia maneho fiovana midadasika kokoa mankany amin'ny famolavolana rindrambaiko voalohany amin'ny fahombiazana. Mewayzdia naorina amin'io foto-kevitra io ihany — manatitra môdôl orinasa 207 mitambatra ho an'ireo mpampiasa 138.000 mahery amin'ny ampahany amin'ny vidin'ny fanangonana fitaovana mitovy amin'izany. Avy amin'ny CRM sy ny analytics mankany amin'ny rohy-in-bio sy ny fandefasana fampianarana, ny OS orinasa manontolo dia misy manomboka amin'ny $ 19 / volana. Manomboha andrana maimaim-poana ao amin'ny app.mewayz.com ary zahao ny endrika maoderina sy mahomby amin'ny fampiharana.