This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Performance optimization in av::fixup - use buffered IO, not mapped file
On Wed, Dec 12, 2012 at 08:35:56PM +0100, Corinna Vinschen wrote:
>On Dec 12 14:19, Christopher Faylor wrote:
>> On Wed, Dec 12, 2012 at 06:27:33PM +0100, Corinna Vinschen wrote:
>> >On Dec 12 18:15, Corinna Vinschen wrote:
>> >> On Dec 12 12:11, Christopher Faylor wrote:
>> >> > On Wed, Dec 12, 2012 at 12:06:08PM -0500, Ryan Johnson wrote:
>> >> > >It's painfully reproducible. It takes nearly two hours for a gcc
>> >> > >bootstrap compiler to configure the various bits of the next stage. It's
>> >> > >the same for emacs unexec (as OP reported).
>> >> >
>> >> > I'd like to see a small controlled test case which demonstrates the
>> >> > problem. If the claims here are all true then it should be very easy to
>> >> > demonstrate without resorting to bootstrapping the compiler.
>> >> >
>> >> > And, given my comment about setup.exe, I suspect that this isn't going
>> >> > to be as alarming an issue for the normal Cygwin user as it is for
>> >> > people who, e.g., rebuild their own compilers.
>> >>
>> >> Which would speak for adding a "nosparse" mount option.
>> >
>> >...or not. The problem is not to add the mount option, but to make sure
>> >people know that option and use it when "cygwin is slow". This rather
>> >speaks for making nosparse the default and "sparse" the option, I guess.
>>
>> Actually, if the assertions here are correct then wouldn't mounting /bin
>> as "cygexec" also make things better?
>
>No. /bin isn't the problem. Running self-built executables is. If you
>have a build system which runs self-built executables as part of the
>build process (xgcc), you'd end up with a very slow build, apparently.
The operative part of the above wasn't "/bin", it was mounting with the
"cygexec" option. That should bypass the mmap in av::fixup. I was
under the impression that was what screwed things up since it somehow
flushed the cache.
cgf
- References:
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file
- Re: Performance optimization in av::fixup - use buffered IO, not mapped file