Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Win32 (http://www.go4expert.com/forums/win32/)
-   -   How to improve speed? (http://www.go4expert.com/forums/improve-speed-t18332/)

krishnampkkm 3Jul2009 16:25

How to improve speed?
 
Hiiii


I have tried so many methods to copy the partition(NTFS ).Currently I read the used clusters from a source partition (using FSCTL_GET_VOLUME_BITMAP )and copy those clusters into destination Partition.

My source and destination partition are of same size and NTFs.

This works fine ,but very very very slow....... Because the my data transfer block size is the size of a cluster size...So it comes as 2kb / 4 kb like that....

The used clusters may not me continuously...

copying single cluster at a time.....

So so slow process.....

How to improve it's speed...???


----------------------
:crazy:Thanking you :crazy:
------------- ---------

!Newbie! 3Jul2009 16:30

Re: How to improve speed?
 
Dear krishnampkkm- Please articulate more clearly on what your problem is... Could you share some more details.

krishnampkkm 3Jul2009 16:44

Re: How to improve speed?
 
Hiii...

I wanna copy the hard disk partition to another partition. I have tried so many methods,,,but all are slow ..and I wanna get a good speed...

First I tried by copying all files in the source to destination volume using Windows API Copyfile()...But this one is same as the speed of copy int he windows explorer..

Then I tried to copy at a Ring 0 level(Kernel mode )... .But this one also a slow one....

After that I did a row copy partition ( blindly reading a big chunk )...with out any checking ..whether the space used or free...this one gives speed....

But here I copy the unused space also....

For example ..If a partition contains only one text file ... to copy that partition ...copy blindly all the space( used + frees) is bad manner....

Then I decide to copy the used space only... In NTFs Master File Table ..One record contains the used space details (Volume bitmap)....

I read this bitmap using (FSCTL_GET_VOLUME_BITMAP)...It gives the address of used or free clusters.....


Presently I work using this method...... Here the block size is only the cluster size( 2kb / 4 kb)...so the process is so slow....and I am coping single cluster by cluster....

I wanna make it fast....... with this method or any other method....

Any idea to .......

Link to any white papers...

Any new copy algorithms.....




-----------------
with regards
Krish:cuss::cuss::cuss:
----------------


All times are GMT +5.5. The time now is 23:49.