m4-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

speed up input parsing


From: Eric Blake
Subject: speed up input parsing
Date: Fri, 13 Feb 2009 06:09:53 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.19) Gecko/20081209 Thunderbird/2.0.0.19 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

While working on argv_ref patch 29, I noticed that the master branch had a
variable input_change which was always true.  This has been the case ever
since it was introduced in commit 3883a on 2006-10-25; even though that
patch was copied from the branch where the variable is properly cleared.
This one-liner patch gives about a 5% speedup to running autoconf on
coreutils.  Master is still about 50% slower than branch-1.6 because of
its heavy use of indirect function calls, although I'm hoping that porting
argv_ref patch 29 will improve the situation.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmVcSEACgkQ84KuGfSFAYAFCwCbB6hKDaQ1aoCj5XcbAnYe08w+
bSsAn2FySqufKA6D+f9PEMCRz5O5xzkR
=kynk
-----END PGP SIGNATURE-----
>From efb88298e6f6933335f9cdfb1d96753271052efb Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Fri, 13 Feb 2009 06:02:22 -0700
Subject: [PATCH] Speed up parsing when detecting input file change.

* m4/input.c (next_char): Clear input_change flag.  Bug introduced
2006-10-25.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog  |    6 ++++++
 m4/input.c |    5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a0802ed..6717a8a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-13  Eric Blake  <address@hidden>
+
+       Speed up parsing when detecting input file change.
+       * m4/input.c (next_char): Clear input_change flag.  Bug introduced
+       2006-10-25.
+
 2009-02-12  Eric Blake  <address@hidden>

        Avoid quadratic code when walking definition stack.
diff --git a/m4/input.c b/m4/input.c
index c3c47d0..2672386 100644
--- a/m4/input.c
+++ b/m4/input.c
@@ -1,6 +1,6 @@
 /* GNU m4 -- A simple macro processor
-   Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 2006, 2007, 2008
-   Free Software Foundation, Inc.
+   Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 2006, 2007, 2008,
+   2009 Free Software Foundation, Inc.

    This file is part of GNU M4.

@@ -1287,6 +1287,7 @@ next_char (m4 *context, bool allow_quote, bool 
allow_argv, bool allow_unget)
        {
          m4_set_current_file (context, isp->file);
          m4_set_current_line (context, isp->line);
+         input_change = false;
        }

       assert (isp->funcs->read_func);
-- 
1.6.1.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]