SSD for programming?

Started by
23 comments, last by Ravyne 8 years, 2 months ago

Hello,

I've just bough an SSD (Samsung 850 EVO 500 GB), and the general idea was to put Windows and most applications (Visual Studio, etc...) on this disc.

However, what about my Visual Studio project(s)? Is it worth putting it on this disc as well for increased compilation speed? My main project has about 150k LoC split to ~2000 source files/headers, so I assume that file IO could also be a bottleneck for compilation, or is it mostly CPU capped (I have an i7 4790k and 16 GB RAM already)?

Also, in case I put my project on the SSD, how would it affect the longelivety of the drive? The binaries/symbols and object files produced by visual studio take about 2.5 GB for a full compile (1.5 GB obj files, 1 GB binaries), and I don't really know how much visual studio has to reproduce for each compilation. I'm a little worried since I sometimes spend 8+ hours coding, and if every compile is going to write somewhat around a gigabyte, I might use up the SSD very quickly... I think I remember samsung giving a quaranteed lifetime of the SSD for 3 years with 40 GB/day written, seems not like a lot if you look at what VS produces. Is this a valid concern for the drive I bought?

Thanks!

Advertisement

What I've done is purchased a 256GB SSD, installed all my main apps on it, but set my downloads, projects folder, steam game folder, etc to a 1TB spinny drive. Everything runs stupid fast. Having said that, windows writes tons of temp files all the time, and SSD drives are pretty smart about file placement on the physical media.

If you want to be extra paranoid, however, just have a massive spinny drive and run your projects from there.


If you want to be extra paranoid, however, just have a massive spinny drive and run your projects from there.

Yep, thats what I'm already doing. Bought a 3TB HDD as an extra drive (I have already >1TB data I need to migrate and don't want to spend 500 bucks on SSDs), and I was going to run the projects themselves from there. Just wanted to see if anyone got any practical experience with programming directly on the SSD and if it has a good payoff.

I use my SSD for programming. I really can't comment on how much faster etc anything is because I really can't remember but the way I see it is, why have an SSD if you aren't going to make the most of it? I'll copy one of my projects to my HDD in a min and see what the difference is.

I did a clean build of one of my projects (debug and release):

SSD: 2 mins 5 second

HDD: 2 mins 3 seconds

Really nothing in it. CPU didn't max out at all. Perhaps I need a bigger project to build but I don't have one.

Interested in Fractals? Check out my App, Fractal Scout, free on the Google Play store.

I would 'build' your PC to your overall needs (I also believe SSD vs HDD in this case doesn't make much difference)

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

I run all my projects off my Samsung M.2 SSD. I noticed a speed difference from moving from a 'slow' sata SSD. Its not huge, as windows does a good job of caching files, but it was a noticeable difference, where-as going from my old spinny HD to the sata SSD wasn't as much. As far as 'wearing out' the SSD. They don't wear appreciably faster than HDs, I back up constantly (which you must do regardless of what type of drive setup you run), and by the time it does wear out there will be new/faster/cheaper/larger/better in every way drives.

To be honest, the single best compilation improvement comes from enabling precompiled headers. If your compile times are slow, if you don't have precompiled headers enabled, then enable them first and only then evaluate if you need something else. Note that you may need to restructure a little for precompiled headers to have full effect. Further reading here (clicky), it dates to 2005 but is still relevant.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.


I did a clean build of one of my projects (debug and release):

SSD: 2 mins 5 second

HDD: 2 mins 3 seconds

Alright, thanks for testing this. Might make a quick test myself but I belive I'm about 3-4 mins build time too so I don't expect to see better results though.


why have an SSD if you aren't going to make the most of it?

I just don't want to use it up too fast. I mean if every build really did produce > 1 GB data than I would overshoot the 3-year rate given by samsung by like 100% with just compilation, and I really don't want it to be gone after like a year. I'm not too overly paranoid, I have an laptop with SSD for like a year where OS and basic applications are on the SSD, but again depending on what part of the build files are actually generated each time I consider this a bit excessive use case. I might have gotten the Evo Pro with 50% additional duration in this case, really.


I would 'build' your PC to your overall needs (I also believe SSD vs HDD in this case doesn't make much difference)

sure, thats what I'm doing anyways. Since I already have a high-end gaming PC (i7 4790k, 780Gtx Ti, ...), I've always felt limited by the HDD - specially since I have like 5 HDDs where some are 80 GB of size and 7 years old, expecting them to break down any minute. Seeing how much faster my laptop is in terms of startup, average reaction speed etc... I think an SSD is just exactly what I need.


I back up constantly (which you must do regardless of what type of drive setup you run), and by the time it does wear out there will be new/faster/cheaper/larger/better in every way drives.

God, I'm just way to lazy for backups... I mean I save my important projects in Git, but apart from that, I really cannot motivate me to constantly make backups, even though I once had to pay 800 bucks to restore a harddrive with my graduation thesis on it... quess sometimes people (=me) are just stupid :/

Though in case an SSD "wears out" in terms of write-per-cell capacity, will I even lose data or would it not just fail at writing anything?


To be honest, the single best compilation improvement comes from enabling precompiled headers. If your compile times are slow, if you don't have precompiled headers enabled, then enable them first and only then evaluate if you need something else. Note that you may need to restructure a little for precompiled headers to have full effect. Further reading here (clicky), it dates to 2005 but is still relevant.

I always wanted to enable precompiled headers but didn't do it for some reason I cannot remember and which is probably stupid. Now granted the only external libaries I run is STL and DirectX, the rest of my code is constantly worked on so I don't know how much of an advantage it really gives me, but I might give it a try anyways. Wasn't really asking this question about concerns about my compile time though, I mean sure it could always be faster but its far from a problem. Was just curious how SSDs fare when hosting actual programming projects.

I really cannot motivate me to constantly make backups, even though I once had to pay 800 bucks to restore a harddrive with my graduation thesis on it... quess sometimes people (=me) are just stupid :/

This is a false economy.

I pay $100 a year for unlimited cloud backups, and it's saved my ass several times (its faster to restore a corrupt ue4 map file or uasset from backup than faff with git, especially if you only just corrupted it and haven't even committed yet) and you really can't rely on manual copying and version control as a proper off site backup system.

Get a proper backup, make it your new years resolution before you get bitten in the ass. Consider it like home insurance, or car insurance, you're mitigating risk...

A real backup system doesn't need you to do anything. My laptop gets backed up every hour, local snapshots at any time, and then offloaded to long term first stage backup anytime I'm on my local home network, which is in turn automatically backed up to an offsite server. All versioned and such so I can go back and get various changes over time as well down to a given point.

The only thing you should need to do manually is double check that it is working every now and then.

Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

This topic is closed to new replies.

Advertisement