Ludovic Courtès
0b7f2eb8bf
Start rewriting SRFI-1 in Scheme.
...
This partially reverts commit e556f8c3c6
(Fri May 6 2005).
* module/srfi/srfi-1.scm (xcons, list-tabulate, not-pair?, car+cdr,
last, fold, list-index): New procedures.
* srfi/srfi-1.c (srfi1_module): New variable.
(CACHE_VAR): New macro.
(scm_srfi1_car_plus_cdr, scm_srfi1_fold, scm_srfi1_last,
scm_srfi1_list_index, scm_srfi1_list_tabulate, scm_srfi1_not_pair_p,
scm_srfi1_xcons): Rewrite as proxies of the corresponding Scheme
procedure.
* test-suite/tests/srfi-1.test ("list-tabulate")["-1"]: Change exception
type to `exception:wrong-type-arg'.
* benchmark-suite/benchmarks/srfi-1.bm: New file.
* benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add
`benchmarks/srfi-1.bm'.
* test-suite/standalone/Makefile.am (test_srfi_1_SOURCES,
test_srfi_1_CFLAGS, test_srfi_1_LDADD): New variables.
(check_PROGRAMS): Add `test-srfi-1'.
(TESTS): Ditto.
* test-suite/standalone/test-srfi-1.c: New file.
2010-07-21 01:07:56 +02:00
Andy Wingo
07d22c0259
rename (rnrs bytevector) to (rnrs bytevectors)
...
* module/rnrs/bytevectors.scm: Rename to (rnrs bytevectors), from (rnrs
bytevector), to match the name from the R6RS.
* benchmark-suite/benchmarks/bytevectors.bm:
* doc/ref/api-data.texi:
* doc/ref/api-foreign.texi:
* libguile/bytevectors.c:
* module/6/rnrs.scm:
* module/language/assembly.scm:
* module/language/assembly/compile-bytecode.scm:
* module/language/assembly/decompile-bytecode.scm:
* module/language/glil/compile-assembly.scm:
* module/language/tree-il/primitives.scm:
* module/srfi/srfi-4.scm:
* module/srfi/srfi-4/gnu.scm:
* module/system/foreign.scm:
* test-suite/standalone/test-ffi:
* test-suite/tests/asm-to-bytecode.test:
* test-suite/tests/bytevectors.test:
* test-suite/tests/foreign.test:
* test-suite/tests/r6rs-ports.test: Update all referrers.
2010-06-01 13:26:11 +02:00
Andy Wingo
689af21100
fix read.bm
...
* benchmark-suite/benchmarks/read.bm (%files-to-load): psyntax-pp.scm,
not psyntax.scm.
2010-04-17 14:04:49 +02:00
Ludovic Courtès
22ec6a31ed
Add `(ice-9 vlist)'.
...
* module/ice-9/vlist.scm, test-suite/tests/vlist.test,
benchmark-suite/benchmarks/vlists.bm: New files.
* module/Makefile.am (ICE_9_SOURCES): Add `vlist.scm'.
* test-suite/Makefile.am (SCM_TESTS): Add `tests/vlist.test'.
* benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add
`benchmarks/vlists.bm'.
* doc/ref/api-compound.texi (VLists, VHashes): New nodes.
2010-02-03 00:02:14 +01:00
Ludovic Courtès
f680bdd762
Add struct & vector benchmarks.
...
* benchmark-suite/benchmarks/structs.bm,
benchmark-suite/benchmarks/vectors.bm: New files.
* benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add.
* benchmark-suite/benchmarks/bytevectors.bm: Fix copyright.
2009-12-11 13:03:46 +01:00
Neil Jerram
9084db993e
Increase benchmark iterations to improve precision in comparisons over time
...
* benchmark-suite/benchmarks/continuations.bm: Increase "call/cc"
iterations from 300 to 12000.
* benchmark-suite/benchmarks/srfi-13.bm ("strings"): Increase "copy"
iterations from 1100 to 20000, and "pad" from 6800 to 34000.
* benchmark-suite/benchmarks/uniform-vector-read.bm
("uniform-vector-read!"): Increase "uniform-vector-write" iterations
from 500 to 4000, and "uniform-vector-read!" from 500 to 20000.
2009-11-03 22:50:07 +00:00
Neil Jerram
5904704335
Changes so that benchmark-guile runs successfully
...
* benchmark-suite/benchmarks/bytevectors.bm: Add "coding: latin1"
comment where Guile will find it.
* benchmark-suite/benchmarks/chars.bm: Ditto.
* benchmark-suite/benchmarks/srfi-13.bm: Ditto.
* benchmark-suite/benchmarks/read.bm ("read"): Divide numbers of
iterations by 10, so that the benchmarks complete within a few
minutes.
* benchmark-suite/lib.scm (benchmark): Use `run-benchmark' in macro
definition, not `,run-benchmark'.
* benchmark-suite/benchmarks/0-reference.bm,
benchmark-suite/benchmarks/continuations.bm,
benchmark-suite/benchmarks/if.bm,
benchmark-suite/benchmarks/logand.bm: Add define-module.
* benchmark-suite/results/neil-arudy: New file, containing benchmark
results from my computer.
2009-09-22 00:39:57 +01:00
Michael Gran
1b9ac4580c
Updates to benchmarks for srfi-13
...
Test more of the positive paths. Add test for string-prefix-ci?
string-suffix-ci? and string-hash-ci. Update the counts per test
to give approximately the same bench/interp time for each test for
1.8.7.
* benchmark-suite/benchmarks/srfi-13.bm: update benchmarks
2009-08-19 22:16:04 -07:00
Michael Gran
3dd11c9b13
Benchmarks for common character and string procedures
...
* benchmark-suite/benchmarks/chars.bm: new benchmarks
* benchmark-suite/benchmarks/srfi-13.bm: new benchmarks
2009-08-18 21:11:58 -07:00
Neil Jerram
53befeb700
Change Guile license to LGPLv3+
...
(Not quite finished, the following will be done tomorrow.
module/srfi/*.scm
module/rnrs/*.scm
module/scripts/*.scm
testsuite/*.scm
guile-readline/*
)
2009-06-17 00:22:09 +01:00
Ludovic Courtès
1ee2c72eaf
Import R6RS bytevectors and I/O ports from Guile-R6RS-Libs 0.2.
...
* README: Document dependency on GNU libunistring.
* benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add
`benchmark/bytevectors.bm'.
* configure.in: Make sure we have libunistring; update $LIBS.
* libguile.h: Include "bytevectors.h" and "r6rs-ports.h".
* libguile/Makefile.am (libguile_la_SOURCES): Add `bytevectors.c' and
`r6rs-ports.c'
(DOT_X_FILES): Add `bytevectors.x' and `r6rs-ports.x'.
(DOT_DOC_FILES): Add `bytevectors.doc' and `r6rs-ports.doc'.
(noinst_HEADERS): Add `ieee-754.h'.
(modinclude_HEADERS): Add `bytevectors.h' and `r6rs-ports.h'
* libguile/validate.h (SCM_VALIDATE_BYTEVECTOR): New macro.
* module/Makefile.am (SOURCES): Add $(RNRS_SOURCES).
(RNRS_SOURCES): New variable.
* test-suite/Makefile.am (SCM_TESTS): Add `bytevectors.test' and
`r6rs-ports.test'.
2009-05-28 23:12:01 +02:00
Ludovic Courtès
3e414c302f
Add new subr invocation benchmarks.
...
* benchmark-suite/benchmarks/subr.bm (hook1, hook3): New variables.
("subr invocation")("generic subr with rest arg", "generic subr with
rest arg and 3+ parameters"): New benchmarks.
("subr application")("generic subr with rest arg", "generic subr with
rest arg and 3+ parameters"): New benchmarks.
2009-03-08 16:38:51 +01:00
Ludovic Courtès
b786a5bbf8
Add subr invocation benchmark.
...
* benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add `subr.bm'.
2009-03-02 00:18:34 +01:00
Ludovic Courtès
aa51e98ac5
Add `uniform-vector-read!' benchmark.
2008-09-15 01:35:04 +01:00
Ludovic Courtès
6bb1dc98b9
Add `read' benchmark.
2008-04-17 10:24:10 +02:00
Dirk Herrmann
bde9d30b51
* benchmarks/0-reference.bm: Added as a reference benchmark to be
...
used to calibrate iteration counts.
* lib.scm: Added documentation. Added some initialization
messages.
(benchmark-time-base, benchmark-total-time, benchmark-user-time,
benchmark-system-time, benchmark-frame-time, benchmark-core-time,
benchmark-user-time\interpreter, benchmark-core-time\interpreter):
Exported.
(benchmark-time-base, time-base): Renamed time-base to
benchmark-time-base and introduced new time-base as a short-cut.
(total-time, benchmark-total-time, user-time, benchmark-user-time,
system-time, benchmark-system-time, frame-time,
benchmark-frame-time, benchmark-time, benchmark-core-time,
user-time\interpreter, benchmark-user-time\interpreter,
benchmark-time\interpreter, benchmark-core-time\interpreter,
print-result, print-user-result): Renamed <foo>-time to
benchmark-<foo>-time. Exceptions: benchmark-time and
benchmark-time\interpreter were renamed to benchmark-core-time and
benchmark-core-time\interpreter, respectively.
2002-07-21 10:22:54 +00:00
Dirk Herrmann
0237895653
* COPYING, README, Makefile.am, lib.scm, guile-benchmark: Copied
...
from the test-suite directory, renamed and adapted for use with
benchmarks.
* benchmarks/logand.bm, benchmarks/continuations.bm,
benchmarks/if.bm: Added as initial fairly stupid examples for
benchmarks.
2002-07-20 01:21:36 +00:00