Skip to content

Slow and undone code in ziputils.pas and zipper.pp from PasZLib package

ziputils.pas Looks like code for work with streams will not use/work coz file have definitions:

interface

{$undef UseStream}

{$ifdef WIN32}
  {$define Delphi}
  {$ifdef UseStream}
    {$define Streams}
  {$endif}
{$endif}

//uses  Classes, SysUtils;

zipper.pp I got VERY SLOW work when i tried to unpack some files 1 by 1. Discovering shows what UnZipFile function calls lot of similar overloads: UnZipFile -> UnZipFiles -> UnZipAllFiles with file list creation even for single file. And UnZipAllFiles function have another slowliness: line 2918: ReadZipDirectory, recreate zip files directory even if it didn't changed line 2920: FTotSize := CalcTotalSize(AllFiles); doing lot of useless operations in case of single file and useless (didn't call) at all in case of FOnProgressEx is not assigned.

Edited by Awkward
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information