Cách tăng tốc quá trình biên dịch với Pacman

Xin chào, lần này tôi mang đến cho bạn một mẹo nhỏ (có thể nhiều người đã biết), nhưng một số người thường sử dụng các bản phân phối dựa trên Pacman họ có thể không biết, và tệ hơn: đang sử dụng một hạt nhân duy nhất để biên dịch.

Rất khuyến khích đọc "Cân nhắc khi biên dịch" trước khi biên dịch điên rồ và ngớ ngẩn

Hãy làm nó…

Biết số lượng bộ xử lý của chúng tôi

Trước tiên, chúng ta sẽ xem chúng ta có bao nhiêu bộ xử lý (hầu hết các chuyên gia đừng sợ, rõ ràng là có sự khác biệt giữa luồng và bộ xử lý vật lý, nhưng makepkg sử dụng luồng thực thi làm tham số), để chúng tôi thực thi:

lscpu | grep '^ CPU (các):'

Trong trường hợp của tôi, nó trả về:

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

Điều này là do trong trường hợp của bộ xử lý Intel với Siêu phân luồng nó cũng hiển thị các luồng thực thi.

Chỉnh sửa tệp /etc/makepkg.conf

Chúng tôi chỉnh sửa tệp /etc/makepkg.conf yêu cầu makepkg sử dụng tất cả các bộ xử lý có sẵn; Về mặt này, theo wiki Gentoo, số lượng "công việc" phải thực hiện đến từ tài khoản sau:

Số bộ xử lý + HT (HiperThreading trong trường hợp được Intel hỗ trợ) + 1

Chúng tôi chỉnh sửa:

sudo nano /etc/makepkg.conf

và chúng tôi sửa đổi dòng MAKEFLAGS (bỏ ghi chú ) với giá trị tương ứng, trong trường hợp của tôi nó sẽ trông như thế này:

MAKEFLAGS = "- j9"

Chúng tôi lưu các thay đổi và thì đấy, bây giờ chúng tôi có thể biên dịch các gói của mình bằng các lõi khác nhau trong bất kỳ bản phân phối nào của chúng tôi dựa trên Pacman

Tiếp theo, tôi đính kèm một video trong đó bạn có thể xem cách «simplescreenrecorder» được biên dịch trong từng trường hợp, với MAKEFLAGS (MAKEFLAGS = »- j9 ″), và không có MAKEFLAGS(#MAKEFLAGS = »- j9 ″):


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Yoyo dijo

    Bác này, như chúng tôi nói ở thị trấn của tôi «thằng ranh trong giấm» ý tôi là, rất tốt 😛

    Tôi có một lõi 4, tôi nhận được 4, tôi cho rằng tôi sẽ phải đặt một 5 phải không?

    Nhân tiện, hãy sửa lại makekpg.conf, nếu bạn không muốn sao chép / pastero phát điên lên thì đó là makepkg.conf

    Quy tắc Pacman !!!! 😛

    1.    x11tete11x dijo

      Mình chỉ thấy sai sót nhỏ xD, mình đã sai các bạn sửa lại rồi xD
      hiệu quả, trong trường hợp của bạn, nó sẽ là 5 xD.

      Tôi biết bạn sẽ thích bài viết này xD hahaha

      1.    Hướng dẫn sử dụng Nguồn dijo

        Đã sửa. 🙂

        1.    Hướng dẫn sử dụng Nguồn dijo

          Tác nhân người dùng của tôi phản bội tôi, bây giờ tôi đang ở trong Arch ...

          Tất cả để sử dụng cùng một cấu hình Firefox trên cả hai bản phân phối. 😛

      2.    người đi đường dijo

        Tôi nhân cơ hội này để nhận xét rằng nếu bạn sử dụng BFS (nếu bạn không biết nó là gì thì bạn không sử dụng nó), hiệu suất tối đa đạt được với số lõi như hiện tại mà không cần thêm bất cứ thứ gì.

      3.    Tắt dijo

        Và nếu anh ta ném cho tôi rằng tôi có "2", tôi đặt 3 phải không?

      4.    x11tete11x dijo

        Chính xác @ShutdowN

      5.    Azureus dijo

        Tôi yêu bạn, tôi đã làm điều đó khi bạn có bài báo, bây giờ tôi đang sử dụng nó vì tôi không biết cách biên dịch hahaha.
        Thật tuyệt vì conky nói với tôi rằng tất cả 4 luồng trên i3 của tôi là 100% và khi tôi chỉnh sửa nó, tôi nghĩ rằng tôi chỉ có một luồng được cấu hình. Tôi thích điều này, tôi đang biên dịch kernel của riêng mình, hãy xem nó hoạt động như thế nào: v

    2.    thalskart dijo

      Tôi đồng ý với Yoyo, mặc dù ở thị trấn của tôi, nó không được nói, nó là «con ranh trong giấm» !! Ngay sau khi tôi về nhà, tôi thử nó.

      1.    chub dijo

        Bạn có vị gì khi về đến nhà ... con ranh? haha
        Bạn làm tôi buồn cười quá …
        ôm

  2.   Yoyo dijo

    Tôi biết có 5 vì tôi đã nói trong bài đăng này về cách biên dịch Kernel cho Debian bằng tay hahaha

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

    1.    x11tete11x dijo

      xe spamero xD chết tiệt hahaha

      1.    Hướng dẫn sử dụng Nguồn dijo

        Đừng lo, tôi đã có anh ấy trong tầm ngắm của banhammer rồi, muahahahaha.

      2.    nano dijo

        "Banhammer của tôi", đừng bắt tôi phải đấm bạn đến phát ngất nhé <3

        1.    Hướng dẫn sử dụng Nguồn dijo

          Ra khỏi đây, đầu củ cải, tiếp tục làm việc nếu không tôi sẽ lấy cây gậy.

      3.    sống động dijo

        Hahaha .. ôi trời, tôi yêu Cộng đồng này.

  3.   người đi đường dijo

    Ccache cũng rất hữu ích, nhưng điều đó yêu cầu một quá trình biên dịch trước đó để tăng tốc quá trình biên dịch.

    1.    thalskart dijo

      Tôi không hiểu, bạn có biên dịch để tăng tốc độ biên dịch?

      1.    người đi đường dijo

        ccache là một công cụ (được người dùng gentoo sử dụng rộng rãi) cho phép lưu các tệp trung gian từ quá trình biên dịch tệp lưu trữ, dẫn đến việc biên dịch tệp thực thi tiếp theo nhanh hơn nhiều. Cũng hữu ích cho các nhà phát triển ứng dụng và cho những người liên tục xây dựng và cập nhật hạt nhân của riêng họ.

      2.    yukiteru dijo

        ccache là một bộ đệm biên dịch, khi bạn kích hoạt nó, lần biên dịch đầu tiên bạn thực hiện sẽ kéo dài bao lâu (nếu đó là Java, Firefox và LibreOffice cùng nhau, bạn đảm bảo một vài giờ biên dịch nếu phần cứng của bạn không quá mạnh), nhưng thứ hai quá trình biên dịch của cùng một phần mềm (cùng một phiên bản, với một số thay đổi trong các tùy chọn biên dịch hoặc bản vá của nó) sẽ nhanh hơn nhiều vì ccache xác minh rằng nhiều nội dung được biên dịch đã sẵn sàng và nó giảm thời gian biên dịch. Tuy nhiên, đôi khi nó gây ra sự cố (không phải do điều gì đó trong Gentoo Wiki mà họ đưa cảnh báo) và trong danh sách FirefoxOS, họ cũng làm vậy, vì vậy nếu bạn định lưu vào bộ nhớ cache với cùng một phiên bản, nếu bạn chuyển sang phiên bản khác, xóa bộ nhớ cache và bắt đầu lại.

      3.    thalskart dijo

        Cảm ơn cả hai vì thông tin, tôi không biết

  4.   Eduardo dijo

    Tôi đã ở Arch được một năm rưỡi và tôi chưa bao giờ nghe nói về mẹo này, cảm ơn bạn.

  5.   hjoaco dijo

    nghèo nàn!
    hahahahahahaha

  6.   người dùng dijo

    Cảm ơn bạn. dữ liệu này rất tốt

  7.   hình vuông luis dijo

    Tôi có một câu hỏi…

    Tôi đã sử dụng tùy chọn này được một thời gian (con số mà anh ấy đã ném cho tôi là 4 nên nó vẫn là #MAKEFLAGS = »- j5 ″)

    nhưng tôi nhận thấy rằng khi tôi cập nhật một số chương trình, CPU chuyển sang 100% và rất khó để sử dụng các chương trình khác trong khi điều này xảy ra ...

    Tôi có thể làm gì đó ở giữa không ?? ví dụ: đặt #MAKEFLAGS = »- j3 ″ ???? hoặc là một cái gì đó đang bật hoặc tắt mà không có điểm trung gian?

    lời chào.

    1.    x11tete11x dijo

      Luis, vâng, bạn có thể đặt -j3 mà không có vấn đề gì, tham số này thực hiện là xác định có bao nhiêu «luồng» (để không đi vào chi tiết, giả sử rằng các luồng nằm trong bao nhiêu «phần song song» mà bạn sẽ xử lý. bạn sẽ làm) sẽ được sử dụng cho quá trình này

  8.   Vô danh dijo

    hoàn hảo, bây giờ tôi đặt nó. Cảm ơn cũ!