From owner-freebsd-bugs Fri Apr 4 12:59:18 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA03072 for bugs-outgoing; Fri, 4 Apr 1997 12:59:18 -0800 (PST) Received: from gemini.yars.free.net (gemini.yars.free.net [193.233.192.17]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA03019 for ; Fri, 4 Apr 1997 12:57:48 -0800 (PST) Received: (from lav@localhost) by gemini.yars.free.net (8.8.5/8.8.4) id AAA18942; Sat, 5 Apr 1997 00:57:12 +0400 (MSD) Date: Sat, 5 Apr 1997 00:57:12 +0400 (MSD) From: "Alexander V. Lukyanov" Message-Id: <199704042057.AAA18942@gemini.yars.free.net> To: ache@nagual.ru, peter@spinner.DIALix.COM Cc: bugs@freebsd.org, kev@l321.omsk.net.ru Subject: Re: sscanf is slow on 2.2.1 Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > From: =?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?= > I just add speedup in case locale is not used. Nothing can be speeduped > when locale is used, however... But I noticed fstat being called inside sscanf... I don't know why it is, but if cache something (locale info?) it could be speed up. As about building the character set with locale, it could be very efficient if there were two prebuilt 256 character tables: map character to linear code and map linear code to character. So we just get two linear codes for bound characters and then fill the set with characters in the second table between those two bound linear codes. Very simple. Alexander.