Làm cách nào để tạo mã biên dịch không làm cho hệ thống của tôi quỳ xuống?


0

Tôi có một chiếc MacBook với Snow Leopard và RAM 2 GB. Khi tôi biên dịch mã C hoặc C ++, hệ thống của tôi trở thành tất cả nhưng không sử dụng được. Ví dụ, khi tôi biên dịch LLVM, tôi nhận thấy rằng có khoảng 10 hoặc 11 tiến trình ( cc1plus) được khởi chạy tại thời điểm hút hết thời gian và bộ nhớ CPU của tôi. Có cách nào để có thể làm cho nó biên dịch ít hơn một lần không? Tôi sẽ vui lòng chờ thêm một thời gian nữa để hệ thống của tôi có thể sử dụng được trong khi tôi đang biên dịch.

Hay đây là thứ mà bạn phải sống khi biên dịch C hoặc C ++?


1
Nếu bạn đang trao đổi, nhiều RAM hơn sẽ giúp ... và 2 GB không phải là nhiều cho một hộp phát triển.
dmckee

1
2 GB nên có nhiều. Tôi nhớ khi 128 MB là một bó. 2 GB vẫn ổn trừ khi bạn chạy nửa tá ứng dụng Adobe trong khi cố gắng xem phim flash toàn màn hình.
Josh K

1
@Josh K: Tôi nhớ lại khi 64 kB là một cỗ máy khá tốt, nhưng điều đó không thay đổi gì cả. Trình biên dịch tối ưu hóa hiện đại sử dụng tiền my bộ nhớ để giữ đại diện nội bộ của mã để họ có thể vận dụng nó mọi cách mà (một số trong đó là sự lãng phí, nhưng không có nghĩa là tất cả của nó). 2 hợp đồng biểu diễn không có nhiều chỗ cho bất kỳ phần tổng hợp có kích thước tốt. Không phải khi bạn chạy một trình soạn thảo dịch vụ đầy đủ hoặc ide với hàng chục tệp đang mở, có trình duyệt web dịch vụ đầy đủ với hàng tá tab đang mở và bản dựng sẽ khởi chạy nhiều quy trình.
dmckee

@dmckee - Đây không phải là hộp phát triển. Đó là một máy tính cá nhân. Thỉnh thoảng, tôi cần cài đặt một số phần mềm từ các nguồn.
Jason Baker

@Jasn: Hơn đây chỉ là một vấn đề không thường xuyên, phải không? Vì vậy, sử dụng renice như profjimgợi ý khi bao giờ cảm giác của bạn bị sa lầy quá mức.
dmckee

Câu trả lời:


2

Sử dụng các công việc xây dựng song song ít hơn. Thông thường một cái gì đó giữa CPU-1 và 2 * CPU-1 là hoàn toàn đủ.

Việc kích hoạt tòa nhà song song (như với make -j) hoàn toàn không giới hạn sự song song mà bằng chính trình giải quyết phụ thuộc. Trong trường hợp thực hiện thêm một cái gì đó như make -j3xây dựng với 3 công việc xây dựng song song.

Ngoài ra, bạn có thể loại bỏ việc sử dụng tài nguyên bằng cách viết nice make -j3- trong trường hợp bạn sử dụng make. Bằng cách nào bạn sử dụng hệ thống xây dựng?


Thông thường, nó chỉ là các tệp tạo tệp ngẫu nhiên hoặc các công cụ tự động.
Jason Baker

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.