From owner-freebsd-bugs@FreeBSD.ORG Sun Aug 29 12:17:47 2010 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4FD6B10656A6; Sun, 29 Aug 2010 12:17:47 +0000 (UTC) (envelope-from arundel@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 41FD68FC21; Sun, 29 Aug 2010 12:17:47 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o7TCHlG3074046; Sun, 29 Aug 2010 12:17:47 GMT (envelope-from arundel@freefall.freebsd.org) Received: (from arundel@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7TCHlRi074042; Sun, 29 Aug 2010 12:17:47 GMT (envelope-from arundel) Date: Sun, 29 Aug 2010 12:17:47 GMT Message-Id: <201008291217.o7TCHlRi074042@freefall.freebsd.org> To: toby@apple.com, arundel@FreeBSD.org, freebsd-bugs@FreeBSD.org, arundel@FreeBSD.org From: arundel@FreeBSD.org Cc: Subject: Re: bin/86485: [patch] hexdump(1): hexdump -s speedup on /dev X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2010 12:17:47 -0000 Synopsis: [patch] hexdump(1): hexdump -s speedup on /dev State-Changed-From-To: open->analyzed State-Changed-By: arundel State-Changed-When: Sun Aug 29 12:01:55 UTC 2010 State-Changed-Why: The cause for this issue is the use of getchar() which tests every character against EOF. This causes huge overhead as can be seen in this comparison between the BSD and Linux hexdump versions: FreeBSD: Linux: real 44,85 real 0.00 user 4,51 user 0.00 sys 38,76 sys 0.00 The command used for this was 'time -p hexdump -n 100 -s 1000000000 /dev/random'. Higher values for -s would simply take too much time on FreeBSD. ;) Responsible-Changed-From-To: freebsd-bugs->arundel Responsible-Changed-By: arundel Responsible-Changed-When: Sun Aug 29 12:01:55 UTC 2010 Responsible-Changed-Why: Assign to me. Although i don't have commit rights to src i'm working on this issue atm. http://www.freebsd.org/cgi/query-pr.cgi?pr=86485