SSD 드라이브 및 Visual Studio IDE. 큰 개선? 실제 사용 사례, 이론 없음
Visual Studio 2008 개발주기를 가속화하기 위해 Windows 7 + Intel SSD 드라이브를 사용하고 싶습니다.
속도를 높이고 싶은 영역은 다음과 같습니다.
- 컴파일 / 빌드 시간
- winforms / webforms 용 파일 열기
- Windows 및 웹용 일반 Visual Studio "부진"
Visual Studio의 시작 시간에 관심이 없습니다. 또한 GB 당 비용은 문제가되지 않습니다. 나는 속도를 원한다.
누구든지 이미 이것을 시도한 적이 있습니까 ( SSD 드라이브 + Visual Studio ) 그리고 속도 향상 / 감소에 대해 무엇을 말할 수 있습니까?
SSD에 대한 이론을 알고 있지만 일반적으로 푸딩의 증거는 먹는 것입니다. 그래서 저는 SSD로 Visual Studio 설정을 실제로 시도하고 테스트 한 사람들에게 관심이 있습니다.
Visual C # 2008에 대한 하드 데이터가 있습니다. 짧은 버전은 빠른 I / O보다 빠른 CPU에 돈을 쓰는 것이 가장 좋습니다 . 더 긴 대답은 다음과 같습니다.
C # (. NET 3.5) 솔루션에는 2 백만 줄 이상의 코드 (주석 및 빈 줄 포함)가있는 81 개의 프로젝트가 포함되어 있습니다. 몇 년 전에 표준 HDD가 장착 된 Pentium 4 3GHz PC에서 10,000RPM WD Raptor HDD (74GB)가 장착 된 Core 2 Duo 2.6GHz PC로 업그레이드했습니다. 속도 향상은 엄청났습니다. 약 10 분에서 3.5 분까지. 이 모든 것이 4GB RAM이있는 Windows XP Pro 32 비트 환경에서 이루어집니다.
또한 기본적으로 배터리 백업 기능이있는 RAM 하드 디스크 인 기가 바이트 i-RAM (정보를 위해 Google에서 제공) 1 개를 얻었습니다. 읽기 속도는 빠르지 만 쓰기 속도는 느린 SSD와 달리 i-RAM은 둘 다 빠르지 만 전원이 꺼지면 배터리가 약 12 시간 동안 만 지속되므로 체크인을 잘해야합니다. 이로 인해 Core 2 Dou 플랫폼의 컴파일 시간이 10,000RPM Raptor HDD와 비교하여 2.5 분으로 단축되었습니다.
나는 그 오래된 74GB 10,000RPM Raptor 드라이브가 귀하의 정원용 7,200RPM 최신 드라이브보다 약간 느리다는 것을 발견했으며 일관된 벤치마킹 컴파일이 있음을 입증했습니다. 우리는 새로운 Velociraptors를 시도하지 않았지만 확실히 더 빠르지 만 컴파일 시간만으로는 가치가 없을 것입니다.
지난주에 G.Skill Falcon 128GB SSD (Indilix Barefoot 컨트롤러 포함)와 표준 500GB HDD를 두 번째 드라이브로 사용하는 새로운 Intel Core i7-870 플랫폼을 받았습니다. 또한 i-RAM을이 PC에 장착하고 모든 구성을 테스트했습니다.
HDD의 경우 3.5 분, i-RAM의 경우 2.5 분 만에 컴파일 된 Core 2 Duo에 비해 i7-870은 SSD, HDD 및 i-RAM의 경우 1 분 40 초 만에 컴파일됩니다.
따라서 두 번 모두 개발자 워크 스테이션을 업그레이드했지만 C # 컴파일 시간에서 성능 향상의 대부분은 더 빠른 디스크가 아닌 CPU 속도가 빠르기 때문입니다. 컴파일 시간을 단축하려면 디스크가 아닌 CPU에 돈을 투자하십시오.
즉, SSD는 Visual Studio를로드하고 솔루션을 여는 데 훨씬 더 빠릅니다 (그에 대한 타이밍은 없지만). SSD를 구입할 수 있다면 PC의 모든 프로그램이 훨씬 더 빠르게로드되므로 절대로 돌아갈 수 없습니다. 그러나 컴파일 속도가 크게 향상되지는 않습니다. 그리고 Visual Studio C #은 단일 스레드입니다. 마이크로 소프트가 함께 행동을 취하고 IDE에서 컴파일러를 멀티 스레드로 만들었다면 실제로이 4 개의 코어를 사용할 수 있습니다.
2012 년 5 월 업데이트 : 이제 CPU 성능에 집중하기 전에 배운 내용을 기반으로 PC를 다시 업그레이드했습니다. 새로운 PC에는 Intel 510 시리즈 120GB SATA III SSD, 16GB RAM 및 대형 CPU 쿨러와 함께 4.6GHz까지 오버 클럭 된 Intel Core i7-2600k CPU가 있습니다! 놀랍게도 이것은 컴파일 시간을 거의 절반으로 줄였고 , 나는 이것을 확실히 더 빠른 SSD보다는 CPU 마력의 매우 큰 증가로 내려 놓았습니다.
Visual Studio 2010 성능 결과의 C # 컴파일은 다음과 같습니다.
- 159 초 : Intel Core i7-870 기본 (2.9-3.3GHz), 4GB RAM (SATA II SSD 포함)
- 109 초 : Intel Core i7-2600k 스톡 (3.4-3.8GHz) 16GB RAM 및 SATA III SSD
- 84 초 : Intel Core i7-2600k 오버 클럭 (4.63GHz) 16GB RAM 및 SATA III SSD
나는 방금 하나를 샀고 내가 가진 유일한 후회는 더 일찍 SSD를 사지 않는 것입니다.
이전에는 컴파일 시간이 괜찮 았지만 이제 전체 IDE가 훨씬 더 반응이 빨라졌습니다. 그리고 그것은 Visual Studio뿐만 아니라 다른 응용 프로그램이기도합니다. 전체 시스템이 이렇게 빠르게 작동 할 때 흐름을 유지하는 것이 훨씬 쉽습니다.
테스트로 방금 90GB Sandforce 기반 SSD를 주문하여 빌드 시간에 도움이 될 수 있는지 확인했습니다. 완전한 재 빌드를 수행하는 데 21 분이 걸리는 대규모 C ++ 프로젝트가 있습니다 (구형 Xeon 3.4GHz 박스).
각각에 대해 세 가지 테스트를 실행했을 때 빌드의 시간 차이는 무시할 만했습니다. 30 초 정도 빨라졌습니다.
우리의 최신 (!) Xeon 5150 박스 (하드 디스크 포함)는 동일한 프로젝트를 ~ 11 분 만에 다시 빌드합니다. 이는 컴파일이 실제로 CPU에 바운드된다는 것을 보여줍니다.
(SSD의 놀라운 4k 및 512k 읽기 / 쓰기 성능이 빌드에 매우 유용 할 것이라고 생각했기 때문에 놀랐습니다.)
오랜 성능 테스트를 거친 후 여기에서 가장 좋은 설정을 얻었지만 C ++ 컴파일러를 사용했습니다. 필요할 것이예요:
- Windows 용 SSD 및 프로그램 파일 (일반적으로 C : 드라이브)
- 2 개의 파티션에 1TB WD Caviar Black :
- D 드라이브 : 시작 실린더에 TEMP 폴더 만있는 작은 크기 (최대 35GB) TMP 및 TEMP 환경 변수를 D : \ TEMP에 매핑해야합니다 (정말 중요합니다 !!!).
- 드라이브 E : 나머지 드라이브 스토리지 포함. 소프트웨어 개발을 제외한 일반 데이터 저장에 사용
- Visual Studio 2008 프로젝트 / 솔루션을 저장하려는 파티션 레이아웃의 1TB WD Caviar Black. Subversion 사용에 따라 4 개의 파티션으로 끝났습니다.
- 트렁크 및 범용 프로젝트 용 820GB
- "기능 브랜치"의 경우 60GB
- 제품 안정화 중에 사용되는 "안정적인 분기"에 60GB
- 60 GB for a "product quality branch" used for minor fixes on approved software
- 6-core or 8-core processor, using /MP compiler switch, (don't get confused with Visual Studio 2008 native "parallel project build" feature -- I don't know why the AMD Phenon II processor is working so good with this combination)
- Windows 7 64 bits (I'm not exactly sure why it runs faster in a 64-bit OS, even using a 32-bit compiler)
- SATA 3 compatible mainboard
This setup outperforms any other combination I've tested.
A typical compilation of a huge modular project will have the following results:
- Parallel build without /MP and regular HDDs: around 12:00 minutes
- This proposed setup: 4:30 minutes
- This setup, but using alternating to WD Caviar Green drives: +1:00 per drive (5:30 or 6:30 for both)
- Moving TEMP partition to a RAMDRIVE: 5:30
My conclusions are the following:
- Don't let TEMP folder run in SSD, since they are bad "writers" and don't have a comparable 64 MB cache inside WD Caviar Black
- Using a dedicated drive working as TEMP lets both WD drives work in parallel: the TEMP for cl.exe temp files and the project drive to store *.cpp/h, *.obj, *.lib, *.exe, etc.
- WD Caviar Black caching algorithms are impressive, combined with SATA 6 GB/s, outperforms a RAMDRIVE setup I've tested for the TEMP drive
- Partitioning reduces the impact on fragmentation which is inevitable in a compiler environment; the same is also valid for the TEMP drive
I hope I could help you.
I just upgraded a laptop to SSD by cloning the original 5400 RPM hard drive (surprisingly a painless process). I used a stopwatch to capture before and after metrics. (Dell Inspiron 1525, 3 GB of RAM, Windows Vista 32-bit)
Boot/Startup of Windows
63 seconds --> 52 seconds
Loading My ASP.NET Visual Studio Solution
In other words, the time from clicking on the .sln file to when Visual Studio is fully loaded and you can begin coding. I performed this once before taking measurements because the first time always takes longer than subsequent times.
16 seconds --> 8 seconds.
Debugging
F5 to the home page fully loaded.
5 seconds --> 3.5 seconds
See Joel Spolsky's article Solid State Disks (2009-03-27).
When I bought a new computer I was not sure what was the thing that made my experience faster.
However, a collegue of mine changed a 7200 RPM hard disk drive for an SSD. At once Visual Studio (especially starting/debugging ASP.NET) was at least two times as fast!
I have also been considering this, and a while back I bought a quick SD card, that I can stick in the laptop and forget about it, so that Windows Vista can use the ReadyBoost feauture. That feels like it makes a difference, but it is certainly not enough to warrant buying an SSD drive just for that.
I then started running into problems when doing Subversion updates, and decided to scrap the ReadyBoost idea, and mount the SD drive on a mount point where I then created all my project files. The SD card is not very big (1 GB), but it has certainly reduced my wait time for builds and makes debugging a fair bit faster.
Most of this is subjective and I am answering a question that wants facts, with 'I feel this' and 'I feel that'. Because of my experimentation with running Visual Studio files from a different drive, I certainly believe it will make a difference, how much, and how much I am willing to pay for that is a question I am also keenly looking for a answer. My notebook can take another hard disk drive, and I have not been able to make up my mind between an SDD and a 7200 RPM laptop drive.
'Programing' 카테고리의 다른 글
여러 테이블에서 기본 키를 참조하는 외래 키? (0) | 2020.09.03 |
---|---|
데이터베이스 내의 테이블 열에서 하나의 값을 검색합니다. (0) | 2020.09.03 |
reflect를 사용하여 struct 필드의 값을 어떻게 설정합니까? (0) | 2020.09.03 |
자체 템플릿으로 기본 제공 암호 재설정 / 변경보기를 사용하는 방법 (0) | 2020.09.03 |
C에서 문자열을 어떻게 소문자로 지정합니까? (0) | 2020.09.03 |