Ổ cứng SSD và Visual Studio IDE. Cải tiến lớn? Câu chuyện sử dụng thực tế, không có lý thuyết


92

Tôi muốn sử dụng ổ SSD Windows 7 + Intel để tăng tốc chu kỳ phát triển Visual Studio 2008 của mình.

Các lĩnh vực tôi muốn tăng tốc là:

  • Biên dịch / xây dựng thời gian
  • Mở tệp cho winforms / webforms
  • Visual Studio chung "chậm chạp" cho Windows và web

Tôi không quan tâm đến thời gian khởi động của Visual Studio. Ngoài ra, giá mỗi GB không phải là một vấn đề. Tôi muốn tốc độ.

Có ai đã thử cái này ( ổ SSD + Visual Studio ) chưa và bạn có thể cho biết gì về tốc độ tăng / giảm?

Tôi biết lý thuyết về ổ SSD nhưng thông thường bằng chứng của bánh pudding là ở việc ăn uống. Vì vậy, tôi quan tâm đến những người thực sự đã thử và kiểm tra thiết lập Visual Studio với SSD ...


Có lẽ đáng để hỏi điều này trên serverfault.com. Xem blog.stackoverflow.com/2009/04/server-fault-private-beta-begins để biết thêm chi tiết.
Matthew Murdoch

2
Tôi nghĩ rằng điều này là nhiều hơn về lập trình nhưng tôi chắc chắn đã xem xét nó. Tuy nhiên, tôi không muốn điểm chuẩn mà là Trải nghiệm VS2008 thực sự
Julian de Wit

Đủ công bằng. Tôi đã đề nghị bạn hỏi nó ở đó (mặc dù điều đó có thể châm ngòi cho một cuộc chiến tranh ...!).
Matthew Murdoch

Chà, thật thú vị khi tìm thấy một câu hỏi cũ hơn Server Fault đang ở giai đoạn thử nghiệm. Tôi đang tìm kiếm một số lợi ích cho 2016 (VS là 80 freakin' biểu diễn một mình và tương lai của tôi 128GB SSD có thể không phù hợp với cả Windows và VS ...)
Paul Stelian

Câu trả lời:


80

Tôi có dữ liệu cứng cho Visual C # 2008. Phiên bản ngắn nhất là bạn nên chi tiền của mình cho một CPU nhanh hơn I / O nhanh hơn . Câu trả lời dài hơn sau ...

Giải pháp C # (.NET 3.5) của chúng tôi chứa 81 dự án với hơn 2 triệu dòng mã (bao gồm cả nhận xét và dòng trống). Một vài năm trước, chúng tôi đã nâng cấp từ PC Pentium 4 3 GHz với ổ cứng tiêu chuẩn lên PC Core 2 Duo 2,6 GHz với ổ cứng HDD Raptor WD 10.000 RPM (74 GB). Tốc độ tăng là rất lớn. Khoảng 10 phút giảm xuống 3,5 phút. Tất cả điều này trong môi trường Windows XP Pro 32-bit với 4 GB RAM.

Chúng tôi cũng có một Gigabyte i-RAM (hãy google nó để biết thông tin), về cơ bản là một đĩa cứng RAM có pin dự phòng. Không giống như SSD có tốc độ đọc nhanh nhưng ghi chậm hơn, i-RAM có tốc độ nhanh cho cả hai, nhưng nếu bạn bị mất điện thì pin chỉ tồn tại được khoảng 12 giờ nên bạn phải có kỷ luật khi đăng ký. Điều này đã cắt giảm thêm một phút thời gian biên dịch trên nền tảng Core 2 Dou (giảm xuống còn 2,5 phút) so với ổ cứng HDD Raptor 10.000 RPM.

Kể từ đó, tôi đã phát hiện ra rằng các ổ Raptor 74 GB 10.000 RPM cũ đó hơi chậm hơn so với ổ hiện đại 7.200 RPM trong vườn của bạn và chúng tôi đã chứng minh rằng các biên dịch luôn đánh giá điểm chuẩn. Chúng tôi chưa thử Velociraptors mới, nhưng chúng chắc chắn sẽ nhanh hơn nhưng có lẽ không đủ đáng để biên dịch một mình.

Tuần trước, chúng tôi đã nhận được nền tảng Intel Core i7-870 mới với SSD G.Skill Falcon 128 GB (với bộ điều khiển Indilix Barefoot) và ổ cứng thứ hai là ổ cứng thứ hai 500 GB tiêu chuẩn. Tôi cũng lắp i-RAM vào PC này và thử nghiệm tất cả các cấu hình.

So với Core 2 Duo, được biên dịch trong 3,5 phút cho HDD và 2,5 phút cho i-RAM, i7-870 biên dịch trong 1 phút 40 giây đối với SSD, HDD và i-RAM mất 3 giây.

Vì vậy, cả hai lần chúng tôi đều nâng cấp máy trạm của nhà phát triển, phần lớn sự cải thiện hiệu suất trong thời gian biên dịch C # đến từ CPU nhanh hơn thay vì đĩa nhanh hơn. Nếu bạn muốn tăng tốc thời gian biên dịch, hãy bỏ tiền của bạn vào CPU thay vì đĩa.

Điều đó nói rằng, SSD nhanh hơn nhiều để tải Visual Studio và mở một giải pháp (mặc dù tôi chưa có thời gian cho việc đó). Nếu bạn có đủ khả năng mua một ổ SSD, bạn sẽ không bao giờ quay lại vì mọi chương trình trên PC của bạn tải nhanh hơn rất nhiều, điều đó thật khó tin. Nhưng nó sẽ không tăng tốc đáng kể các biên dịch của bạn. Và đó là với Visual Studio C # là một luồng. Nếu Microsoft từng hợp tác với nhau và tạo trình biên dịch của họ trong IDE đa luồng thì chúng tôi thực sự có thể sử dụng bốn lõi đó ...


Cập nhật tháng 5 năm 2012: Chúng tôi hiện đã nâng cấp lại PC của mình và dựa trên những gì chúng tôi đã học được trước khi tập trung vào hiệu suất CPU. Các PC mới có CPU Intel Core i7-2600k được ép xung lên 4,6 GHz, với SSD Intel 510 Series 120 GB SATA III, RAM 16 GB và bộ làm mát CPU lớn! Đáng ngạc nhiên là điều này đã giảm gần một nửa thời gian biên dịch và tôi chắc chắn đặt điều này xuống do sự gia tăng rất lớn về mã lực của CPU hơn là SSD nhanh hơn.

Biên dịch C # trong Visual Studio 2010 kết quả hiệu suất là:

  • 159 giây: Intel Core i7-870 stock (2,9 - 3,3 GHz), RAM 4 GB với SSD SATA II
  • 109 giây: Bộ nhớ Intel Core i7-2600k (3,4 - 3,8 GHz) RAM 16 GB với SSD SATA III
  • 84 giây: Intel Core i7-2600k được ép xung (4,63 GHz) RAM 16 GB với SSD SATA III

1
Cảm ơn .. Thật tệ là tôi đã đặt mua một chiếc máy tính SDD quái vật :) Tôi cũng sẽ đăng kết quả của mình ở đây nhưng tôi sợ rằng chúng sẽ có cùng kết quả.
Julian de Wit

Nhân tiện, bạn đã làm ASP.NET hoặc Winforms?
Julian de Wit

9
Ok - Tôi phải sửa lại nhiều điều: Thứ nhất - bạn không đề cập đến ổ SSD bạn đang sử dụng. Ổ cứng SSD kết nối trực tiếp với giao diện SATA2, iRAM đó là SATA1 (130MB / s). Bên cạnh đó, iRAM có một bộ điều khiển hạn chế, điều này đánh bại điểm. Nếu bạn có 2 trong RAID 0, bạn sẽ có tốc độ lên đến 200MB / s. Tôi đồng ý rằng SSD sẽ không cải thiện thời gian biên dịch của bạn, nhưng tôi đã thấy phòng thu hình ảnh mở ra của SSD trong khoảng một giây. Cuối cùng, tôi không nghĩ iRAM đủ tiêu chuẩn là một ổ SSD điển hình. Kết quả của bạn là sai lệch và sự thật là sai.
JL.

13
Bạn cần đọc và có thể suy nghĩ trước khi nhập. Đầu tiên, tôi đã đề cập đến SSD mà tôi đang sử dụng, thực tế là nó đang ở dạng BOLD . Tôi biết rằng iRAM có giao diện SATA1 và do đó tốc độ đọc chậm hơn so với gần như tất cả các ổ SSD mới - Tôi đã đưa nó vào vì tôi đã có một lần để kiểm tra và vì nó thực sự nhanh như đọc, điều mà hầu hết các SSD không có. Tôi đã không kiểm tra với 2 trong RAID vì tôi chỉ có 1! Tôi cũng đã đề cập trong đoạn cuối rằng SSD tải VS. nhanh hơn nhiều. Vì vậy, tất cả các sự kiện đều đúng và kết quả bạn đồng ý, nhưng bạn nói rằng chúng sai lệch? Thú vị ...
Ben Robbins

1
@BenRobbins Bạn có đánh giá dự án C # của mình bên ngoài VisualStudio, với cờ / MP không?
John Zabroski

27

Tôi vừa mua một chiếc và điều hối tiếc duy nhất mà tôi có là không mua SSD sớm hơn.

Thời gian biên dịch đã ổn trước đây, nhưng bây giờ toàn bộ IDE đã phản hồi nhanh hơn nhiều. Và nó không chỉ Visual Studio, mà còn các ứng dụng khác. Nó chỉ dễ dàng hơn nhiều để duy trì dòng chảy khi toàn bộ hệ thống hoạt động nhanh chóng.


4
Sau một số tháng .. Tôi cũng có cảm giác như vậy .. Toàn bộ trải nghiệm máy tính tốt hơn.
Julian de Wit

11

Để thử nghiệm, chúng tôi vừa đặt mua một ổ SSD 90 GB dựa trên Sandforce để xem liệu nó có thể giúp ích cho thời gian xây dựng của chúng tôi hay không. Chúng tôi có một dự án C ++ lớn, cần 21 phút để xây dựng lại hoàn toàn (hộp Xeon 3,4 GHz cũ hơn.)

Chạy ba bài kiểm tra trên mỗi lần, sự khác biệt về thời gian trong các bản dựng là không đáng kể; theo thứ tự nhanh hơn 30 giây.

Hộp Xeon 5150 mới hơn (!) Của chúng tôi (với đĩa cứng) sẽ xây dựng lại cùng một dự án trong ~ 11 phút, điều này cho thấy rằng việc biên dịch thực sự bị ràng buộc bởi CPU.

(Điều này làm tôi ngạc nhiên vì tôi nhận thấy hiệu suất đọc / ghi 4k và 512k tuyệt vời của ổ SSD sẽ rất có lợi trong các bản dựng.)


11

Sau các bài kiểm tra hiệu suất dài, tôi đã có thiết lập tốt nhất ở đây, nhưng đối với trình biên dịch C ++. Bạn sẽ cần:

  • SSD cho Windows và Tệp chương trình (thường là ổ C:)
  • 1 TB WD Caviar Black trong hai phân vùng:
    • Ổ D: Một ổ nhỏ (tối đa 35 GB) ở đầu trụ chỉ có một thư mục TEMP; Bạn nên ánh xạ các biến môi trường TMP và TEMP của mình thành D: \ TEMP (cái này thực sự quan trọng !!!)
    • Ổ E: với phần còn lại của ổ lưu trữ; sử dụng điều này để lưu trữ dữ liệu chung, ngoại trừ công cụ phát triển phần mềm
  • 1 TB WD Caviar Black trong bất kỳ bố cục phân vùng nào bạn muốn lưu trữ các dự án / giải pháp Visual Studio 2008 của mình. Dựa trên việc sử dụng Subversion, tôi đã kết thúc với bốn phân vùng:
    • 820 GB cho các dự án trung kế và mục đích chung
    • 60 GB cho một "chi nhánh tính năng"
    • 60 GB cho "nhánh ổn định" được sử dụng trong quá trình ổn định sản phẩm
    • 60 GB cho "nhánh chất lượng sản phẩm" được sử dụng cho các bản sửa lỗi nhỏ trên phần mềm đã được phê duyệt
  • Bộ xử lý 6 lõi hoặc 8 lõi, sử dụng bộ chuyển đổi trình biên dịch / MP, (đừng nhầm lẫn với tính năng "xây dựng dự án song song" của Visual Studio 2008 - Tôi không biết tại sao bộ xử lý AMD Phenon II lại hoạt động rất tốt với sự kết hợp này)
  • Windows 7 64 bit (Tôi không chắc chắn lý do tại sao nó chạy nhanh hơn trong hệ điều hành 64 bit, thậm chí sử dụng trình biên dịch 32 bit)
  • Bo mạch chủ tương thích SATA 3

Thiết lập này tốt hơn bất kỳ kết hợp nào khác mà tôi đã thử nghiệm.

Một tổng hợp điển hình của một dự án mô-đun lớn sẽ có các kết quả sau:

  • Xây dựng song song không có / MP và ổ cứng thông thường: khoảng 12:00 phút
  • Thiết lập được đề xuất này: 4:30 phút
  • Thiết lập này, nhưng sử dụng xen kẽ với ổ WD Caviar Green: +1: 00 mỗi ổ (5:30 hoặc 6:30 cho cả hai)
  • Di chuyển phân vùng TEMP sang RAMDRIVE: 5:30

Kết luận của tôi như sau:

  • Đừng để thư mục TEMP chạy trong SSD, vì chúng là "tác giả" tồi và không có bộ nhớ đệm 64 MB tương đương bên trong WD Caviar Black
  • Sử dụng một ổ đĩa chuyên dụng hoạt động dưới dạng TEMP cho phép cả hai ổ đĩa WD hoạt động song song: TEMP cho tệp tạm thời cl.exe và ổ đĩa dự án để lưu trữ * .cpp / h, * .obj, * .lib, * .exe, v.v.
  • Các thuật toán bộ nhớ đệm WD Caviar Black rất ấn tượng, kết hợp với SATA 6 GB / giây, vượt trội hơn so với thiết lập RAMDRIVE mà tôi đã thử nghiệm cho ổ TEMP
  • Phân vùng làm giảm tác động đến sự phân mảnh là điều không thể tránh khỏi trong môi trường trình biên dịch; điều này cũng hợp lệ cho ổ đĩa TEMP

Tôi hy vọng tôi có thể giúp bạn.


1
Quên nói rằng chế độ SATA phải ở chế độ AHCI.
Mathias A. Gruber

1
Tuy nhiên, tôi không chắc chắn về phần thư mục TEMP. Tại sao bạn nói SSD là "người viết xấu"? Về kích thước bộ nhớ cache tích hợp của chúng, nó thường lớn hơn 64MB (Vertex 4 đi kèm với bộ nhớ cache DRAM 512MB, tối đa 1GB cho các ổ đĩa lớn hơn). Và trải nghiệm RAMDRIVE tồi tệ của bạn thực sự rất lạ. Nó lớn như thế nào? Tệp hoán đổi của bạn nằm ở đâu? Bạn có chắc là nó không bị đổi sang đĩa không? RAM DDR2 trung bình có băng thông gấp 10 lần SATA 6GB, chưa kể bản thân Windows cũng thực hiện bộ nhớ đệm RAM để ghi đĩa. Và đó thậm chí không phải là RAID mà bạn đang nói đến.
Groo

5

Tôi vừa nâng cấp máy tính xách tay lên SSD bằng cách sao chép ổ cứng 5400 RPM ban đầu (đáng ngạc nhiên là một quá trình không đau). Tôi đã sử dụng đồng hồ bấm giờ để nắm bắt các chỉ số trước và sau. (Dell Inspiron 1525, 3 GB RAM, Windows Vista 32-bit)

Khởi động / Khởi động Windows

63 giây -> 52 giây

Tải Giải pháp Visual Studio ASP.NET của tôi

Nói cách khác, thời gian từ khi nhấp vào tệp .sln đến khi Visual Studio được tải đầy đủ và bạn có thể bắt đầu viết mã. Tôi thực hiện điều này một lần trước khi đo vì lần đầu tiên luôn mất nhiều thời gian hơn những lần sau.

16 giây -> 8 giây.

Gỡ lỗi

F5 đến trang chủ được tải đầy đủ.

5 giây -> 3,5 giây


1
Bạn chỉ giảm được 21% thời gian khởi động bằng cách chuyển từ tốc độ 5400 vòng / phút sang SSD? Bạn sẽ thấy một lợi ích lớn hơn nhiều từ điều đó. Có thể bạn không có đủ RAM trong máy tính xách tay của mình?
Brian Kendig

@Bria Kendig Cảm ơn, tôi có thể thử điều đó. Tôi hiện có 3GB, vì vậy tôi có thể sử dụng tối đa 4GB.
James Lawruk

Tôi có một ổ SSD quan trọng và Win7 của tôi khởi động sau 15 giây kể từ khi tắt hoàn toàn.
cá ngừ 24

Bạn đã thay đổi ổ cứng HDD thành SSD trên máy tính xách tay Dell Inspiron như thế nào?
Karthik Nishanth

Tôi đã mua phần mềm sao chép và tua vít nhỏ từ Amazon. lawruk.com/blog/40/cloned-laptop-hard-drive-to-an-crucial-ssd
James Lawruk


4

Khi tôi mua một chiếc máy tính mới, tôi không chắc đâu là thứ giúp trải nghiệm của tôi nhanh hơn.

Tuy nhiên, một đồng nghiệp của tôi đã thay đổi ổ đĩa cứng 7200 RPM thành SSD. Ngay lập tức Visual Studio (đặc biệt là khởi động / gỡ lỗi ASP.NET) nhanh hơn ít nhất hai lần !


2

Tôi cũng đã xem xét điều này, và một thời gian trước, tôi đã mua một thẻ SD nhanh để tôi có thể gắn vào máy tính xách tay và quên nó đi, để Windows Vista có thể sử dụng thời trang cao cấp ReadyBoost . Điều đó có vẻ như nó tạo ra sự khác biệt, nhưng chắc chắn là không đủ để đảm bảo mua một ổ SSD chỉ vì điều đó.

Sau đó, tôi bắt đầu gặp sự cố khi thực hiện cập nhật Subversion và quyết định loại bỏ ý tưởng ReadyBoost và gắn ổ đĩa SD vào một điểm gắn kết nơi sau đó tôi tạo tất cả các tệp dự án của mình. Thẻ SD không lớn lắm (1 GB), nhưng chắc chắn nó đã làm giảm thời gian chờ đợi của tôi cho các bản dựng và làm cho việc gỡ lỗi nhanh hơn một chút.

Hầu hết điều này là chủ quan và tôi đang trả lời một câu hỏi cần sự thật, với "Tôi cảm thấy điều này" và "tôi cảm thấy điều đó". Vì thử nghiệm của tôi với việc chạy các tệp Visual Studio từ một ổ đĩa khác, tôi chắc chắn tin rằng nó sẽ tạo ra sự khác biệt, bao nhiêu và tôi sẵn sàng trả bao nhiêu cho đó là một câu hỏi tôi cũng đang rất muốn tìm câu trả lời. Máy tính xách tay của tôi có thể sử dụng một ổ đĩa cứng khác và tôi chưa thể quyết định giữa ổ SDD và ổ đĩa máy tính xách tay 7200 RPM.


1
Xin chào, Cảm ơn .. Tôi đã có kết quả tương tự với việc thu thập từ 7200 đến 10.000 vận tốc .. Bằng cách nào đó, nó có cảm giác nhanh hơn một chút nhưng không đột phá. Tôi đã hy vọng rằng SSD là một cuộc cách mạng ..
Julian de Wit

1
Tôi không nghĩ Velociraptors là ổ SSD, chỉ cần nói rõ.
Brett
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.