Як прискорити компіляцію за допомогою Pacman

Привіт, цього разу я пропоную вам невеличку підказку (яку багато хто, мабуть, вже знає), але про те, що кілька людей, які зазвичай використовують дистрибутиви на основі Pacman вони, мабуть, не знають, і на гірше: використовують одне ядро ​​для компіляції.

Настійно рекомендую читати "Міркування щодо складання" перед складанням божевільного і безглуздого

Давайте зробимо це…

Знайте нашу кількість процесорів

Спочатку ми подивимося, скільки у нас доступних процесорів (більшість експертів не лякаються, очевидно, що існують відмінності між потоками та фізичними процесорами, але makepkg використовує в якості параметрів потоки виконання), для чого ми виконуємо:

lscpu | grep '^ ЦП (и):'

У моєму випадку він повертає:

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

Це тому, що у випадку з процесорами Intel з HyperThreading також показує потоки виконання.

Відредагуйте файл /etc/makepkg.conf

Ми редагуємо файл /etc/makepkg.conf сказати makepkg використовувати всі доступні процесори; З точки зору цього, згідно з вікі Gentoo, кількість "завдань", яку потрібно виконати, надходить із наступного рахунку:

Кількість процесорів + HT (HiperThreading у разі підтримки Intel) + 1

Ми редагуємо:

sudo nano /etc/makepkg.conf

і ми модифікуємо рядок МАКЕФЛАГИ (не коментуючи ) з відповідним значенням, в моєму випадку це буде виглядати так:

MAKEFLAGS = "- j9"

Ми зберігаємо зміни і вуаля, тепер ми можемо компілювати наші пакети, використовуючи різні ядра в будь-якому з наших дистрибутивів на основі Pacman

Ось відео, в якому ви можете побачити, як "simplescreenrecorder" компілюється в кожному випадку за допомогою МАКЕФЛАГИ (MAKEFLAGS = »- j9 ″), і без МАКЕФЛАГИ (#MAKEFLAGS = »- j9 ″):


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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

  1.   йойо - сказав він

    Дядьку, це, як ми говоримо в моєму місті, «хуй в оцті», я маю на увазі, дуже добре 😛

    У мене є 4 ядра, я отримую 4, мабуть, мені доведеться поставити 5 правильно?

    До речі, виправте makekpg.conf, що якщо ви не будете зводити copy / pastero з розуму, то це makepkg.conf

    Правила Пакмана !!!! 😛

    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.    головень - сказав він

        Що ти смакуєш, повернувшись додому ... хуй? ха-ха
        Ви розсмішили мене ...
        обійми

  2.   йойо - сказав він

    Я знав, що їх 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 - сказав він

      проклятий автомобіль spamero 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.   Анонімний - сказав він

    ідеально, зараз я це поставив. Дякую старий!