]> git.saurik.com Git - bison.git/commit
Use unlocked I/O for a minor performance improvement on hosts like
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 2 Oct 2005 21:24:12 +0000 (21:24 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 2 Oct 2005 21:24:12 +0000 (21:24 +0000)
commitfb9c0b3360928887038a296c338025ced68e2d8c
treeccc6c3b91ca99656d96affae2d440b7796425dab
parentedb8f44f06cf8a43defa1036bdd6011947d84e91
Use unlocked I/O for a minor performance improvement on hosts like
GNU/Linux and Solaris that support unlocked I/O.  The basic idea
is to use the gnlib unlocked-io module, and to prefer putc and
puts to printf when either will work (since the latter doesn't
come in an unlocked flavor).
* bootstrap (gnulib_modules): Add unlocked-io.
* data/c.m4 (yysymprint): Prefer puts and putc to printf.
* data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): New macros.
Prefer them to YYFPRINTF and YYDPRINTF if either will do,
and similarly for puts and putc and printf.
* data/yacc.c: Likewise.
* lib/bitset.c (bitset_print): Likewise.
* lib/bitset.h [USE_UNLOCKED_IO]: Include unlocked-io.h.
* lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer putc and puts
to printf.
* lib/lbitset.c (debug_lbitset): Likewise.
* src/closure.c (print_firsts, print_fderives): Likewise.
* src/gram.c (grammar_dump): Likewise.
* src/lalr.c (look_ahead_tokens_print): Likewise.
* src/output.c (escaped_output): Likewise.
(user_actions_output): Coalesce two printfs.
* src/parse-gram.h (%printer): Prefer putc and puts to printf.
* src/reduce.c (reduce_print): Likewise.
* src/state.c (state_rule_look_ahead_tokens_print): Likewise.
* src/system.h: Include unlocked-io.h rathe than stdio.h.
17 files changed:
ChangeLog
bootstrap
data/c.m4
data/glr.c
data/yacc.c
lib/bitset.c
lib/bitset.h
lib/bitsetv.c
lib/lbitset.c
src/closure.c
src/gram.c
src/lalr.c
src/output.c
src/parse-gram.y
src/reduce.c
src/state.c
src/system.h