mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
It's amazing how much the order matters. To a point that many of
these benches are meaningless. For instance (some of the benches
where run with `make -C benches/latest rand
BENCHFLAGS=--benchmark_min_time=3`):
compiler: g++ -std=c++11 -O2
0. %define nofinal
1.
--------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------
BM_y0 1543 ns 1541 ns 441660
BM_y1 1521 ns 1520 ns 456535
--------------------------------------------------
BM_y0 1531 ns 1530 ns 440584
BM_y1 1512 ns 1511 ns 457591
--------------------------------------------------
BM_y0 1539 ns 1538 ns 2749330
BM_y1 1516 ns 1515 ns 2771500
--------------------------------------------------
BM_y0 1571 ns 1570 ns 2600782
BM_y1 1542 ns 1541 ns 2708349
--------------------------------------------------
BM_y0 1530 ns 1529 ns 2670363
BM_y1 1519 ns 1518 ns 2764096
--------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------
BM_y1 1529 ns 1528 ns 451937
BM_y0 1508 ns 1507 ns 453944
--------------------------------------------------
BM_y1 1525 ns 1524 ns 2750684
BM_y0 1516 ns 1515 ns 2794034
--------------------------------------------------
BM_y1 1526 ns 1525 ns 2749620
BM_y0 1515 ns 1514 ns 2808112
--------------------------------------------------
BM_y1 1524 ns 1523 ns 4475844
BM_y0 1502 ns 1501 ns 4611665
* etc/bench.pl.in: here.
* bench.pl
A primitive Perl script to run benches. Currently its only bench is
the usual calculator: it has a lightweight processing part (but not
null), so it is really emphasizing the cost of the whole parsing
(including scanning and I/O).
Set the envvars BISON and CC to the programs and flags you want to
use. They default to bison and gcc. To run a non-installed bison
from a tarball built in _build, I suggest the following.
BISON=_build/tests/bison CC='gcc -O2' ./bench.pl
(The _build/tests/bison wrapper makes sure that _build/src/bison will
use the tarballs' skeletons, not those already installed as a
straightforward use of _build/src/bison would.)
--
Copyright (C) 2006, 2009-2015, 2018-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Local Variables:
mode: outline
End: