Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

workspaces taking a lot of disc space
Marqus
#1 Posted : Tuesday, March 6, 2012 10:18:07 AM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 2/22/2012(UTC)
Posts: 38
Location: Poland

Thanks: 2 times
Was thanked: 6 time(s) in 6 post(s)
I've moved my 'Workspace base path' to ramdisc (currently 512 MB) and NCrunch can 'eat' this space in under one minute of code editing:)

My tested assembly has many dependencies on my own components and 3rd party component which has dependecies to many C++ dll's. My assemblies are copied by ncrunch to <workspace>\_ncrunchreferences (48MB) and <workspace>\bin (is this duplication neccesary?). I'm using 'Additional files to include' to copy some of the 3rd party components to <workspace>\bin (about 40MB) and my tests works fine, but at this point <workspace> takes 136 MB.

Of course, I can switch back to HDD, or add more Ram to RamDisc, but maybe there is some other way to configure my solution and ncrunch to be less disc space hungry? Maybe I'm doing something wrong?
otac0n
#2 Posted : Tuesday, March 6, 2012 5:08:49 PM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 5/22/2011(UTC)
Posts: 51
Location: Seattle, WA

Was thanked: 7 time(s) in 7 post(s)
I had a 4GB ramdisk, and it kept getting filled up. I would have to disable/reenabe NCrunch (or restart the solution) to get it to clean up.
Remco
#3 Posted : Tuesday, March 6, 2012 9:01:53 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 5,758

Thanks: 745 times
Was thanked: 956 time(s) in 911 post(s)
NCrunch will create as many workspaces as it needs to meet the engine's requirements for parallel build/execution. This means that the number of workspaces you see during a session will be fairly well in proportion with the global performance settings, 'Max number of processing threads' and 'Process pool size'. If you set these values lower, you should see less workspaces appear as the engine will be doing less work concurrently and consuming less resources. However, this will probably not work too well with your performance tuning goals, as turning these options down too far will likely create bigger performance issues than would otherwise be solved by introducing the RAM drive.

The duplication of workspaces is necessary because at any point in time, NCrunch can be running uninterruptable tests against any version of your source code. Let's just say you have a big integration test that takes 20 minutes to run and relies on a number of resource files inside your codebase... if you were to change several of these resource files while the test is already executing, it's important that the executing test can continue to work consistently and without consideration to the new changes.

NCrunch 1.37b (and below) has a known issue around read-only files, where if they exist in your solution, NCrunch will often fail to properly clean up workspaces that contain them. This only applies to final clean up (i.e. when NCrunch is disabled or the IDE is closed), but it can cause the number of workspaces to grow over time. This is particularly an issue if you're using any kind of VCS software that flags files as read-only during its normal operation.
Remco
#4 Posted : Wednesday, March 7, 2012 12:21:18 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 5,758

Thanks: 745 times
Was thanked: 956 time(s) in 911 post(s)
For anyone interested, the issue with cleaning up workspaces containing read-only files has been fixed in the NCrunch version just released (1.38b).
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.032 seconds.