SUBSEQ is slow for many array types
Bug #902537 reported by
3b
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SUBSEQ on (unsigned-byte 8) arrays (and probably most array types) ends up going through the slow path of MAKE-ARRAY,
eventually calling %vector-
See discussion on #sbcl at http://
Png-read (https:/
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
commit fb2d28ba0ccab2a fb9e68b4de722ba 2179bcea8e
Author: Nikodemus Siivola <email address hidden>
Date: Sat Dec 10 19:07:53 2011 +0200
faster VECTOR-SUBSEQ*
Use a WITH-ARRAY-DATA to get to the underlying vector, and use a widetag
dispatch table to pick the correct SUBSEQ implementation for the underlying
type.
This is actually just as fast even for simple strings as STRING-SUBSEQ*, so
throw it out.
Also make inlining SUBSEQ conditional on SPEED > SPACE now that the
out-of-line version doesn't suck so much.
Fixes lp#902537.