1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/benchmark-suite
Ludovic Courtès 07f49ac786 Factorize and optimize `write' for strings and characters.
According to `write.bm', this makes `write' 2.6 times faster for strings.

* libguile/print.c (iprin1): Use `write_character' when
  `SCM_WRITINGP (pstate)' and `SCM_CHARP (exp)' or `scm_is_string (exp)'.
  (scm_i_charprint): Remove.
  (display_character, write_character): New functions.
  (scm_write_char): Use `display_character' instead of
  `scm_i_charprint'.

* libguile/print.h (scm_i_charprint): Remove declaration.

* benchmark-suite/benchmarks/write.bm: New file.

* benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add
  `benchmarks/write.bm'.
2010-09-14 16:11:19 +02:00
..
benchmarks Factorize and optimize `write' for strings and characters. 2010-09-14 16:11:19 +02:00
results Changes so that benchmark-guile runs successfully 2009-09-22 00:39:57 +01:00
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
guile-benchmark deprecate has-suffix? 2010-06-11 16:58:24 +02:00
lib.scm Changes so that benchmark-guile runs successfully 2009-09-22 00:39:57 +01:00
Makefile.am Factorize and optimize `write' for strings and characters. 2010-09-14 16:11:19 +02:00
README Revert "Note need for subscription to bug-guile@gnu.org." 2008-12-10 19:07:14 +00:00

This directory contains some benchmarks for Guile, and some generic
benchmarking support code.

To run these benchmarks, you will need a version of Guile more recent
than 15 Feb 1999 --- the benchmarks use the (ice-9 and-let*) and
(ice-9 getopt-long) modules, which were added to Guile around then.

For information about how to run the benchmark suite, read the usage
instructions in the comments at the top of the guile-benchmark script.

You can reference the file `lib.scm' from your own code as the module
(benchmark-suite lib); it also has comments at the top and before each
function explaining what's going on.

Please write more Guile benchmarks, and send them to bug-guile@gnu.org.
We'll merge them into the distribution.  All benchmark suites must be
licensed for our use under the GPL, but I don't think we're going to
collect assignment papers for them.