From owner-freebsd-hackers Tue May 27 15:05:37 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id PAA06487 for hackers-outgoing; Tue, 27 May 1997 15:05:37 -0700 (PDT) Received: from pluto.plutotech.com (root@pluto100.plutotech.com [206.168.67.137]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id PAA06482 for ; Tue, 27 May 1997 15:05:33 -0700 (PDT) Received: from narnia.plutotech.com (narnia.plutotech.com [206.168.67.130]) by pluto.plutotech.com (8.8.5/8.8.5) with ESMTP id QAA08460; Tue, 27 May 1997 16:05:24 -0600 (MDT) Message-Id: <199705272205.QAA08460@pluto.plutotech.com> X-Mailer: exmh version 2.0beta 12/23/96 To: Christopher Sedore cc: "Ron G. Minnich" , FreeBSD-Hackers@FreeBSD.ORG Subject: Re: async socket stuff In-reply-to: Your message of "Tue, 27 May 1997 16:47:22 EDT." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 27 May 1997 17:03:00 -0600 From: "Justin T. Gibbs" Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Now, in the case of a 10MB file, you've essentially saved 20MB worth of >memory bandwidth/time for transfer (since the data has to be copied into >user space on read, and back again on write), plus 160*2=320-1=319 system >calls avoided. If you use an async I/O facility, there is no additional copy since you've pre-allocated the buffer and I/O from the file goes directly into and out of your user space buffer. Since your main complaint seems to be memory bandwidth and the system call overhead is really quite small (FreeBSD can do thousands of system calls a second on a P90), I think that async I/O would completely solve your problem. There is already work underway to bring async I/O to FreeBSD. -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================