Re: [twsocket] FileMD5 : Different Hash Result - sameFileondifferent workstat

2009-06-24 Thread Arno Garrels
Angus Robertson - Magenta Systems Ltd wrote:
 I cannot find this in my local copy, AFAIK you added added buffered
 file access to the FTP components.
 
 I added FtpFileMD5 and FtpFileCrc32B to OverbyteIcsFtpSrvT.pas, to
 avoid brings OverbyteIcsStreams into the MD5 and CRC32 units, but
 there's nothing specifically 'FTP' about them, except the name and
 unit g 

Ah OK, I think this is a good choice, since usually you won't calculate 
the MD5 checksum of the same file multiple times in sequence. 
 
 They are used in OverbyteIcsMD5Test which compares the buffered and
 non-buffered versions.   I believe the buffered stream version is
 faster on a first read, but no different once Windows has cached the
 file. Windows caching makes comparsions very difficult.

That's true, it becomes even more difficult to compare cached and 
non-cached writes.

--
Arno Garrels


--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] FileMD5 : Different Hash Result -sameFileondifferent workstat

2009-06-24 Thread Arno Garrels
Arno Garrels wrote:
 Angus Robertson - Magenta Systems Ltd wrote:
 I cannot find this in my local copy, AFAIK you added added buffered
 file access to the FTP components.
 
 I added FtpFileMD5 and FtpFileCrc32B to OverbyteIcsFtpSrvT.pas, to
 avoid brings OverbyteIcsStreams into the MD5 and CRC32 units, but
 there's nothing specifically 'FTP' about them, except the name and
 unit g
 
 Ah OK, I think this is a good choice, since usually you won't
 calculate the MD5 checksum of the same file multiple times in
 sequence. 
 
 They are used in OverbyteIcsMD5Test which compares the buffered and
 non-buffered versions.   I believe the buffered stream version is
 faster on a first read, but no different once Windows has cached the
 file. Windows caching makes comparsions very difficult.
 
 That's true, it becomes even more difficult to compare cached and
 non-cached writes.

Just a quick shot: Maybe Chunksize can be made a parameter? I guess 
that this could replace the buffered stream IO and make it even faster, 
provided Chunksize was large enough. Knowing the Chunksize would
IMO also ease and speed up progress calculations in a callback 
routine, ProgressBar isn't aware of int64.  

--
Arno Garrels
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be