Summary
SRFI-4 vector operations should be provided as ##core#inline calls
Metadata
- Id: efaa2229da8327c911cd3e6df7f982f54ccd7fd2
- Trac id: 187
- Type: enhancement
- Reporter: felix
- Owner: felix
- Cc:
- Status: closed
- Component: core libraries
- Estimated difficulty:
- Resolution: fixed
- Priority: minor
- Milestone:
- Version: 4.5.x
- Changetime: 2011-04-04 08:31:00 UTC
- Created: 2010-03-17 16:42:22 UTC
- Keywords: srfi-4
Description
Safe accessors (and length) should be implemented as `C_inline` functions in `chicken.h`, since the accessors in `srfi-4.scm` are rather slow.
Changes and comments
[2010-04-23 14:46:37 UTC] felix removed milestone 4.5.0
[2010-06-12 15:20:55 UTC] felix changed status from new to assigned
[2010-06-12 15:20:55 UTC] felix set owner to felix
[2010-06-12 15:35:33 UTC] felix changed version from 4.4.x to 4.5.x
[2010-06-12 15:35:33 UTC] felix set milestone to 4.6.0
[2010-06-12 15:35:33 UTC] felix wrote:
Reminders:
1) Provide safe rewrite-rules the expand into inline calls like:
(##core#inline "C_i_u8vector_length" X 'u8vector) ; need to pass sym for checking structure tag
1) Use macros to generate `XXXvector-length/-ref/-set!` instead of higher order functions, and use safe inline routines (like the one above)
[2010-06-15 14:53:35 UTC] felix wrote:
Since quite a lot of checking has to be done, it appears to be ok to keep the functions as normal Scheme code instead of implementing inline routines on the C level. `srfi-4.scm` has been heavily cleaned up an tuned and should be efficient enough (or at least more efficient) now.
[2010-06-15 14:53:35 UTC] felix changed status from assigned to closed
[2010-06-15 14:53:35 UTC] felix set resolution to fixed
[2011-04-04 08:31:00 UTC] felix removed milestone 4.6.0
[2011-04-04 08:31:00 UTC] felix wrote:
Milestone 4.6.0 deleted