views:

122

answers:

2

Hello everyone!

I'm building an application for windows mobile devices, which deals with a database composed of approximately 1500 files. However, the size of each file is under 50kB, and the overall size is under 15MB.

When Visual Studio deploys the app to a mobile device, it takes from 25 to 30 minutes. I was wondering whether there is a way to speed up the process. I guess the high amount of files is what is slowing it down, but since I turned on the "Copy only if newer" option for every file, I don't really see how I could change anything else. Furthermore, the longest stage seems to be "Deploy started..."

Any idea of how I could improve the overall performance?

Thank you!

A: 

At start you can disable option for checking the latest version of the .NET CF framework ( Project options -> Devices -> Deploy the lates version... (checkbox).

If that will not help you can create binaries upload script, that will just copy files (xcopy...) to the destination device.

Vadmyst
Thank you! It indeed improves thing a little bit.CFP.
CFP
+1  A: 

The main problem is that filesystem driver on all WM devices. Basically the filesystem driver does not handle creating lots of directory entries in a single directory. The 'create' directory entry time increases with every file you create in a single directory, when you get up to the thousands of files the create time can take hours.

I've seen it lots of times when backing up devices with mail messages folder where someone has 7000+ email files (created over a long period of time). Backup is fast, but restore can take days because of this issue.

To avoid this, try to limit the number of files in one single folder by splitting across multiple folders, that combined with the manually copying the files like Vadmyst suggests should speed you up.

Shane Powell
Thank you very much ! I've reduced the number of files by merging some of them.
CFP