Trên dự án C++ gốc, việc liên kết ngay bây giờ có thể mất một hoặc hai phút. Tuy nhiên, trong thời gian này, CPU giảm từ 100% trong quá trình biên dịch xuống gần như bằng không. Điều này có nghĩa là liên kết chủ yếu là một hoạt động đĩa?Tại sao liên kết C++ sử dụng hầu như không có CPU?
Nếu vậy, đây có phải là khu vực chính mà SSD sẽ thực hiện những thay đổi lớn không? Nhưng, tại sao không phải tất cả các tệp OBJ của tôi (hoặc nhiều nhất có thể) được lưu trong RAM sau khi biên dịch để tránh điều này? Với 4 GB RAM Tôi có thể tiết kiệm rất nhiều quyền truy cập đĩa và làm cho CPU bị ràng buộc lại, phải không?
Cập nhật: nên rõ ràng theo dõi là, thể VC++ biên dịch và mối liên kết nói chuyện với nhau tốt hơn để sắp xếp mọi thứ và giữ các tập tin OBJ trong bộ nhớ, tương tự như cách Delphi đúng không?
Tôi _speculate_ nó còn lại để hệ điều hành để lưu trữ chúng trong RAM để tránh điều này, mà nó, nếu có đủ RAM để làm như vậy trên đầu biên dịch. Kể từ khi biên dịch mất rất nhiều RAM, điều đó có thể khiến hệ điều hành xóa các tệp OBJ ra đĩa. Nếu bạn buộc nó giữ các tệp OBJ trong bộ nhớ để làm cho liên kết nhanh hơn, do đó nó sẽ làm cho việc biên dịch vẫn chậm hơn nhiều. –