LTO: அது என்ன, அதை ஜென்டூவில் எவ்வாறு பயன்படுத்துவது

LTO என்றால் என்ன?

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

மேலும் தகவலுக்கு: விக்கி ஜிசிசி.

நன்மைகள் மற்றும் குறைபாடுகளைக் காண LTO: இன் வரையறைகள் ப்ரோனிக்ஸ்

மனதில் கொள்ள வேண்டிய விஷயங்கள்

  • இது நிலையற்றது, இது சில தொகுப்புகளில் சிக்கல்களை ஏற்படுத்தும்.
  • சில தொகுப்புகள் தொகுக்கத் தவறிவிடும் (இதை பின்னர் எவ்வாறு சரிசெய்வது என்பது பற்றி மேலும்).
  • இணைப்பியைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது தங்கம்.
  • பயன்பாட்டு எப்போதும் இன் சமீபத்திய பதிப்பு ஜிசிசி.

தங்கம், பயன்படுத்த மிகவும் கவர்ச்சிகரமானதாக இருக்கும் மேம்பட்ட அம்சங்களை ஆதரிப்பதைத் தவிர LTO, அதை விட வேகமானது குனு எல்.டி.குறிப்பாக பெரிய நிரல்களுக்கு வரும்போது, ​​அது மாறக்கூடும் 5 மடங்கு வேகமாக. இதைப் பயன்படுத்த, இயக்கவும்:

binutils-config --linker ld.gold


LTO ஐப் பயன்படுத்துதல்: பரிந்துரைக்கப்பட்ட முறை

செயல்படுத்துவதற்கு பதிலாக LTO உலகளவில் (இது சிக்கல்களை ஏற்படுத்தும்) நாம் விரும்பும் தொகுப்புகளில் அதை செயல்படுத்துவது நல்லது. இந்த வழியில், நீங்கள் பயனடைய விரும்பும் தொகுப்புகள் மட்டுமே LTO அவை இந்த தேர்வுமுறையுடன் தொகுக்கப்பட்டுள்ளன, அல்லது பயனடையாத நிரல்களில் மெதுவான தொகுப்பு நேரங்களைத் தவிர்க்கின்றன. இதை பின்வரும் வழியில் அடையலாம்:

/ Etc / portage / env கோப்பகத்தில், நாங்கள் கோப்பை உருவாக்குகிறோம் LTO.conf நாங்கள் பின்வரும் வரிகளைச் சேர்க்கிறோம்:

CFLAGS="${CFLAGS} -flto=5" #pon en -flto los hilos  de tu CPU + 1
CXXFLAGS="${CXXFLAGS} -flto=5" #igual que arriba
LDFLAGS="${LDFLAGS} -fuse-linker-plugin" #solo si usas Gold, es mejor.

எனவே, பயன்படுத்த LTO ஒரு தொகுப்பில், அதன் பெயரை (முழு பெயர், www-client / firefox, ஃபயர்பாக்ஸுக்கு பதிலாக) கோப்பில் மட்டுமே வைக்க வேண்டும் தொகுப்பு. envஉடன் LTO.conf உங்கள் வலதுபுறம். கீழே ஒரு எடுத்துக்காட்டு:

app-emulation/wine LTO.conf
www-client/firefox LTO.conf
sys-devel/gcc LTO.conf
kde-base/kdelibs LTO.conf

இப்போது நாம் பயன்படுத்த விரும்பும் தொகுப்புகளை தொகுக்க வேண்டும் LTO.


உலகளவில் LTO ஐப் பயன்படுத்துதல் (பரிந்துரைக்கப்படவில்லை)

விண்ணப்பிப்பதற்கு பதிலாக LTO தொகுப்பு மூலம் தொகுப்பு, நாங்கள் அதை உலகளவில் பயன்படுத்தலாம் (இதுதான் நான் பயன்படுத்துகிறேன்). அதைப் பயன்படுத்த, பின்பற்ற வேண்டிய படிகள்:

நாங்கள் /etc/portage/make.conf கோப்பைத் திருத்தி பின்வருவனவற்றைச் சேர்க்கிறோம் (அவை கோப்பின் அதே வரிகள் LTO.conf):

CFLAGS="${CFLAGS} -flto=5" #pon en -flto los hilos  de tu CPU + 1
CXXFLAGS="${CXXFLAGS} -flto=5" #igual que arriba
LDFLAGS="${LDFLAGS} -fuse-linker-plugin" #solo si usas Gold, es mejor.

இதையொட்டி, நாங்கள் /etc/portage/env/no-LTO.conf கோப்பை உருவாக்கி பின்வரும் வரிகளைச் சேர்க்கிறோம்:

CFLAGS="${CFLAGS} -fno-lto -fno-use-linker-plugin"
CXXFLAGS="${CXXFLAGS} -fno-lto -fno-use-linker-plugin"
LDFLAGS="${LDFLAGS} -fno-lto -fno-use-linker-plugin"

மற்றும் கோப்பில் தொகுப்பு. env தொகுப்பு தோல்வியுற்ற தொகுப்புகளை வைப்போம் LTO. அவர் இங்கே என் தொகுப்பு. env (நான் பயன்படுத்துகிறேன் என்பதை நினைவில் கொள்க nolto.conf அதற்கு பதிலாக இல்லை-LTO.conf).

நாமும் சேர்க்க வேண்டும் LTO இன் மாறி பயன்படுத்த செய்ய.conf, இது அவசியம், ஏனெனில் டெவலப்பர்கள் ஜென்டூ அவை (மெதுவாக) சில தொகுப்புகளில் இந்த தேர்வுமுறையைப் பயன்படுத்த விருப்பத் திட்டுகளைச் சேர்க்கின்றன.

இது முடிந்ததும், அனைத்து கணினி தொகுப்புகளையும் மீண்டும் தொகுக்க தொடரலாம்:

emerge -e @world @system --keep-going &> errores

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

&> அனைத்து வெளியீட்டையும் பறிக்கும், செயல்பாட்டின் வெளியீட்டை நாம் காண விரும்பினால், இந்த கட்டளையை (ரூட்டாக) பயன்படுத்த வேண்டும்:

tail -f /var/log/emerge.log

அவ்வளவுதான், நான் எந்த சந்தேகத்தையும் விடவில்லை என்று நம்புகிறேன், அது என்றால் நான் உற்சாகப்படுத்தி ஒரு கட்டுரை எழுதுவேன் Openmp மற்றும் / அல்லது கிராபைட்.


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   msx அவர் கூறினார்

    ஜென்டூ, மெஹ் ...
    முக்கியமான விஷயத்தைப் பெறுவோம்: கிராஃபைட்!

    1.    x11tete11x அவர் கூறினார்

      முட்டாள்தனமான மற்றும் சென்சுவல் கிராஃபைட் எக்ஸ்.டி, உங்கள் எக்ஸ்.டி அமைப்பை வெடிக்கச் செய்யும் அசாதாரணமான விஷயம், கடைசியாக நான் அதைப் பயன்படுத்தினேன் என்பதை நினைவில் கொள்கிறேன், அதற்காக 50 முறை செய்வதைச் செய்ய இது போதுமானது K கே.டி.இ <3 ஐ அறிவிக்கவும்-அனுப்புங்கள் எண் 50, சூழல் நரகத்திற்கு வெடிக்கும் ஹஹாஹாஹாஹா, ஆமாம், நான் ஃபார்ட்ஸ் எக்ஸ்.டி.

    2.    ரோடர் அவர் கூறினார்

      நான் இன்னும் ஊக்கமடைந்து கிராஃபைட்டில் ஒன்றை உருவாக்கினேன் என்று ஏற்கனவே சொன்னேன். ஆனால் எப்படியிருந்தாலும், கிராஃபைட் (மற்றும் வேறு ஏதேனும் தேர்வுமுறை) LTO உடன் சிறப்பாக செயல்படுகிறது. மேலும், எல்.டி.ஓ போலல்லாமல், கிராஃபைட் மற்றும் ஓபன் எம்.பி ஆகியவற்றில் சிக்கல் உள்ளது. எல்லா நிரல்களும் அதிலிருந்து பயனடைவதில்லை, பயனடையாதவற்றில் செயல்திறன் குறைகிறது, எனவே இந்த விஷயத்தில் ஒரு சில தொகுப்புகளுக்கு மட்டுமே பயன்படுத்துவது நல்லது.