From owner-freebsd-hackers Mon May 27 23:29:20 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id XAA04827 for hackers-outgoing; Mon, 27 May 1996 23:29:20 -0700 (PDT) Received: from lirmm.lirmm.fr (lirmm.lirmm.fr [193.49.104.10]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id XAA04822 for ; Mon, 27 May 1996 23:29:18 -0700 (PDT) Received: from lirmm.fr (baobab.lirmm.fr [193.49.106.14]) by lirmm.lirmm.fr (8.7.1/8.6.4) with ESMTP id IAA09104 for ; Tue, 28 May 1996 08:29:17 +0200 (MET DST) Message-Id: <199605280629.IAA09104@lirmm.lirmm.fr> To: hackers@freebsd.org Subject: strcpy, strcat: not the same look & feel. Date: Tue, 28 May 1996 08:29:15 +0200 From: "Philippe Charnier" Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, Which one is faster, the old version or the one with this patch applied? Libc uses another one (assembler) but this could at least make libkern faster. Or is it even better to use the libc's version? I'm not really sure about my results but it seems that the following patch make strcpy 8% faster (-O0) 6% faster (-O) and 0% faster (-O2) on my i486 according to gprof. --- strcpy.c 1994/05/27 04:57:55 1.1.1.1 +++ strcpy.c 1996/05/25 21:33:23 @@ -35,7 +35,6 @@ static char sccsid[] = "@(#)strcpy.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ -#include #include char * @@ -45,6 +44,6 @@ { char *save = to; - for (; *to = *from; ++from, ++to); + while (*to++ = *from++); return(save); } -------- -------- Philippe Charnier charnier@lirmm.fr LIRMM, 161 rue Ada, 34392 Montpellier cedex 5 -- France ------------------------------------------------------------------------