[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Benchmarking queries
From: |
Neil Jerram |
Subject: |
Benchmarking queries |
Date: |
Sat, 19 Sep 2009 01:59:09 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
I had to make some changes to the benchmark code, to persuade
benchmark-guile to run to completion within a reasonable time. Full
patch is below for review; there are 3 particular points/queries.
1. The files with an Emacs "coding: latin-1" comment can only be
compiled if I add an extra comment "coding: latin1". In other words it
seems that Guile (=> libunistring) only understands latin1 without the
hyphen. Is this expected, and is there anything we can do about it?
2. I had to divide the number of iterations for most of the read.bm
benchmarks by 10. Has the reader become massively slower than when
read.bm was first written?
3. In `(defmacro benchmark ...)' in benchmark/lib.scm I had to change
`,run-benchmark' to `run-benchmark'. This makes sense, and the `,xxx'
trick was always a bit of a hack (for when we did not have fully
hygienic macros) - but I'm wondering if there is now any nice way of
writing a defmacro like this - i.e. which uses a procedure defined in
the same module - that will work for both 1.8 and 1.9/2.0 Guile.
One solution is to export the procedure.
Another could be to use eval-case/eval-when to evaluate the required
definition during compilation, or to call defmacro differently at
compile and load time. But I see that we only have eval-case in 1.8,
and only eval-when in 1.9. Should we add eval-case to 1.9, so that we
have a mechanism for addressing cases like this where the 1.8 and
1.9/2.0 code has to be different?
Regards,
Neil
0001-Benchmarking.patch
Description: Text Data
- Benchmarking queries,
Neil Jerram <=