CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Extremely slow compilation on network drive

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
legion



Joined: 10 Oct 2007
Posts: 23

View user's profile Send private message

Extremely slow compilation on network drive
PostPosted: Wed Oct 26, 2011 7:57 am     Reply with quote

Working with files on a network drive (ReadyNAS Duo, Raid configured) the compiler takes several minutes compared to a couple of seconds to compile typical sources. I don't think such a huge difference is down to the access time over the network as the files involved are all just a few kB and I don't normally notice any difference loading much larger files off the NAS or my local HD.

I have the NAS mapped on WinXP as drive Z: so all the paths look sensible e.g.

Z:\\Work\PIC\Project1\main.c

Does anyone know the reason/fix for this issue? Obviously I can work off my local drive but the Network server gives me security and access options not available on my PC.
temtronic



Joined: 01 Jul 2010
Posts: 9225
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 8:11 am     Reply with quote

just thinking out loud..

Could there be a lot of other 'action(traffic)' on the server that you're not aware of ?
Any chance some 'buffers' aren't large enough to transfer the data in one chunk?

Does this happen 'randomly' or at predefined time windows? Server could be doing something(updates,defrag,etc.) in the background, chewing up machine cycles.

Can't see any 'security or access options' that are better on a server compared to a local PC. I do all my work on the 'local drive',then upload the modified files to the server's HD for backup.
Ttelmah



Joined: 11 Mar 2010
Posts: 19505

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 8:22 am     Reply with quote

I must say, I have not seen this as a problem. Compiling on a virtual PC, running inside a Mac, using a network drive for the files.
Is this with the Windows IDE, or using command line compilation?. What is the 'path' statement set for on the PC?. Some of the stuff (config files etc.), is looked for in the PATH, before the compiler looks in the defined locations in the project. I'd suspect some sort of issue with this setting resulting in a timeout, followed by finding the real files.....

Best Wishes
legion



Joined: 10 Oct 2007
Posts: 23

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 8:27 am     Reply with quote

temtronic wrote:
just thinking out loud..

Could there be a lot of other 'action(traffic)' on the server that you're not aware of ?
Any chance some 'buffers' aren't large enough to transfer the data in one chunk?

Does this happen 'randomly' or at predefined time windows? Server could be doing something(updates,defrag,etc.) in the background, chewing up machine cycles.

Can't see any 'security or access options' that are better on a server compared to a local PC. I do all my work on the 'local drive',then upload the modified files to the server's HD for backup.


Hi, temtronic. Unfortunately it's *always* like it. Most of the time I'm the only one in the house using the Network anyway. This has been an ongoing issue for me for some years so I've been working round it as you suggest - using a local HD and backing-up regularly. However, I recently started using Dropbox so I could work collaboratively on a particular project and the Dropbox folder is on the NAS too. This is where I want my files!
legion



Joined: 10 Oct 2007
Posts: 23

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 8:37 am     Reply with quote

Ttelmah, your setup sure makes mine seem trivial, so it ought to be resolvable!

My Path variable has "C:\PROGRA~1\PICC" in it, was that what you were expecting? I've used the Complier from the command line, from within MPLAB and ICEPIC and get the exact same result every time. (PCM 4.122)
RF_Developer



Joined: 07 Feb 2011
Posts: 839

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 9:28 am     Reply with quote

I've got this problem too. I've found it takes about 1minute or more to compile code that takes 10secs tops on a local drive. I've found that the slow down is at it worst when the compiler is writing the symbol tree (.tre) and the listing (.lst) to the network drive. I've disable writing the tree by unchecking Options ... Project Options ... Output Files ... Call tree file . That helps in my case. I haven't found a way to turn off the listing, though I use that pretty often, unlike the call tree, which I've looked at perhaps only a couple of times over the past year. Ironically, I spent a lot of time getting the Microchip C18 compiler to even produce me a listing from MPLAB!

My reason for using network drives is for souce backup reasons. There's little point in all the output and diagnostic stuff going there too. Only once I've fully debugged is there any need for me to write hex files, and hex files ONLY to a network drive for distribution and archive purposes.

I also don't like clogging up the network nor the server with this sort of nuisance traffic. It doesn't need to be there. The source needs to be there (though I'd MUCH prefer to be using a decent source control system and compiling from working copies on a local drive) but the other stuff is basically junk with a short shelf life in the sense that it's only valid until the next compilation.

The real problem as I see it is that you cannot redirect the intermediate and output files to a local drive. All the files, source, intermediates and output have to be in one directory. I've tried setting up the project on a local drive and pointing it to source on a network drive, but the IDE doesn't realise that the two are on different drives and it tries to construct a relative path to the source files, with disasterous consequences ;-( not to mention verrrrry loooong yet totally invalid path names.

RF Developer
Ttelmah



Joined: 11 Mar 2010
Posts: 19505

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 9:50 am     Reply with quote

Ah. So you have the compiler 'locally', and the data stored on the network?.
I installed the entire compiler on the network drive, so the path variable is talking to W: (not Z: for mine....).
I wonder if that is the difference. The compiler is on the same drive with the code (not the same directory).
I was thinking you might have had the PATH pointing to a local compiler directory that didn't actually exist.

Best Wishes
legion



Joined: 10 Oct 2007
Posts: 23

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 9:59 am     Reply with quote

RF_Developer wrote:
I've got this problem too...


RF_Developer, good to know it's not isolated to my setup. Let's hope there's a solution forthcoming. Perhaps this should go to support@ccsinfo.com

Ttelmah, I guess that's the essential difference - having the CCS program on the network drive. I'm a bit hesitant to try that (is it even possible on Windows? Says he showing his lack of PC savvy)
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 1:21 pm     Reply with quote

MPLAB has the same problem. See the last post in this thread:
https://www.microchip.com/forums/tm.aspx?m=351076&mpage=2
legion



Joined: 10 Oct 2007
Posts: 23

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 2:18 pm     Reply with quote

PCM programmer wrote:
MPLAB has the same problem. See the last post in this thread:
https://www.microchip.com/forums/tm.aspx?m=351076&mpage=2


The same problem? In our case it's the CCS compiler that's taking the time to execute when called from the command line (or by another IDE such as RF Solutions ICEPIC) MPLAB isn't involved.
Ttelmah



Joined: 11 Mar 2010
Posts: 19505

View user's profile Send private message

PostPosted: Wed Oct 26, 2011 3:27 pm     Reply with quote

Interesting.....
It is better on the virtual PC in the Mac, than on a real one!.
It is also better with the compiler on the network drive.

Took a medium program, and compiled it locally on the virtual PC. 7.45 seconds 12000 lines. Same program, compiled it on the network machine with the compiler also on the network drive (as I normally run). 9.23 seconds. Then put the compiler locally, got slightly worse, to 12.43 seconds. Then ran up a W7 ultimate machine with similar hardware specs (I7, 12GB RAM), and tried this with the networked data 32.5 seconds!...
Ouch.
Also when browsing to find the file to compile, noticed that the actual update when you select a directory is slow from the Windows machine. Have never seen this from the Mac.
There is obviously something fundamentally wrong with the network handling, which is at least in part 'hidden' by using the virtual machine (it is the Mac that handles the networking here, the drive is seen as local by the virtual PC).

Best Wishes
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group