Những thành phần PC nào có ảnh hưởng lớn nhất đến thời gian biên dịch của bạn cho Visual Studio?


16

Những thông số kỹ thuật PC nào có ảnh hưởng lớn nhất đến thời gian biên dịch của bạn? Đĩa? Tốc độ đồng hồ? Số lượng lõi CPU?


1
Đây không phải là một câu hỏi lập trình? Nó sẽ có một lượng khán giả lớn hơn trên StackOverflow?
Kurt W. Leucht

Câu trả lời:



13

Yếu tố mà tôi tìm thấy tạo ra sự khác biệt lớn nhất không phải là yếu tố vật lý, mà là yếu tố phần mềm: Bạn đã cài đặt phần mềm chống vi-rút nào?

Một số sản phẩm chống vi-rút không xử lý tốt việc phát triển phần mềm - chúng thấy tất cả các tệp ứng dụng này được viết lại, nghi ngờ chơi xấu và quét lại mọi tệp mỗi lần.

(Xem /programming/1170078/is-it-THER-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 để biết thêm.)

Mặt khác, nếu bạn muốn cải thiện hiệu suất của một máy hiện có, không có gì vượt qua tối đa bộ nhớ khả dụng để giành chiến thắng nhanh chóng.


PC trong văn phòng đang sử dụng TrendMicro OfficeScan. Máy tính xách tay dev của tôi ở nhà đang sử dụng AVG 8.
Rob Allen

3
"Xu hướng micro". Trời ơi. Nếu bạn không thể thay đổi điều đó vì điều gì khác, hãy tạm biệt bất kỳ màn trình diễn nào.
Bevan

8

Đây là một số nghiên cứu hay của Scott Hanselman về việc sử dụng nhiều CPU cho MSBUild. Việc tăng tốc là khá ấn tượng.

Chỉnh sửa: Tuy nhiên, tôi cần lưu ý rằng để có trải nghiệm tốt khi sử dụng Visual Studio, bạn cần nhiều RAM. :)


+1 Bài viết hay về chủ đề này. Tôi quên mất điều đó. Tôi nghĩ anh ấy cũng đã làm một podcast về việc này.
BinaryMisfit

4

Trải nghiệm cá nhân của tôi với cơ sở mã C ++ có kích thước hợp lý:

Máy cũ

Bộ xử lý: Pentium 4 HT 3.06 GHz
Bộ nhớ: RAM 1 GB DDR (PC 2100, vì vậy 333 MHz)
Đĩa: ổ cứng 7200 RPM (UDMA 100, nếu phục vụ bộ nhớ)
Thời gian biên dịch: 50 phút

Máy mới:

Bộ xử lý: Core i7 720QM (8 bộ xử lý logic) ở tốc độ 1.6 GHz, tăng tốc lên 1.73 GHz khi tất cả các lõi đang hoạt động
Bộ nhớ: RAM 8 GB DDR3 ở 1066 MHz
Đĩa: Ổ cứng 7200 RPM (SATA 2)
Thời gian biên dịch: 4 phút (với / MP )


Kết luận: Càng nhiều bộ xử lý, merrier - ngay cả ở tốc độ xung nhịp tương đối thấp. Một ổ SSD sẽ cải thiện nhiều lần hơn nữa, nhưng từ việc quan sát các thông báo biên dịch, tôi nghi ngờ nó sẽ cải thiện nó hơn 30 giây hoặc lâu hơn.


3

Theo tôi nhớ chủ yếu là Bộ xử lý và Bộ nhớ. Một google nhanh chóng đã tiết lộ các tinh chỉnh khác nhau có thể cải thiện thời gian biên dịch.

Joel gần đây đã đăng về tác dụng của Solid State Disks đối với các biên dịch ở đây . Tốc độ đĩa thường không cải thiện đáng kể thời gian biên dịch. Tuy nhiên, theo điều này, nó có tác dụng như được chỉ ra bởi lyngbym .


1

Để xây dựng các chương trình C ++, yếu tố số 1 trước tất cả các yếu tố khác là cấu trúc - nếu mã nguồn được cấu trúc theo chiều dọc, nó sẽ có tác động tàn phá đến thời gian xây dựng, đặc biệt là các bản dựng tăng dần. Tôi đã tái cấu trúc cục bộ một vài phần của dự án để cải thiện đáng kể trên Xeon lõi tứ. 18 tháng sau và họ (những người sở hữu dự án) vẫn không thể phù hợp với thời gian xây dựng đồng hồ treo tường của tôi ngay cả trên các máy Core i7.

Hiệu ứng (tích cực hoặc tiêu cực) của bố cục phần mềm của bạn nhân lên trên mỗi thành viên trong nhóm của bạn và mọi công trình họ thực hiện.


Bạn có một liên kết mô tả các cấu trúc mã khác nhau xin vui lòng. Tôi nghĩ tôi biết những gì bạn đang đề cập đến nhưng tôi không chắc chắn.
Rob Allen

Tôi gặp khó khăn khi tìm tài liệu tham khảo của mình, nhưng ý tưởng chung là 1) sử dụng khai báo chuyển tiếp nếu có thể, 2) chỉ bao gồm các tệp khi khai báo chuyển tiếp không hoạt động và 3) đảm bảo tệp bạn bao gồm không khai báo thêm những thứ cần thiết, đến lượt nó có thể làm cho nó bao gồm nhiều tệp hơn mà bạn không cần cho tệp nguồn cụ thể được biên dịch (còn gọi là tiêu đề của bạn nhỏ và sử dụng khai báo chuyển tiếp trong chúng giống như bạn làm cho các tệp nguồn).
Sam Harwell

1

Xoreax IncrediBuild là một hệ thống xây dựng phân tán đã tạo ra một sự cải tiến lớn về thời gian biên dịch nơi tôi làm việc. (Thật không may, thời gian liên kết vẫn còn khá dài, đặc biệt là các bản phát hành sử dụng tối ưu hóa toàn bộ chương trình và tạo mã thời gian liên kết, nhưng đó là điều được mong đợi.)

văn bản thay thế

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.