From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30716 invoked by alias); 24 Apr 2004 22:20:42 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 30709 invoked by alias); 24 Apr 2004 22:20:41 -0000 Date: Sat, 24 Apr 2004 23:30:00 -0000 Message-ID: <20040424222041.30708.qmail@sources.redhat.com> From: "cvs-commit at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040418140629.15002.aaron@isotton.com> References: <20040418140629.15002.aaron@isotton.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libstdc++/15002] Linewise stream input is unusably slow (std::string slow) X-Bugzilla-Reason: CC X-SW-Source: 2004-04/txt/msg02278.txt.bz2 List-Id: ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-04-24 22:20 ------- Subject: Bug 15002 CVSROOT: /cvs/gcc Module name: gcc Changes by: paolo@gcc.gnu.org 2004-04-24 22:20:31 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: istream.tcc Added files: libstdc++-v3/testsuite/27_io/basic_istream/getline/char: 4.cc Log message: 2004-04-24 Paolo Carlini Petur Runolfsson PR libstdc++/15002 (continued) * include/bits/istream.tcc (basic_istream<>::getline(char_type*, streamsize, char_type)): Use traits::find/copy in a loop to speed up greatly the function in the common case (I/O buffer size >> 1). 2004-04-24 Paolo Carlini * testsuite/27_io/basic_istream/getline/char/4.cc: New. * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead of sbumpc(), consistently with the other functions, thus also dealing correctly with the case of exceeded string::max_size(). Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2459&r2=1.2460 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/istream.tcc.diff?cvsroot=gcc&r1=1.61&r2=1.62 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15002