From: cgf AT bbc DOT com (Christopher Faylor) Subject: Re: MUCH faster cygwin.dll was RE:Time and motion studies of gcc and egcs and LCC 15 Feb 1998 16:22:15 -0800 Message-ID: References: <199802021515 DOT IAA08872 AT chorus DOT dr DOT lucent DOT com> Reply-To: cgf AT bbc DOT com To: gnu-win32 AT cygnus DOT com In article <34e5a60a DOT 56566602 AT smtp DOT netzone DOT com>, Mikey wrote: >Possibly everyone already thought of this >after Sergey's comments about time spent in >relocation processing during configure, but for those >who haven't, it works!! > >cd .../H-i386-cygwin32/bin >cp cygwin.dll cygwin.striped_dll >strip.exe --strip-all --remove-section=.reloc cygwin.striped_dll >exit > >from explorer/dos box >rename cygwin.dll cygwin.B18_dll >( or cygwin.cool_dll as appropriate :) >rename cygwin.striped_dll cygwin.dll >start bash >at least 30-40% speed increase on EVERYTHING ;^) *I* hadn't thought of this, and I just tried it. It works! Brilliant! >Geoff I would recommend using --image-base=0x78000000 >for cygwin.dll same as MSVCRT.DLL which is relocatable >and should never be loaded in the same VM anyway. You can move the base yourself if you have MSVC's editbin program: editbase /rebase:base=0x78000000 cygwin.dll Do this before you strip the .dll... >WARNING all other dll's you build for use with this cygwin.dll >will have to be relocatable!!!! or use an image base >other than 0x10000000. 0x10070000+ should be safe. > >Part of the reason that cygwin32 looks so slow on >win32, may be that the low level memory access >routines in newlib and libiberty are not x86 optimized > >memcpy strcpy etc. are all, as far as >I have looked at them written in c to use int copy routines >which dosen't look to me like a very efficient solution. > >Maybe cc1 should optimize these to use MOVSxx SCASxx STOSxx etc. >but it dosen't seem to, I just rebuilt newlib/ coolview/ and looked >at the disassembly of the routines in newlib/libc/string, and >they look very inefficient to me. ;^). Did you look at the routines themselves or at actual code in cygwin which calls them? I was under the impression that GCC inlined some of the string/memory routines if the proper optimization was specified. -- http://www.bbc.com/ cgf AT bbc DOT com "Strange how unreal VMS=>UNIX Solutions Boston Business Computing the real can be." - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".