Tôi đã thử nghiệm các phương pháp khác nhau để cải thiện thời gian cần thiết để biên dịch toàn bộ dự án c ++ của tôi. Hiện tại phải mất ~ 5 phút. Tôi đã thử nghiệm với distcc, ccache và những người khác. Gần đây, tôi phát hiện ra rằng nếu tôi sao chép toàn bộ dự án của mình vào ổ đĩa RAM và sau đó biên dịch từ đó, nó sẽ giảm thời gian biên dịch xuống còn 30% so với ban đầu - chỉ 1,5 phút.
Rõ ràng, làm việc từ ổ đĩa RAM là không thực tế. Vì vậy, có ai biết một cách tôi có thể buộc HĐH luôn giữ một thư mục nhất định được lưu trữ không? Tôi vẫn muốn thư mục được đồng bộ hóa trở lại vào đĩa như bình thường, nhưng tôi luôn muốn có một bản sao của dữ liệu trong bộ nhớ. Điều này có thể không?
EDIT:
Là một giải pháp khả thi, chúng tôi chỉ nghĩ đến việc khởi chạy một daemon chạy rsync
cứ sau 10 giây hoặc lâu hơn để đồng bộ hóa ổ đĩa với ổ đĩa RAM. Sau đó, chúng tôi chạy biên dịch từ ổ đĩa RAM. Việc rsync
này rất nhanh, nhưng điều này có thực sự hiệu quả không? Chắc chắn HĐH có thể làm tốt hơn ....
time
biên soạn và chia sẻ kết quả với chúng tôi không? Nó sẽ xua tan một số tranh cãi nâng cao. make clean && /usr/bin/time -v make
(không sử dụng lệnh bash được xây dựng time
)
time
bash ( help time
) tích hợp có ít chi tiết hơn (không có tùy chọn dài dòng) so với thời gian GNU ( man time
) liên quan đến I / O, chuyển đổi ngữ cảnh, ...