Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Commit [260a91] Maximize Restore History

1.0.11.29: Faster CONCATENATE on strings

* Add a result-type dependent DEFTRANSFORM which open-codes directly
to calls to REPLACE.
* Constant-fold the array reads for constant string arguments
in the transform (intended as a slezy benchmark trick, but actually
it looks as if having some literal strings mixed in with
variables is pretty common in real world CONCATENATE uses).
* Add transforms for REPLACE on mixed SIMPLE-BASE-STRINGS and
(SIMPLE-ARRAY CHARACTER (*)) to support.
* Speeds up a simple benchmark of concatenating two three-character
strings by a factor of 15, and by a factor of 30 when the strings
are constant. For a more real-world example, doing DIRECTORY on
a large set of files speeds up by 25%.

Also:

* Fix a broken test (extra close paren) that was uncovered by
the write-no-partial-fasls change.

Juho Snellman Juho Snellman 2007-11-18

changed src/code/primordial-extensions.lisp
changed src/code/seq.lisp
changed src/compiler/seqtran.lisp
changed tests/fopcompiler.impure-cload.lisp
changed NEWS
changed version.lisp-expr
src/code/primordial-extensions.lisp Diff Switch to side-by-side view
Loading...
src/code/seq.lisp Diff Switch to side-by-side view
Loading...
src/compiler/seqtran.lisp Diff Switch to side-by-side view
Loading...
tests/fopcompiler.impure-cload.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...