This is the mail archive of the
mailing list for the GCC project.
Re: PATCH: Improve performance of gthr-win32
- From: Wu Yongwei <adah at sh163 dot net>
- To: Christopher Faylor <cgf at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Danny Smith <dannysmith at clear dot net dot nz>
- Date: Tue, 16 Mar 2004 15:10:46 +0800
- Subject: Re: PATCH: Improve performance of gthr-win32
- Organization: Kingnet Security, Inc.
- References: <firstname.lastname@example.org> <20040316052140.GA13324@redhat.com>
Christopher Faylor wrote:
On Mon, Mar 15, 2004 at 10:46:02PM +0800, Wu Yongwei wrote:
This is my attempt to solve the performance overhead of __gthread_mutex
functions. On Win32, in order to support __gthread_mutex_trylock,
currently MUTEXs instead of CRITICAL_SECTIONs are used to represent the
__gthread_mutex_t, but MUTEXs are far slower. According to my own
measurement, the overhead is about 60:1.
When my first attempt to address this problem by implementing
TryEnterCriticalSection on Windows 9x failed, Thomas Pfaff showed
And I have finally done this. Please have a check. There are the
patch, two test files, and my test log. The only drawback is that it
requires Windows 98 or later, and Windows NT 4 or later. I do not think
it a problem, but I am willing to write another patch to solve the
problem using inline assembly if people here insist that Windows 95 is
When you presented these patches to the mingw-dvlpr mailing list there
was some question about copyright. We need your assurance that you both
have an assignment on file with the FSF for changes to gcc and that you
have not adapted these patches from some other project like
pthreads-win32 or cygwin.
Please enlighten me how. I am willing to do everything needed to make
the patch accepted, but I am really a newbie in respect of contributing
to GCC. Must I snail-mail a written disclaimer, or what? And where is
the most appropriate template (I only found some in mail archives but
not on the page indicated by the Contributing page)?
I have not copied or consulted code in other projects, whether
open-source or commercial. The only external source is Thomas's ideas.