Hacker News

ዚግ – io_uringን ግራንድ ሴንትራል ዲስፓች std.Ioን ኣተገባብራታት ዓሊቦም

ዚግ – io_uringን ግራንድ ሴንትራል ዲስፓች std.Ioን ኣተገባብራታት ዓሊቦም እዚ ዳህሳስ እዚ ኣብ io_uring ዕምቆት ይገብር፣ ኣገዳስነቱን ክህልዎ ዝኽእል ጽልዋን ይምርምር። ቀንዲ ኣምር ዝተሸፈኑ እዚ ትሕዝቶ እዚ ዝድህስስ፤ መሰረታዊ መትከላትን...

2 min read Via ziglang.org

Mewayz Team

Editorial Team

Hacker News

ናይ ዚግ ስታንዳርድ ቤተ-መጻሕፍቲ ኣብ ዓቢ ምዕራፍ በጺሑ ኣሎ: ተወለድቲ io_uringግራንድ ሴንትራል ዲስፓች (GCD)ን ድሕረ-ገጻት ንstd.Io ብወግዒ ዓሊቦም ኣለዉ፣ እዚ ድማ ልዑል ብቕዓት ዘለዎ፣ ፕላትፎርም-መበቆላዊ ኣሲንክሮናዊ I/O ናብ ሓደ ካብቶም ኣዝዮም ተስፋ ዘለዎም ዘመናዊ ስርዓተ ፕሮግራሚንግ ቋንቋታት ኣምጺኦምዎ። ንቐጻሊ ወለዶ ንግዳዊ መድረኻት ሓይሊ ዝህብ ትሕተ ቅርጺ ዝሃንጹ ዲቨሎፐራት - ከምቲ ብድሕሪ ሜዋይዝ ዘሎ 207-ሞዱል ስርዓተ-ምሕደራ — እዚ ምዕባለ ሓድሽ ዘመን ናይ ድሕረ-ባይታ ብቕዓትን ምዕባይን ምልክት እዩ።

io_uring እንታይ እዩ ንዘመናዊ ኣፕሊኬሽናት ንምንታይ ኣገዳሲ እዩ?

ኣብ ሊኑክስ ከርነል 5.1 ዝተኣታተወ io_uring ልዑል ብቕዓት ዘለዎ ኣሲንክሮናዊ I/O መተሓላለፊ ኮይኑ ብመሰረቱ ኣፕሊኬሽናት ምስ ስርዓተ ምምሕዳር ከመይ ከም ዝራኸቡ ዝቕይር እዩ። ባህላዊ ሞዴላት I/O ንፕሮግራማት ንነፍሲ ​​ወከፍ ናይ ምንባብ ወይ ምጽሓፍ ስርሒት ውልቃዊ ናይ ስርዓት ጻውዒታት ክገብሩ የገድድዎም - ክቡራት ናይ ምምላስን ምምላስን መገሻታት ንብቕዓት ብመጠን ዝዓግቱ። io_uring ነዚ ኣብ መንጎ ናይ ተጠቃሚ ቦታን ከርነልን ብዝተኻፈለ ቀለቤት መዕቆሪ ይትክኦ፣ እዚ ድማ መተግበሪታት ብውሑድ ልዕሊ ዋጋ ኣሽሓት I/O ስርሓት ከቕርቡን ክዛዝሙን የኽእሎም።

እቲ ግብራዊ ጽልዋ ድራማዊ እዩ። ኣሽሓት ተደጋጋሚ ርክባት ዝሕዙ ዌብ ሰርቨር፡ ዳታቤዛትን SaaS ፕላትፎርማትን ካብ ምጉዳል ዋጋ CPUን ዝተሓተ ላቴንስን ብቕጽበት ይጥቀሙ። ንሓደ ኣብ 207 ዝተፈላለዩ ሞዱላት ን138,000 ንጡፋት ተጠቀምቲ ዘገልግል መድረኽ — ነፍሲ ወከፍ ንባብ ፋይል፣ ሕቶታት ዳታቤዝን ሕቶታት መርበብን ዝድርኽ — ኣብ መንጎ ውርሻዊ I/Oን io_uringን ዘሎ ፍልልይ ብቐጥታ ናብ ምምሕያሽ ግዜ ምላሽን ምንካይ ወጻኢታት ትሕተ ቅርጽን ክትርጎም ይኽእል።

<ብሎክኮት> ዝብል ጽሑፍ ኣሎ።

"io_uring ኣብ ውሽጢ ዓሰርተ ዓመት ኣብ ሊኑክስ I/O እቲ ዝዓበየ ትርጉም ዘለዎ ተወሳኺ ምዃኑ ብዘየማትእ መንገዲ ይግለጽ። ነቲ ናይ ባህላዊ ሲስካልስ ናይ ዓውዲ-ምቕያር ልዕሊ ዋጋ ብምውጋድ፡ ንተጠቃሚ-ቦታ ፕሮግራማት ናብ ጥረ ሃርድዌር ፍሩፑት ክቐርቡ የኽእሎም — ንዝኾነ I/O ዕንቅፋት ዝኾነሉ መተግበሪ ጸወታ ዝቕይር።"

ዝብል ጽሑፍ ኣሎ።

ግራንድ ሴንትራል ዲስፓች ኣብ ዛንታ ዚግ std.Io ብኸመይ ይሰማማዕ?

io_uring ንሊኑክስ ዝምልከት ክኸውን ከሎ፡ ናይ ኣፕል ግራንድ ሴንትራል ዲስፓች (GCD) ኣብ macOSን iOSን ከም ቀዳማይ ደረጃ ምትሕውዋስን ዕማም ምልኣኽን ማዕቀፍ ኮይኑ ንነዊሕ እዋን ኣገልጊሉ እዩ። GCD ንኣተሓሕዛ ፈትሊ ናብ ሪጋ ዝተመርኮሰ ሞዴል የብጽሖ፣ እዚ ድማ እቲ ስርዓተ-ምሕደራ ኣብ ልዕሊ ዝርከቡ CPU ኮርታት ስራሕ ብዝበለጸ መደብ ክገብር የኽእሎ፣ ዲቨሎፐራት ብኢዶም ንውህደት ፍሕሶታት ከየመሓድሩ።

ንኽልቲኡ ድሕረ-ገጻት ኣብ ትሕቲ ውሁድ std.Io ኣብስትራክሽን ብምዕላብ፡ ጋንታ ዚግ ናይ ብሓቂ ኣጸጋሚ ነገር ኣመዝጊቡ ኣሎ፡ ማለት ኣብ ክልቲኡ ሊኑክስን ኣፕልን መድረኻት ናብ ተወለድቲ፡ ኢዲዮማቲክ ኣሲንክ ፕሪሚቲቭ ዝጥርንፍ ሓደ ኣሲንክ I/O ኤፒኣይ ገጽ። እዚ ማለት ኣንጻር std.Io ዝተጻሕፉ ፕሮግራማት ዚግ ብኣውቶማቲክ ኣብ ሊኑክስ ሰርቨር io_uring ከምኡ’ውን ኣብ ማክኦኤስ ዲቨሎፕመንት ማሽናት GCD ይጥቀሙ — ምስ ዜሮ ፕላትፎርም-ፍሉይ ጨንፈር ኣብ ኣፕሊኬሽን ኮድ።

ድሕሪ ጉዕዞ ዚግ ኣሲንክ I/O ዘሎ ታሪኻዊ ኵነታት እንታይ እዩ?

ዚግ ናብ ርጉእ ኣሲንክ ዛንታ ዝወሰዶ መንገዲ ብፍላይ ተደጋጋሚ ኮይኑ ጸኒሑ እዩ። ቀዳሞት ስሪት ናይቲ ቋንቋ ፈተነ async/await ስነ-ቓል ዘጠቓለለ ኮይኑ፡ ድሕሪኡ እቲ ጉጅለ ነቲ ዲዛይን ዳግማይ እናሓሰበሉ ምስ ከደ ተኣልዩ። ኣብ ክንዲ ኣብ ሰዋስው ቋንቋ ዝተጠብሰ ፍሉይ ናይ ተጓናጺ ሞዴል ቃል ምእታው፡ ዚግ ቀንዲ ጉጅለ ብደረጃ መደበኛ ቤተ-መጻሕፍቲ I/O abstraction layer መሪጹ - ምስ ዝተፈላለዩ ፈጻሚ ስትራተጂታት ዝወሃሃድ ኮይኑ ዝቕጽል።

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

እዚ ፍልስፍና ምስቲ ዝሰፍሐ ናይ ዲዛይን ስነ-ምግባር ዚግ ዝሰማማዕ እዩ፡ ሕቡእ ዋሕዚ ምቁጽጻር የለን፡ ግሉጽ ምምቕራሕ፡ ከምኡ’ውን ብዝግመት መንገዲ ዝቖሙ ኣገባባት። እቲ std.Io ዝበሃል መተሓላለፊ፡ ንዓመታት ዝቐጸለ ናይ ማሕበረሰብ ክትዕ፡ ፕሮቶታይፕን ናይ ሓቂ ዓለም ግብረ መልስን ዝውክል ጫፍ እዩ። ምዕላብ io_uringን GCDን ድሕረ ባይታታት ካብ ፈተነ ናብ ምፍራይ ድሉው ንናይ ዚግ async ስነ-ህይወት ምስግጋር ምልክት እዩ።

ንSaSን ትሕተ ቅርጺ ቢዝነስ ፕላትፎርምን እንታይ ግብራዊ ጽልዋ ኣለዎ?

ንብዙሓት ተኻረይቲ SaaS መድረኻት ድሕረ-ባይታ ትሕተ-ቅርጺ ዝሃንጹ ወይ ዝግምግሙ ጋንታታት፡ ዛንታ Zig io_uring ሓያሎ ጭቡጣት ትርጉማት ይሕዝ፡

    ዝብል ጽሑፍ ኣሎ።
  • ዝነከየ ወጻኢታት ትሕተ ቅርጺ፡ ዝለዓለ ውጽኢት I/O ኣብ ሓደ ሰርቨር ማለት፡ ተመጣጣኒ ጽዕነት ንምሕላው ዘድልዩ ውሑዳት ማሽናት ማለት እዩ፡ እዚ ድማ ንወጻኢ ደበና ብቐጥታ ይጸልዎ።
  • ብመጠን ክትግምቶ ዝከኣል ላቴንሲ: io_uring ዝሰርሖ batched submission model ኣብ ትሕቲ ልዑል ተደጋጋሚ ልሙዳት ላቴንሲ ስፓይክስ የለስልሶም፣ ኣብ ኩሎም ሞዱላት ናይ ሓደ መድረኽ ተመኩሮ ተጠቃሚ የመሓይሽ።
  • Cross-platform developer tooling: ብGCD ደገፍ፡ ኣብ macOS ዝርከቡ ዲቨሎፐራት ተመሳሳሊ I/O ሎጂክ ኣብ ውሽጢ ዓዲ ከካይዱ ይኽእሉ እዮም እዚ ድማ ናብ Linux production servers ዝዝርጋሕ — ኣብ ምፍታን ተኣማንነት ንነዊሕ እዋን ዝጸንሐ ክፍተት ይዓጽዎ።
  • መጻኢ-መርትዖ ስርዓት ዲዛይን: io_uring ምቕባል ኣብ ጎረባብቲ መሳርሒታት (ዳታቤዝ፣ ፕሮክሲ፣ ናይ ምዝዋር ግዜ) እናዓበየ ምስ ከደ፣ ናይ ዚግ መበቆላዊ ደገፍ ምስቲ ሰፊሕ ዘመናዊ ሊኑክስ ኢኮሲስተም ንምድላው ጽቡቕ ኣቀማምጣ ኣለዎ።
  • ድሕነት ዝኽሪ ብዘይ ምእካብ ጎሓፍ: ሞዴል ዋንነት ዚግ ምስ ናይ io_uring ናይ ዜሮ-ቅዳሕ ዓቕሚ ንናይ መዕቆሪ ምሕደራ ይጽምበር እዚ ድማ ንመላእ ምድባት ናይቶም ኣብ ስርዓታት-ደረጃ መርበብ ኮድ ልሙዳት ዝኾኑ ስሕተታት የወግድ።
ዝብል ጽሑፍ ኣሎ።

እዚ ስነ-ህይወት እናማዕበለ ምስ ከደ፡ ኣማዕበልቲ እንታይ መጻኢ ዝንባለታት ክዕዘቡ ኣለዎም?

ምዕላብ ናይዞም ድሕረ-ገጻት መጀመርታ እምበር መወዳእታ ኣይኮነን። ሓያሎ ምዕባለታት ብቐረባ ክትከታተሎም ዝግባእ እዮም። ቀዳማይ፡ ስነ-ህይወት ዚግ ገና ኣብ ዙርያ ዝለዓለ ደረጃ ኣብስትራክሽን ይበስል ኣሎ — HTTP ሰርቨር፡ ዳታቤዝ ድራይቨር፡ ከምኡ’ውን ኣብ std.Io ዝተሃንጹ RPC ፍሬምዎርክስ፡ እቲ ቋንቋ ክሳብ ክንደይ ቅልጡፍ ናብ ምፍራይ SaaS ስታክስ ከም ዝሰጋገር ክውስኑ እዮም። ካልኣይ፡ io_uring ንባዕሉ ምዕባለኡ ይቕጽል፤ ከም fixed buffers, multishot operations, ከምኡ’ውን kernel-side polling ዝኣመሰሉ ባህርያት ተወሳኺ ናይ Zig backend ቀስ ብቐስ ከቃልዖ ዝኽእል ናይ ኣፈጻጽማ ርእሲ ቦታ ይህቡ። ሳልሳይ፡ WebAssembly runtimes ንWASI I/O interfaces እናቐልዐ ምስ ከደ፡ Zig’s abstraction layer ነቲ ከባቢ’ውን ዕላማ ንምግባር የቐምጦ፡ እዚ ድማ ብሓቂ write-once-run-anywhere systems code የኽእል።

ንብቕዓት ስርሒት ቀዳምነት ዝህቡ መድረኻት — ከም መዋይዝ፡ ንመላእ ንግዳዊ ስርዓተ-ምሕደራ ናብ $19–$49/ወርሒ ምዝገባ ዝጽቕጥ — እዞም ብደረጃ ትሕተ-ቅርጺ ዝግበሩ ምምሕያሻት ይውስኹ። ኩሉ ኣብ ንጣብ ስርዓት ዝረኽቦ ናይ ብቕዓት መኽሰብ ንዝያዳ ባህርያት፣ ዝያዳ ተጠቀምትን ዝሓሸ ወሰንን ናብ ርእሲ ቦታ ይትርጎም።

ብተደጋጋሚ ዝሕተቱ ሕቶታት

ሎሚ io_uring ኣብ ናይ ምፍራይ ሃዋህው ንምጥቃም ውሑስ ድዩ?

እወ። io_uring ካብ Linux kernel 5.1 (2019) ጀሚሩ ዝጸንሐ ኮይኑ፡ ሕጂ ንኣጠቓቕማ ምፍራይ ርጉእ ተባሂሉ ይውሰድ ኣሎ። ሬዲስ፣ ሮክስዲቢ፣ ከምኡ እውን ብርክት ዝበሉ ልዑል ብቕዓት ዘለዎም ኔትወርክ ሰርቨር ሓዊሱ ዓበይቲ ፕሮጀክትታት ተቐቢሎምዎ እዮም። ኣተገባብራ ዚግ ተመሳሳሊ ናይ ከርነል መተሓላለፍቲ ዝኽተል ኮይኑ ኣብ ዘመናዊ ሊኑክስ ዝርግሐታት ንሙሉእ ናይ ባህሪ ደገፍ ዝሰርሕ ከርነል 5.6 ወይ ድሕሪኡ ዝመጽእ ናይ ምፍራይ ጽዕነት ስራሕ ዝምጥን እዩ።

እቶም ሓደስቲ std.Io backends ንምጥቃም ዝጸንሐ ዚግ ኮድ ዳግማይ ምጽሓፍ የድልየኒ ድዩ?

ዝኾነ ትርጉም ዘለዎ ዳግመ-ጽሑፍ ኣየድልን። እቲ std.Io መተሓላለፊ ከም ርጉእ ኣብስትራክሽን ንጣብ ተነዲፉ ኣሎ — ኣንጻሩ ዝተጻሕፈ መተግበሪ ኮድ ብኣውቶማቲክ ካብቲ ኣብ ዕላማ ምጥርናፍ ዝተመርኮሰ io_uring ወይ GCD ድሕረ ባይታ ተጠቃሚ ክኸውን እዩ። እቲ ቀንዲ ናይ ስደት ጻዕሪ ናብቲ ነዞም ድሕረ-ገጻት ዘጠቓለለ ናይ ሕጂ ዚግ ቱልቸይን ስሪት ምዕራፍን ዝኾነ ቅድሚ ሕጂ ንመድረኽ-ፍሉይ I/O ሲስካልስ ብቐጥታ ዝጥቀም ዝነበረ ኮድ ምትዕርራይን የጠቓልል።

እዚ ምስ async I/O ኣብ Rust's Tokio ወይ Go's runtime ከመይ ይወዳደር?

ቶኪዮ ኣብ ሊኑክስ እውን ብመንገዲ tokio-uring crate io_uring ይጥቀም፣ ዋላ እኳ ካብቲ epoll ዝጥቀም ነባሪ ቶኪዮ runtime ተፈልዩ ይቕጽል። Go's runtime ናይ ገዛእ ርእሱ scheduler ምስ epoll-based I/O ይጥቀም። ኣቀራርባ ዚግ ዝፍለየሉ ምኽንያት std.Io ብደረጃ ኤፒኣይ ሲንክሮናዊ-ስምዒት እዩ — async/await syntax የለን — ገና ናብ ተወለድቲ async primitives ኣብ ትሕቲ ሽፋን እናሰደደ። እዚ ንባብነት ይዕቅብን ነቲ ንኣሲንክ ሩስት ኮድቤዝ ዘተሓላለኸ "ሕብራዊ ተግባር" ጸገም የወግድን እዩ።


ዝብል ጽሑፍ ኣሎ።

ንዝቕጽል ትሕተ ቅርጺ ፕሮጀክትካ ቋንቋታት ስርዓተ ፕሮግራሚንግ ዝግምግም ዲቨሎፐር ትኹን ወይ ኣብ ስሉጥን ምዕባይን ቴክኖሎጂ ዝተሃንጹ መድረኻት ትደሊ ወናኒ ቢዝነስ ትኹን፡ ትራጀክቶሪ ናይ ከም ዚግ ዝኣመሰሉ መሳርሒታት ናብ ኣፈጻጽማ-ቀዳማይ ሶፍትዌር ዲዛይን ዝሰፍሐ ለውጢ ዘንጸባርቕ እዩ። መዋይዝ ኣብዚ ተመሳሳሊ መትከል ዝተሃንጸ እዩ — 207 ዝተዋሃሃዱ ናይ ንግዲ ሞዱላት ንልዕሊ 138,000 ተጠቀምቲ ብክፋል ናይቲ ብውልቂ ተመጣጣኒ መሳርሒታት ንምትእኽኻብ ዝወጽእ ወጻኢታት ምቕራብ። ካብ CRManalyticsን ክሳብ link-in-bioን course deliveryን ምሉእ ቢዝነስ OS ካብ $19/ወርሒ ጀሚሩ ይርከብ። ነጻ ፈተነኻ ኣብ app.mewayz.com ጀምር እሞ ዘመናዊን ስሉጥን ዲዛይን መድረኽ ብተግባር ከመይ ከም ዝመስል ተመክሮ።

ይዕቅብ

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