delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/06/26/12:09:34

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Sat, 26 Jun 2004 12:05:54 -0400
From: "Pierre A. Humblet" <pierre DOT humblet AT ieee DOT org>
To: cygwin AT cygwin DOT com
Subject: Re: higher-level IO very slow with cygwin1.dll 5.10 (due to set_flags?)
Message-ID: <20040626160554.GA980221@hpn5170x>
Mail-Followup-To: "Pierre A. Humblet" <pierre DOT humblet AT ieee DOT org>, cygwin AT cygwin DOT com
References: <opr96vbqwilh6y6a AT localhost> <20040626154504 DOT GA961349 AT hpn5170x>
Mime-Version: 1.0
In-Reply-To: <20040626154504.GA961349@hpn5170x>
User-Agent: Mutt/1.4.1i

On Sat, Jun 26, 2004 at 11:45:04AM -0400, Pierre A. Humblet wrote:
> On Sat, Jun 26, 2004 at 02:36:52AM -0400, Joseph wrote:
> > Thanks to those who responded to my post.
> > 
> > I am not sure though if all of you read the
> > entire sequence of the thread.
> > 
> > In my first post, I did attach an excerpt
> > from an strace dump of a sample program that
> > seemed to show "where the time is going".
> 
> You initial accusation against set_flags was unfounded
> and led nowhere. But you have a very good point.
> 
> Your "fast" program is doing reads in blocks of 1024.
> Your "slow" program is using getc.
> 
> I observed that the slow program was 20 times slower
> than the fast one, even though strace showed that getc
> was properly calling read in blocks of 1024.
> 
> I then noticed that getc is not implemented as a macro
> on Cygwin. It's a newlib function

As you seem to care about a 20x speed increase, you can regain the
speed by editing stdio.h, letting getc be a macro on Cygwin.

Beware, I found this:
2000-05-19  DJ Delorie  <dj AT cygnus DOT com>
	* libc/include/stdio.h: no getc/putc macros for cygwin; causes
	compatibility issues with different dll versions
so you may need to recompile when updating cygwin.

Pierre

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019