Hacker News

ஜிக் - io_uring மற்றும் Grand Central Dispatch std.Io செயலாக்கங்கள் தரையிறங்கியது

ஜிக் - io_uring மற்றும் Grand Central Dispatch std.Io செயலாக்கங்கள் தரையிறங்கியது இந்த ஆய்வு io_uring ஐ ஆராய்ந்து, அதன் முக்கியத்துவம் மற்றும் சாத்தியமான தாக்கத்தை ஆய்வு செய்கிறது. முக்கிய கருத்துக்கள் மூடப்பட்டிருக்கும் இந்த உள்ளடக்கம் ஆராய்கிறது: அடிப்படைக் கோட்பாடுகள் மற்றும்...

2 min read Via ziglang.org

Mewayz Team

Editorial Team

Hacker News

Zig இன் நிலையான நூலகம் ஒரு முக்கிய மைல்கல்லை எட்டியுள்ளது: நேட்டிவ் io_uring மற்றும் Grand Central Dispatch (GCD) std.Io க்கான பின்தளங்கள் அதிகாரப்பூர்வமாக தரையிறங்கியுள்ளன, உயர் செயல்திறன், இயங்குதளம்-நேட்டிவ் ஒத்திசைவற்ற I/O நிரல்களை நவீன புரோமிங் மொழிகளில் ஒன்றாகக் கொண்டு வருகின்றன. Mewayz-க்கு பின்னால் உள்ள 207-மாட்யூல் இயங்குதளம் போன்ற - அடுத்த தலைமுறை வணிகத் தளங்களுக்குச் சக்தியளிக்கும் உள்கட்டமைப்பைக் கட்டமைக்கும் டெவலப்பர்களுக்கு - இந்த வளர்ச்சி பின்தளத்தில் செயல்திறன் மற்றும் அளவிடுதல் ஆகியவற்றின் புதிய சகாப்தத்தைக் குறிக்கிறது.

io_uring என்றால் என்ன, நவீன பயன்பாடுகளுக்கு இது ஏன் முக்கியமானது?

Linux kernel 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 க்கு ஒரு தசாப்தத்தில் மிகவும் குறிப்பிடத்தக்க கூடுதலாகும். பாரம்பரிய syscals இன் சூழல்-மாறுதல் மேல்நிலையை நீக்குவதன் மூலம், மூல வன்பொருள் செயல்திறனை அணுக பயனர்-வெளி நிரல்களை இது செயல்படுத்துகிறது - I/O இடையூறாக இருக்கும் எந்தவொரு பயன்பாட்டிற்கும் கேம்-சேஞ்சர்."

ஜிக் std.Io கதையில் கிராண்ட் சென்ட்ரல் டிஸ்பாட்ச் எவ்வாறு பொருந்துகிறது?

io_uring Linux-சார்ந்ததாக இருந்தாலும், Apple இன் Grand Central Dispatch (GCD) நீண்ட காலமாக macOS மற்றும் iOS இல் முதன்மையான ஒத்திசைவு மற்றும் பணி-அனுப்புதல் கட்டமைப்பாக செயல்படுகிறது. GCD த்ரெட் மேனேஜ்மென்ட்டை வரிசை அடிப்படையிலான மாதிரியாக மாற்றுகிறது, இது டெவலப்பர்கள் த்ரெட் பூல்களை கைமுறையாக நிர்வகிக்காமல், கிடைக்கக்கூடிய CPU கோர்களில் வேலைகளை சிறந்த முறையில் திட்டமிடுவதற்கு இயக்க முறைமையை அனுமதிக்கிறது.

ஒருங்கிணைக்கப்பட்ட std.Io சுருக்கத்தின் கீழ் இரு பின்தளங்களையும் தரையிறக்குவதன் மூலம், ஜிக் குழு உண்மையிலேயே கடினமான ஒன்றைச் சாதித்துள்ளது: லினக்ஸ் மற்றும் ஆப்பிள் இயங்குதளங்களில் உள்ள பூர்வீக, இடியோமேடிக் அசின்க் ப்ரிமிட்டிவ்களை தொகுக்கும் ஒற்றை ஒத்திசைவு I/O API மேற்பரப்பு. இதன் பொருள், std.Io க்கு எதிராக எழுதப்பட்ட ஜிக் நிரல்கள், லினக்ஸ் சர்வர்களில் io_uring மற்றும் மேகோஸ் டெவலப்மென்ட் மெஷின்களில் GCD - பயன்பாட்டுக் குறியீட்டில் பூஜ்ஜிய பிளாட்ஃபார்ம்-குறிப்பிட்ட கிளைகளுடன் தானாக இயங்கும்.

ஜிக்கின் Async I/O பயணத்தின் பின்னணியில் உள்ள வரலாற்றுச் சூழல் என்ன?

ஒரு நிலையான ஒத்திசைவு கதைக்கான ஜிக்கின் பாதை குறிப்பிடத்தக்க வகையில் மீண்டும் மீண்டும் வருகிறது. மொழியின் ஆரம்ப பதிப்புகளில் சோதனையான async/waiit தொடரியல் இருந்தது, குழு வடிவமைப்பை மறுபரிசீலனை செய்ததால் பின்னர் அகற்றப்பட்டது. மொழி இலக்கணத்தில் சுடப்பட்ட ஒரு குறிப்பிட்ட ஒத்திசைவு மாதிரியை மேற்கொள்வதற்குப் பதிலாக, ஜிக் கோர் குழு நிலையான நூலக மட்டத்தில் I/O சுருக்க அடுக்கைத் தேர்ந்தெடுத்தது - இது வெவ்வேறு செயல்பாட்டாளர் உத்திகளுடன் இசையமைக்கக்கூடியது.

💡 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 பின்தளங்கள் Zig's async ecosystemக்கான சோதனையிலிருந்து உற்பத்திக்கு தயார்நிலைக்கு மாறுவதைக் குறிக்கிறது.

SaaS மற்றும் பிசினஸ் பிளாட்ஃபார்ம் உள்கட்டமைப்புக்கான நடைமுறை தாக்கங்கள் என்ன?

பல குத்தகைதாரர் SaaS இயங்குதளங்களுக்கான பின்தள உள்கட்டமைப்பை உருவாக்கும் அல்லது மதிப்பீடு செய்யும் குழுக்களுக்கு, Zig io_uring கதை பல உறுதியான தாக்கங்களைக் கொண்டுள்ளது:

  • குறைக்கப்பட்ட உள்கட்டமைப்பு செலவுகள்: ஒரு சர்வருக்கு அதிக I/O செயல்திறன் என்பது, சமமான சுமைகளை கையாளுவதற்கு குறைவான இயந்திரங்கள் தேவை, இது நேரடியாக கிளவுட் செலவினத்தை பாதிக்கிறது.
  • கணிக்கக்கூடிய தாமதம் அளவு: io_uring இன் தொகுதி சமர்ப்பிப்பு மாதிரியானது, அதிக ஒத்திசைவின் கீழ் பொதுவான லேட்டன்சி ஸ்பைக்குகளை மென்மையாக்குகிறது, ஒரு இயங்குதளத்தின் அனைத்து தொகுதிகளிலும் பயனர் அனுபவத்தை மேம்படுத்துகிறது.
  • கிராஸ்-பிளாட்ஃபார்ம் டெவலப்பர் டூலிங்: GCD ஆதரவுடன், MacOS இல் உள்ள டெவலப்பர்கள் லினக்ஸ் தயாரிப்பு சேவையகங்களுக்கு வரிசைப்படுத்தும் ஒரே மாதிரியான I/O லாஜிக்கை உள்நாட்டில் இயக்க முடியும் - நம்பகத்தன்மையை சோதிப்பதில் நீண்டகால இடைவெளியை மூடுகிறது.
  • எதிர்கால-ஆதார அமைப்பு வடிவமைப்பு: io_uring தத்தெடுப்பு அருகிலுள்ள கருவிகளில் (தரவுத்தளங்கள், ப்ராக்ஸிகள், இயக்க நேரங்கள்) வளரும்போது, பரந்த நவீன லினக்ஸ் சுற்றுச்சூழல் அமைப்புடன் இசையமைக்க ஜிக் இன் சொந்த ஆதரவு அதை சிறப்பாக நிலைநிறுத்துகிறது.
  • குப்பை சேகரிப்பு இல்லாமல் நினைவக பாதுகாப்பு: Zig இன் உரிமையாளர் மாதிரி இணைகிறது io_uring இன் பூஜ்ஜிய-நகல் திறன்கள் இடையக நிர்வாகத்திற்காக, இது கணினி நிலை நெட்வொர்க் குறியீட்டில் பொதுவான பிழைகளின் முழு வகைகளையும் நீக்குகிறது.

இந்த சுற்றுச்சூழல் அமைப்பு உருவாகும்போது டெவலப்பர்கள் என்ன எதிர்காலப் போக்குகளைப் பார்க்க வேண்டும்?

இந்தப் பின்முனைகளின் இறங்குதல் ஒரு ஆரம்பம், இறுதிப்புள்ளி அல்ல. பல முன்னேற்றங்களை உன்னிப்பாகக் கண்காணிக்க வேண்டும். முதலாவதாக, ஜிக் சுற்றுச்சூழல் அமைப்பு இன்னும் உயர்-நிலை சுருக்கங்களைச் சுற்றி முதிர்ச்சியடைந்து வருகிறது - HTTP சேவையகங்கள், தரவுத்தள இயக்கிகள் மற்றும் std.Io இல் கட்டமைக்கப்பட்ட RPC கட்டமைப்புகள், உற்பத்தி SaaS அடுக்குகளில் மொழி எவ்வளவு விரைவாக நகர்கிறது என்பதை தீர்மானிக்கும். இரண்டாவதாக, io_uring தானே தொடர்ந்து உருவாகிறது; நிலையான இடையகங்கள், மல்டிஷாட் செயல்பாடுகள் மற்றும் கர்னல் பக்க வாக்குப்பதிவு போன்ற அம்சங்கள் ஜிக்கின் பின்தளம் படிப்படியாக வெளிப்படுத்தக்கூடிய கூடுதல் செயல்திறன் ஹெட்ரூமை வழங்குகிறது. மூன்றாவதாக, WebAssembly இயக்க நேரங்கள் WASI I/O இடைமுகங்களை அதிகளவில் வெளிப்படுத்துவதால், ஜிக்ஸின் சுருக்க அடுக்கு அதை அந்தச் சூழலையும் குறிவைத்து, உண்மையான முறையில் எழுத-ஒருமுறை-எங்கும் இயங்கும் கணினிக் குறியீட்டை செயல்படுத்துகிறது.

செயல்திறனுக்கு முன்னுரிமை அளிக்கும் தளங்களுக்கு - Mewayz போன்றது, இது முழு வணிக இயக்க முறைமையையும் $19–$49/மாதம் சந்தாவாக சுருக்குகிறது - இந்த உள்கட்டமைப்பு-நிலை மேம்பாடுகள் கலவை. சிஸ்டம் லேயரில் உள்ள ஒவ்வொரு செயல்திறன் ஆதாயமும் கூடுதல் அம்சங்கள், அதிக பயனர்கள் மற்றும் சிறந்த விளிம்புகளுக்கு ஹெட்ரூமுக்கு மொழிபெயர்க்கப்படுகிறது.

அடிக்கடி கேட்கப்படும் கேள்விகள்

இன்று உற்பத்தி சூழல்களில் io_uring பயன்படுத்துவது பாதுகாப்பானதா?

ஆம். லினக்ஸ் கர்னல் 5.1 (2019) இலிருந்து io_uring கிடைக்கிறது, இப்போது உற்பத்திப் பயன்பாட்டிற்கு நிலையானதாகக் கருதப்படுகிறது. ரெடிஸ், ராக்ஸ்டிபி மற்றும் பல உயர் செயல்திறன் நெட்வொர்க் சர்வர்கள் உள்ளிட்ட முக்கிய திட்டங்கள் இதை ஏற்றுக்கொண்டன. ஜிக் செயல்படுத்தல் அதே கர்னல் இடைமுகங்களைப் பின்பற்றுகிறது மற்றும் முழு அம்ச ஆதரவுக்காக கர்னல் 5.6 அல்லது அதற்குப் பிறகு இயங்கும் நவீன லினக்ஸ் விநியோகங்களில் உற்பத்தி பணிச்சுமைகளுக்கு ஏற்றது.

புதிய std.Io பின்தளங்களைப் பயன்படுத்த, ஏற்கனவே உள்ள ஜிக் குறியீட்டை மீண்டும் எழுத வேண்டுமா?

குறிப்பிடத்தக்க வகையில் மீண்டும் எழுத வேண்டிய அவசியமில்லை. std.Io இடைமுகம் ஒரு நிலையான சுருக்க அடுக்காக வடிவமைக்கப்பட்டுள்ளது - அதற்கு எதிராக எழுதப்பட்ட பயன்பாட்டுக் குறியீடு, தொகுக்கும் இலக்கின் அடிப்படையில் io_uring அல்லது GCD பின்தளத்தில் இருந்து தானாகவே பயனடையும். முதன்மை இடம்பெயர்வு முயற்சியில் இந்த பின்தளங்களை உள்ளடக்கிய தற்போதைய ஜிக் கருவித்தொகுப்பு பதிப்பிற்கு புதுப்பித்தல் மற்றும் முன்னர் இயங்குதளம் சார்ந்த I/O சிஸ்கால்களை நேரடியாகப் பயன்படுத்திய எந்த குறியீட்டையும் சரிசெய்தல் ஆகியவை அடங்கும்.

ரஸ்டின் டோக்கியோ அல்லது கோவின் இயக்க நேரத்தின் ஒத்திசைவு I/O உடன் இது எவ்வாறு ஒப்பிடப்படுகிறது?

Tokio லினக்ஸில் io_uring ஐ tokio-uring க்ரேட் வழியாகவும் பயன்படுத்துகிறது, இருப்பினும் இது epoll ஐப் பயன்படுத்தும் இயல்புநிலை Tokio இயக்க நேரத்திலிருந்து தனித்தனியாக உள்ளது. Go இன் இயக்க நேரம் epoll அடிப்படையிலான I/O உடன் அதன் சொந்த திட்டமிடலைப் பயன்படுத்துகிறது. ஜிக்கின் அணுகுமுறை வேறுபட்டது, std.Io என்பது API அளவில் ஒத்திசைவு-உணர்வு - ஒத்திசைவு/காத்திருப்பு தொடரியல் இல்லை - பேட்டையின் கீழ் உள்ள நேட்டிவ் அசின்க் ப்ரிமிட்டிவ்களுக்கு இன்னும் அனுப்பப்படுகிறது. இது வாசிப்புத்திறனைப் பாதுகாக்கிறது மற்றும் ஒத்திசைவு ரஸ்ட் கோட்பேஸ்களை சிக்கலாக்கும் "வண்ண செயல்பாடு" சிக்கலைத் தவிர்க்கிறது.


உங்கள் அடுத்த உள்கட்டமைப்பு திட்டத்திற்கான சிஸ்டம் புரோகிராமிங் மொழிகளை மதிப்பிடும் டெவலப்பராக இருந்தாலும் அல்லது திறமையான, அளவிடக்கூடிய தொழில்நுட்பத்தில் கட்டமைக்கப்பட்ட தளங்களைத் தேடும் வணிக உரிமையாளராக இருந்தாலும், ஜிக் போன்ற கருவிகளின் பாதையானது செயல்திறன்-முதல் மென்பொருள் வடிவமைப்பை நோக்கிய பரந்த மாற்றத்தை பிரதிபலிக்கிறது. Mewayz இதே கொள்கையில் கட்டமைக்கப்பட்டுள்ளது — 207 ஒருங்கிணைந்த வணிக தொகுதிகளை 138,000 க்கும் மேற்பட்ட பயனர்களுக்கு தனித்தனியாக சமமான கருவிகளை அசெம்பிள் செய்யும் செலவில் ஒரு பகுதியை வழங்குகிறது. CRM மற்றும் அனலிட்டிக்ஸ் முதல் லிங்க்-இன்-பயோ மற்றும் கோர்ஸ் டெலிவரி வரை, முழு வணிக 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