Path: utzoo!mnetor!uunet!husc6!purdue!riedl From: riedl@cs.purdue.EDU (John T Riedl) Newsgroups: comp.protocols.tcp-ip Subject: Re: CRC calculation costs (was Re: SLIP working group? ) Message-ID: <3765@medusa.cs.purdue.edu> Date: 5 Apr 88 19:47:39 GMT Sender: news@cs.purdue.EDU Organization: Department of Computer Science, Purdue University Lines: 26 Tom Mueller and I did some experiments [1] on measuring the costs of various components of UDP on Suns (3/50s), using *very small packets*. We measured UDP round-trips of 7.2ms, with checksuming being 0.12ms of that, and mbuf manipulation about 0.5ms. 1.6ms was spent in the socket layering (just the socket abstraction code), 0.5ms in the context switch on receive, and 0.4ms in copying from kernel to user space. Note that these are the cheap 1s-complement bitsums that have been under discussion recently and that only the headers are being checksumed. Our data compare well with Watson and Mamrak's work on VMS [2]. They report on transmitting 1024 byte packets. The total transmission time (one-way) was 4.2ms, of which 0.5 ms was data checksuming vs. 0.8ms for the context switch and system call overhead. So at least in some environments, checksuming is relatively cheap. [1] Bharat Bhargava, Tom Mueller, and John Riedl, "Experimental Analysis of Layered Ethernet Software". In Proceedings of the ACM-IEEE Computer Society 1987 Fall Joint Computer Conference. [2] Richard Watson and Sandy Mamrak, "Gaining Efficiency in Transport Services by Appropriate Design and Implementation Choices". ACM Transactions on Computer Systems, May 1987. -- John Riedl {ucbvax,decvax,hplabs}!purdue!riedl -or- riedl@mordred.cs.purdue.edu