Как да ускорим компилацията с Pacman

Здравейте, този път ви предлагам малък съвет (който мнозина вероятно вече знаят), но че няколко души, които обикновено използват дистрибуции въз основа на Pacman те вероятно не знаят и за по-лошо: използват едно ядро ​​за компилация.

Горещо препоръчвам прочетете „Съображения за съставяне“ преди да съставя луд и глупав

Хайде да го направим…

Познайте нашия брой процесори

Първо ще видим колко процесора имаме на разположение (повечето експерти не се страхуват, очевидно има разлики между нишките и физическите процесори, но makepkg използва нишките за изпълнение като параметри), за това изпълняваме:

lscpu | grep '^ CPU (s):'

В моя случай се връща:

[x11tete11x @ Jarvis ~] $ lscpu | grep '^ CPU (s):' CPU (s): 8 [x11tete11x @ Jarvis ~] $

Това е така, защото в случая с процесори Intel с HyperThreading също показва нишки на изпълнение.

Редактирайте файла /etc/makepkg.conf

Редактираме файла /etc/makepkg.conf да каже на makepkg да използва всички налични процесори; По отношение на това, според wiki Gentoo, размерът на "заданията", които трябва да бъдат извършени, идва от следната сметка:

Брой процесори + HT (HiperThreading в случай, че Intel поддържа) + 1

Редактираме:

sudo nano /etc/makepkg.conf

и ние модифицираме линията MAKEFLAGS (без коментар ) със съответната стойност, в моя случай би изглеждало така:

MAKEFLAGS = "- j9"

Запазваме промените и voila, вече можем да компилираме нашите пакети, използвайки различни ядра в който и да е от нашите дистрибуции въз основа Pacman

След това прикачвам видео, в което можете да видите как се компилира «simplescreenrecorder» във всеки отделен случай, като МАКЕФЛАГИ (MAKEFLAGS = »- j9 ″) и без МАКЕФЛАГИ (#MAKEFLAGS = »- j9 ″):


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Yoyo каза той

    Чичо, това е, както казваме в моя град «пишката с оцет», искам да кажа, много добре 😛

    Имам 4 ядро, получавам 4, предполагам, че ще трябва да сложа 5, нали?

    Между другото, поправете makekpg.conf, че ако няма да побъркате copy / pastero, това е makepkg.conf

    Pacman правила !!!! 😛

    1.    x11tete11x каза той

      Току що видях малката грешка xD, вече изпратих момчетата да я поправят xD
      ефективно, във вашия случай това би било 5 xD.

      Знаех, че ще харесате тази статия xD хахаха

      1.    Мануел де ла Фуенте каза той

        Поправено. 🙂

        1.    Мануел де ла Фуенте каза той

          Моят потребителски агент ме издава, сега съм в Arch ...

          Всичко за използването на един и същ профил на Firefox и на двете дистрибуции. 😛

      2.    пътник каза той

        Използвам възможността да коментирам, че ако използвате BFS (ако не знаете какво е, тогава не го използвате), максималната производителност се постига с броя на ядрата, както е, без да добавяте нищо.

      3.    Изключвам каза той

        И ако ми хвърли, че имам "2", слагам 3 нали?

      4.    x11tete11x каза той

        Точно @ShutdowN

      5.    Azureus каза той

        Шибано те обичам, направих го, когато получи статията, сега я използвам, защото не знаех как да компилирам хахаха.
        Хубаво е, защото conky ми казва, че всичките 4 нишки на моя i3 са 100% и когато го редактирах, мисля, че имам конфигурирана само една нишка. Обичам това, в момента съставям собственото си ядро, да видим как работи: v

    2.    талскарт каза той

      Съгласен съм с Йойо, макар че в моя град това не се казва, това е «кучето в оцет» !! Веднага след като се прибера, пробвам.

      1.    Качо каза той

        Какво вкусвате, когато се приберете у дома ... пишка? хаха
        Караш ме да се смея …
        abrazo

  2.   Yoyo каза той

    Знаех, че има 5, защото казах в този пост как да компилирам ядрото за Debian на ръка хахаха

    http://yoyo308.com/2013/11/22/como-compilar-e-instalar-el-ultimo-kernel-3-12-1-en-crunchbang-waldorf-debian-wheezy/

    1.    x11tete11x каза той

      проклета кола спамеро xD хахаха

      1.    Мануел де ла Фуенте каза той

        Не се притеснявайте, вече го имам в полезрението си, муахахахаха.

      2.    Нано каза той

        "Моят банхам", не ме карай да те удрям, за да ти намалят изпаренията <3

        1.    Мануел де ла Фуенте каза той

          Махай се оттук, репичка, продължавай да работиш или ще взема пръчката.

      3.    елав каза той

        Хахаха .. о, боже, обичам тази общност.

  3.   пътник каза той

    Ccache също е много полезен, но това изисква предишна компилация, за да се ускори компилацията.

    1.    талскарт каза той

      Не разбрах, компилирате ли, за да ускорите компилацията?

      1.    пътник каза той

        ccache е инструмент (широко използван от потребители на gentoo), който позволява запазване на междинни файлове от компилацията на архив, което води до следващата компилация на този изпълним много, много по-бързо. Също така полезно за разработчици на приложения и за хора, които постоянно изграждат и актуализират собственото си ядро.

      2.    Юкитеру каза той

        ccache е кеш на компилация, когато го активирате, първата компилация, която правите, трае толкова дълго, колкото би трябвало да продължи (ако е Java, Firefox и LibreOffice заедно, осигурявате няколко часа компилация, ако вашият хардуер не е много мощен), но втората компилация на същия софтуер (същата версия, с някои промени в опциите за компилиране или кръпки) ще бъде много по-бърза, защото кешът проверява дали много от компилираното е готово и намалява времето за компилация. Понякога обаче създава проблеми (не заради нещо в Gentoo Wiki те поставят предупреждението) и в списъка на FirefoxOS също го правят, така че ако ще кеширате, направете го със същата версия, ако отидете на друга, изчистете кеша и започнете отново.

      3.    талскарт каза той

        Благодаря и на двамата за информацията, не знаех

  4.   Едуардо каза той

    Бил съм в Arch от година и половина и никога не бях чувал за този съвет, благодаря.

  5.   hjoaco каза той

    като е лошо гадно!
    хахахахахахаха

  6.   userarch каза той

    Благодаря ти. тези данни са много добри

  7.   Площад Луис каза той

    Имам въпрос…

    Използвам тази опция от известно време (номерът, който ми хвърли, беше 4, така че остава #MAKEFLAGS = »- j5 ″)

    но забелязвам, че когато актуализирам някои програми, процесорът достига 100% и е трудно да се използват други програми, докато това се случва ...

    мога ли да направя нещо между тях ?? например, сложете #MAKEFLAGS = »- j3 ″ ???? или е нещо, което е включено или изключено без средна позиция?

    поздравления.

    1.    x11tete11x каза той

      Луис, да, можете да сложите -j3 без проблеми, това, което прави този параметър, е да определите в колко «нишки» (за да не навлизаме в подробности, да кажем, че нишките са в колко «паралелни части» ще обработите ще направите) ще се използва за този процес

  8.   анонимен каза той

    перфектно, сега го сложих. Благодаря стари!