LLVM lld ஆல் உருவாக்கப்பட்ட மோல்ட் பில்டரின் முதல் நிலையான வெளியீடு

எல்.எல்.வி.எம் எல்.எல்.டி இணைப்பான் மற்றும் சிபிக் கம்பைலரின் ஆசிரியரான ரூய் உயாமா, புதிய உயர் செயல்திறன் கொண்ட மோல்ட் லிங்கரின் முதல் நிலையான வெளியீட்டை வழங்கினார், இது பொருள் கோப்புகளை இணைக்கும் வேகத்தில் குனு கோல்ட் மற்றும் எல்.எல்.வி.எம் எல்.எல்.டி இணைப்பான்களை விட குறிப்பிடத்தக்க வேகமானது. இந்தத் திட்டம் உற்பத்திச் செயலாக்கத்திற்குத் தயாராக இருப்பதாகக் கருதப்படுகிறது மற்றும் லினக்ஸ் கணினிகளில் உள்ள குனு இணைப்பாளருக்கு வேகமான, வெளிப்படையான மாற்றாகப் பயன்படுத்தலாம். அடுத்த பெரிய வெளியீட்டிற்கான திட்டங்களில் மேகோஸ் இயங்குதளத்திற்கான ஆதரவை நிறைவு செய்வதும் அடங்கும், அதன் பிறகு விண்டோஸுக்கு மோல்டை மாற்றியமைக்கும் பணி தொடங்கும்.

மோல்ட் C++ (C++20) இல் எழுதப்பட்டுள்ளது மற்றும் AGPLv3 இன் கீழ் உரிமம் பெற்றது, இது GPLv3 உடன் இணக்கமானது, ஆனால் GPLv2 உடன் பொருந்தாது, ஏனெனில் பிணைய சேவைகளை உருவாக்கும் போது திறந்த மாற்றங்கள் தேவைப்படுகின்றன. மேம்பாட்டு நிதியைப் பெறுவதற்கான விருப்பத்தால் இந்தத் தேர்வு விளக்கப்படுகிறது - MIT போன்ற அனுமதி உரிமத்தின் கீழ் மறு உரிமத்திற்கான குறியீட்டிற்கான உரிமைகளை விற்க அல்லது AGPL இல் திருப்தியடையாதவர்களுக்கு தனி வணிக உரிமத்தை வழங்க ஆசிரியர் தயாராக உள்ளார்.

மோல்டு குனு இணைப்பியின் அனைத்து அம்சங்களையும் ஆதரிக்கிறது மற்றும் மிக உயர்ந்த செயல்திறனைக் கொண்டுள்ளது - சிபி பயன்பாட்டுடன் கோப்புகளை நகலெடுப்பதை விட பாதி வேகத்தில் இணைக்கும் வேகத்தில் செய்யப்படுகிறது. எடுத்துக்காட்டாக, குரோம் 96 (குறியீடு அளவு 1.89 ஜிபி) உருவாக்கும்போது, ​​8-கோர் கணினியில் எல்எல்விஎம் எல்எல்டி - 53 வினாடிகள், மற்றும் மோல்ட் 11.7 வினாடிகள் (2.2 மடங்கு வேகமாக) ஆகியவற்றைப் பயன்படுத்தி 26-கோர் கணினியில் இயங்கக்கூடிய கோப்புகளை டெபுகின்ஃபோவுடன் இணைக்க 13 வினாடிகள் ஆகும். குனு தங்கம்). க்ளாங் 3.18 (64 ஜிபி) ஐ இணைக்கும்போது, ​​குனு தங்கத்தில் 5.8 வினாடிகள், எல்எல்விஎம் எல்எல்டியில் 2.9 வினாடிகள் மற்றும் மோல்டில் 89 வினாடிகள் ஆகும். Firefox 1.64 (32.9 GB) ஐ உருவாக்கும் போது, ​​GNU தங்கத்தில் 6.8 வினாடிகள், LLVM lld இல் 1.4 வினாடிகள் மற்றும் மோல்டில் XNUMX வினாடிகள் ஆகும்.

LLVM lld ஆல் உருவாக்கப்பட்ட மோல்ட் பில்டரின் முதல் நிலையான வெளியீடு

உருவாக்க நேரத்தைக் குறைப்பது, பிழைத்திருத்தம் மற்றும் மாற்றங்களைச் சோதிக்கும் போது இயங்கக்கூடிய கோப்புகளை உருவாக்கும் செயல்பாட்டில் காத்திருப்பைக் குறைப்பதன் மூலம் பெரிய திட்டங்களை உருவாக்குவதற்கான வசதியை கணிசமாக மேம்படுத்தலாம். ஒவ்வொரு குறியீடு மாற்றத்திற்குப் பிறகும் இணைப்பு முடிவடையும் வரை காத்திருக்க வேண்டிய விரக்தி, மல்டி-கோர் சிஸ்டங்களில் இருக்கும் இணைப்பாளர்களின் மோசமான செயல்திறன் மற்றும் மிகவும் சிக்கலான மாதிரிகளை நாடாமல் அடிப்படையில் வேறுபட்ட இணைக்கும் கட்டமைப்பை முயற்சிக்க விரும்புவது மோல்டை உருவாக்குவதற்கான உந்துதல். அதிகரிக்கும் இணைப்பாக.

அதிக எண்ணிக்கையிலான கம்பைலர்-தயாரிக்கப்பட்ட ஆப்ஜெக்ட் கோப்புகளில் இருந்து இயங்கக்கூடிய கோப்பை இணைப்பதன் உயர் செயல்திறன் வேகமான அல்காரிதம்கள், கிடைக்கக்கூடிய CPU கோர்களுக்கு இடையே செயல்படும் இணையான செயல்பாடுகள் மற்றும் மிகவும் திறமையான தரவு கட்டமைப்புகளைப் பயன்படுத்துவதன் மூலம் அடையப்படுகிறது. எடுத்துக்காட்டாக, கோப்புகளை நகலெடுக்கும் போது, ​​​​ஆப்ஜெக்ட் கோப்புகளை நினைவகத்தில் முன்கூட்டியே ஏற்றுதல், எழுத்துத் தெளிவுத்திறனுக்கான வேகமான ஹாஷ் அட்டவணைகளைப் பயன்படுத்துதல், ஒரு தனி நூலில் இடமாற்ற அட்டவணைகளை ஸ்கேன் செய்தல் மற்றும் வெவ்வேறு கோப்புகளில் மீண்டும் மீண்டும் இணைக்கப்பட்ட பிரிவுகளை நீக்குதல் போன்ற தீவிர கணக்கீடுகளைச் செய்வதற்கான நுட்பங்களை மோல்ட் செயல்படுத்துகிறது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்