Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Subject: Re: readv/writev From: Robert Collins To: Conrad Scott Cc: cygwin-developers AT cygwin DOT com In-Reply-To: <019701c2494f$614e4a40$6132bc3e@BABEL> References: <019701c2494f$614e4a40$6132bc3e AT BABEL> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-yxjpyw19pAYsn7Kgiyuw" Date: 22 Aug 2002 09:06:34 +1000 Message-Id: <1029971194.28132.16.camel@lifelesswks> Mime-Version: 1.0 --=-yxjpyw19pAYsn7Kgiyuw Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2002-08-22 at 06:14, Conrad Scott wrote: >=20 > On my m/c, a 900Mhz Pentium III (?), the same test program I was > using for the __stdcall / regparm testing (read 16Mb from > /dev/zero one byte at a time and write to /dev/zero) takes about 3 > seconds longer with the readv/writev changes. That is, ~38.6 > seconds rather than ~35.6 seconds. So, it's measurable but it's a > pretty extreme test. how long does it take if you read in a readv block of, say 1000 elements? Faster or slower? =20 > Does anyone feel this is important? If so, I can write separate > code paths for both read/write as well as readv/writev, which > would then be no slower than the current DLL code. The issue then > is a small increase in DLL size along with more duplicate code to > maintain. >=20 > Any votes? 1) Implement a clean design.=20 2) *IF* the readv->read code is fairly short, put it in a header so it can inline when appropriate. 3) Implement 'native' Overlapped IOw/ scatter-gather for NT OS's on disk files. :}. Rob --=-yxjpyw19pAYsn7Kgiyuw Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQA9ZBz6I5+kQ8LJcoIRAvaAAJ0VLMteGT80b0AvlUxScb6oLgp57QCg0iGE J8S36RBgT2K0VL/FkB/Hp/Q= =rYnW -----END PGP SIGNATURE----- --=-yxjpyw19pAYsn7Kgiyuw--