This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: NTFS fragmentation


Vladimir Dergachev wrote:
Hi Gary and Larry,

Thank you for your comments, replies below:

On Wednesday 02 August 2006 7:08 pm, you wrote:
        Any suggestions and comments would be greatly
appreciated.
Please CC me - I am not on the list.

thank you very much

Vladimir Dergachev
I'll try your test case when I get a chance, but my WAG is that you're
seeing the effects of Cygwin's creation of sparse files by default for any
file beyond a certain size.  I unfortunately do not recall what that size
is.  What happens as you change FILE_SIZE and/or BUFFER_SIZE in your
script, to maybe a small multiple of your cluster size?

I tried buffer_size of 10K, 100K, 1M and 10M - no big difference, except a small decrease in number of fragments for 10M value - could be noise..


I also tried a smaller file size - 3M, the number of fragments decreased to 33, roughly proportionally to size.

Unfortunately, I do not know what cluster size is.

With regard to sparse files the intent here is to open a file, write data to it and the close. No seeks involved, much less void regions. I do understand that internally cygwin could do something different.

I have not found a utility to identify a sparse file yet - if you happen to have a link I would greatly appreciate it.

Also, I tried the following experiment - found a 17 MB file in ibiblio.org and downloaded it with FireFox. The file ended up fragmented into more than 200 pieces. Tried the same file with IE - no fragmentation.

It could be, of course, that Firefox is compiled with cygwin, but I have not found cygwin.dll anywhere in its installation directory.


If you pulled it from Mozilla.org, it ain't Cygwin-based.  That would point to
a more general, non-Cygwin problem.


PS I'll try writing a C program when time permits - any suggestions on what API besides regular open/write/close to use ?


I would recommend making a POSIX API version and a straight Win32 version.
But if what you said about Firefox is true, you should see a similar problem
even using MinGW (www.mingw.org) or the '-mno-cygwin'.  Again, that would
point to this being a non-Cygwin problem, though still quite an annoying one.



--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]