From: Johannes Schindelin Date: Sat, 17 May 2008 10:18:17 GMT Subject: Re: [PATCH] mailsplit and mailinfo: gracefully handle NUL characters Message-ID: In-Reply-To: <20080517100726.GA24416@cuci.nl> Hi, On Sat, 17 May 2008, Stephen R. van den Berg wrote: > Johannes Schindelin wrote: > >On Fri, 16 May 2008, Avery Pennarun wrote: > >> fread is about 18x faster than fgetc(). getc() is the same speed as > >> fgetc(). getc_unlocked() is definitely faster than getc, but still at > >> least 7x slower than fread(). > > >Well, my question was more about fgetc() vs fgets(). > >If you feel like it, you might benchmark this patch: > > Wouldn't it be better to improve the implementation of getc() > in glibc instead? Sure, because glibc is used on Windows, AIX, Solaris, etc. > getc() is meant to be the fast version of fgetc(), and if it isn't > (anymore), then the library needs fixing. fgetc() has to work reliably in a threaded environment, too. So I guess that it does all kinds of locks that slow it down, but it is not something to be "fixed". Hth, Dscho