From: sos AT prospect DOT com DOT ru (Sergey Okhapkin) Subject: File operations speed-up 17 Mar 1997 09:29:58 -0800 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <01BC32DD.A9EB1B90.cygnus.gnu-win32@gater.krystalbank.msk.ru> Original-To: "'Gnu-Win32'" Encoding: 21 TEXT, 136 UUENCODE X-MS-Attachment: archive.diff 0 00-00-1980 00:00 Original-Sender: owner-gnu-win32 AT cygnus DOT com Hi! This patch increases the speed of stat/lstat calls dramatically. The trick is simple. Cygwin's stat call implementation reads the beginning of stated file to look for a "magic cookie" to define "executable" and "symlink" attributes of a file. With this patch reading is performed only if file have "archive" bit cleared. All ordinary files (not executables/symlinks) have this bit set. After applying this patch You have to "chmod +x file" on all executables/symlinks. I made a "chmod +x *" on directories with binaries. Later I'll write a special utility "fssync" to examine all files in a given directory tree and to set archive bit according to file magic cookie. Compare the time of "du ." on cygwin's root without and with this patch :-) -- Sergey Okhapkin Moscow, Russia Looking for a job. begin 600 archive.diff M*BHJ('!A=&@N8V,N;W)I9PE4:'4 AT 2F%N(# Q(# S.C Q.C X(#$Y-S *+2TM M('!A=&@N8V,)5V5D($1E8R Q." Q-SHP-SHR-B Q.3DV"BHJ*BHJ*BHJ*BHJ M*BHJ*@HJ*BH AT DOT 3DS+#DY." J*BHJ"BTM+2 Y.3,L.3DY("TM+2T*(" @(" @ M("!E;'-E"B @"7L*(" )("!?8VQO6UL M:6YK7V-H96-K("@EPHK(" @(" J M&5C(#T@,#L**R @(" @F5O9B HPHK(" @(" @("\J(')E6UL:6YK7-C86QL7W!R M:6YT9B H(B5D(#T@)7,@*"5S+" E<"E<;B(L(')E2!A9V%I;B!W:71H(&$@+F5X92!S=69F:7@**R @ M(" @(%MB=70@;VYL>2!I9B!N;W0 AT 86QR96%D>2!P6EN9R!W:71H("YE>&4@2 J+PHK(" @:68@*&%T=',@/3T AT 24Y604Q)1%](04Y$3$5? M5D%,544I"BL@(" @('L**R @(" @("!W:6XS,E]N86UE(#T@2 J+PHK M(" @("!["BL@(" @(" @+RH@:&UM+"!T:&4@;G5M8F5R(&]F(&QI;FMS('1O M(&$@9&ER96-T;W)Y(&EN8VQU9&5S('1H92 **R )(&YU;6)EF4@(" @ M/2!W9F0N;D9I;&53:7IE3&]W.PHK(" @(" @(&)U9BT^PHK(" @(" @(" @("!B=68M/G-T7V%T:6UE(" @/2!T;U]T:6UE7W0@*"9W M9F0N9G1,87-T06-C97-S5&EM92D["BL@(" @(" @(" @(&)U9BT^$QO M=R!>*B\@:&%S:%]P871H7VYA;64@*'=I;C,R7VYA;64I.PHK(" @(" @(" @ M("!B=68M/G-T7V)L:W-I>F4@/2!37T),2U-)6D4["BL@(" @(" @(" @(&)U M9BT^F4@*R!37T),2U-)6D4M,2D@ M+R!37T),2U-)6D4["BL@(" @(" @(" @(&)U9BT^2!W;W)K("HO"0HK(" @ M(" @(" @(" @"BL@(" @(" @(" @(&EN="!H(#T AT 7V]P96X@*'=I;C,R7VYA M;64L($]?4D1/3DQ9('P AT 3U]"24Y!4ED@?"!N;V9O;&QO=RD["BL@(" @(" @ M(" @(&EF("AH(#X](# I"BL@"2 @("!["BL@( D@(" @("!R97,@/2!?9G-T M870@*&@L(&)U9BD["BL@"2 @(" @(%]C;&]S92 H:"D["BL@"2 @("!]"BL@ M(" @(" @("!]"BL@(" @('T**R @($9I;F1#;&]S92AA='1S*3L@( H@("!D M;VYE DOT AT H@(" @