એલટીઓ: તે શું છે અને તેનો ઉપયોગ જેન્ટુ પર કેવી રીતે કરવો

એલટીઓ એટલે શું?

એલટીઓ માટે ટૂંકાક્ષર છે લિંક સમય timપ્ટિમાઇઝેશન. તે એક isપરેશન છે જેમાં કમ્પાઇલર સ્રોત ફાઇલોને જોડવાની ક્ષણે optimપ્ટિમાઇઝન્સને વિલંબિત કરે છે, તમને બધી ફાઇલો જોવા દે છે જે એક ફાઇલ તરીકે એક્ઝિક્યુટેબલ બનાવે છે, અને આ રીતે વધુ અસરકારક રીતે optimપ્ટિમાઇઝેશન લાગુ કરે છે.

વધારે માહિતી માટે: ના વિકી જીસીસી.

ના ફાયદા અને ખામીઓ જોવા માટે એલટીઓ: ના બેંચમાર્ક Phoronix

ધ્યાનમાં રાખવાની બાબતો

  • તે અસ્થિર છે, તે કેટલાક પેકેજોમાં સમસ્યા પેદા કરી શકે છે.
  • કેટલાક પેકેજો કમ્પાઇલ કરવામાં નિષ્ફળ થશે (આને પછીથી કેવી રીતે ઠીક કરવું તે વિશે વધુ).
  • લિન્કરનો ઉપયોગ કરવાની ભલામણ કરવામાં આવે છે સોનું.
  • ઉપયોગની Siempre નું નવીનતમ સંસ્કરણ જીસીસી.

સોનું, અદ્યતન સુવિધાઓને ટેકો આપવા ઉપરાંત જે તેને વાપરવા માટે વધુ આકર્ષક બનાવે છે એલટીઓ, તે કરતાં ઝડપી છે જી.એન.યુ. એલ.ડી., ખાસ કરીને જ્યારે તે મોટા પ્રોગ્રામ્સની વાત આવે છે, જ્યાં તે બની શકે છે 5 વખત ઝડપી. તેનો ઉપયોગ કરવા માટે, ચલાવો:

binutils-config --linker ld.gold


એલટીઓનો ઉપયોગ: ભલામણ કરેલ પદ્ધતિ

સક્રિય કરવાને બદલે એલટીઓ વૈશ્વિક સ્તરે (જે સમસ્યાઓ પેદા કરી શકે છે) તેને આપણે ઇચ્છતા પેકેજોમાં સક્રિય કરવું વધુ સારું છે. આ રીતે, ફક્ત તે જ પેકેજો જેમાંથી તમે લાભ મેળવવા માંગો છો એલટીઓ તેઓ આ optimપ્ટિમાઇઝેશન સાથે કમ્પાઈલ કરે છે, અથવા જે પ્રોગ્રામ્સમાં ધીમું સંકલન સમય ટાળે છે જેનો તેનો લાભ નથી. આ નીચેની રીતથી પ્રાપ્ત કરી શકાય છે:

/ 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.

તેથી, વાપરવા માટે એલટીઓ પેકેજમાં, આપણે હમણાં જ તેનું નામ (સંપૂર્ણ નામ, www-client / firefox, ફાયરફોક્સને બદલે) ફાઇલમાં મૂકવું પડશે પેકેજ.એનવીસાથે LTO.conf તમારા જમણે. નીચે એક ઉદાહરણ છે:

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

હવે આપણે ફક્ત તે પેકેજો કમ્પાઇલ કરવા છે જેનો તેઓ ઉપયોગ કરે છે એલટીઓ.


વૈશ્વિક સ્તરે એલટીઓનો ઉપયોગ કરવો (આગ્રહણીય નથી)

અરજી કરવાને બદલે એલટીઓ પેકેજ દ્વારા પેકેજ, અમે તેને વૈશ્વિક સ્તરે પણ લાગુ કરી શકીએ છીએ (જે હું ઉપયોગ કરું છું). તેને લાગુ કરવા માટે, અનુસરો પગલાં આ છે:

અમે /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"

અને ફાઇલમાં પેકેજ.એનવી અમે પેકેજો મૂકીશું જેનું સંકલન નિષ્ફળ જશે એલટીઓ. તે અહીં મારા પેકેજ.એનવી (નોંધો કે હું ઉપયોગ કરું છું nolto.conf ને બદલે કોઈ- LTO.conf).

આપણે પણ ઉમેરવું જ જોઇએ એલટીઓ ના ચલનો ઉપયોગ કરો make.conf, આ આવશ્યક છે કારણ કે વિકાસકર્તાઓ જેન્ટૂ કેટલાક પેકેજોમાં આ optimપ્ટિમાઇઝેશનના ઉપયોગ માટે તેઓ (ધીમે ધીમે) વૈકલ્પિક પેચો ઉમેરી રહ્યા છે.

એકવાર આ થઈ જાય, ચાલો બધા સિસ્ટમ પેકેજો ફરીથી કમ્પાઇલ કરવા આગળ વધીએ:

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

કેપ-ગોઇંગનો ઉપયોગ કરીને, અમે કહી રહ્યા છીએ પોર્ટેજ ભૂલો અવગણવા માટે, જ્યારે &> બધા ભૂલોના આઉટપુટને ભૂલો તરીકે ઓળખાતી ફાઇલમાં રીડાયરેક્ટ કરો, પેકેજ કમ્પાઈલ કરવામાં નિષ્ફળ થાય છે અને સૂચિમાં ઉમેરવા માટે આ ફાઇલનો ઉપયોગ કરો. પેકેજ.એનવી.

&> અમને તમામ આઉટપુટથી વંચિત કરશે, જો આપણે પ્રક્રિયાના આઉટપુટને જોવા માંગતા હો, તો આપણે આ આદેશ (રૂટ તરીકે) નો ઉપયોગ કરવો જ જોઇએ:

tail -f /var/log/emerge.log

અને તે બધુ જ છે, હું આશા રાખું છું કે મેં કોઈ શંકા છોડી નથી, જો હું ઉત્સાહ વ્યક્ત કરીશ અને તે વિશે એક લેખ લખીશ ઓપનએમપી અને / અથવા ગ્રેફાઈટ.


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.

  1.   MSX જણાવ્યું હતું કે

    જેન્ટુ, મેહ ...
    ચાલો મહત્વપૂર્ણ વસ્તુ પર જઈએ: ગ્રેફાઇટ!

    1.    x11tete11x જણાવ્યું હતું કે

      મૂર્ખ અને સંવેદનશીલ ગ્રેફાઇટ એક્સડી, તે અસામાન્ય વસ્તુ જે તમારી એક્સડી સિસ્ટમને વિસ્ફોટ કરે છે, મને યાદ છે કે છેલ્લી વખત જ્યારે મેં તેનો ઉપયોગ કર્યો હતો, ત્યારે તે "નોટિફાઇ-સેન્ડ્ર કે.ડી. <50" કરી 3 વખત પુનરાવર્તિત કરવા માટે પૂરતું હતું જેથી પુનરાવર્તનમાં નંબર 50, પર્યાવરણ નરકમાં છલકાશે હાહાહાહાહ, હું ફરી ફાર્મ્સ એક્સડી પર જતો હતો

    2.    રોડર જણાવ્યું હતું કે

      મેં પહેલેથી જ કહ્યું હતું કે મને હજી પણ પ્રોત્સાહન આપવામાં આવ્યું હતું અને ગ્રેફાઇટમાંથી એક બનાવ્યો હતો. પરંતુ કોઈપણ રીતે, ગ્રેફાઇટ (અને કોઈપણ અન્ય ઓપ્ટિમાઇઝેશન) એલટીઓ સાથે શ્રેષ્ઠ કાર્ય કરે છે. ઉપરાંત, એલટીઓથી વિપરીત, ગ્રેફાઇટ અને ઓપન એમપીમાં સમસ્યા છે. બધા પ્રોગ્રામ્સ તેનો લાભ લેતા નથી, અને તેમાંથી જેનો ફાયદો થતો નથી, પ્રભાવ ઓછો થાય છે, તેથી આ કિસ્સામાં તેનો ઉપયોગ ફક્ત થોડા પેકેજો માટે જ કરવો વધુ સારું છે.