Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#187 closed enhancement (fixed)

SRFI-4 vector operations should be provided as ##core#inline calls

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: minor Milestone:
Component: core libraries Version: 4.5.x
Keywords: srfi-4 Cc:
Estimated difficulty:

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.

Change History (5)

comment:1 Changed 13 years ago by felix winkelmann

Milestone: 4.5.0

comment:2 Changed 13 years ago by felix winkelmann

Owner: set to felix winkelmann
Status: newassigned

comment:3 Changed 13 years ago by felix winkelmann

Milestone: 4.6.0
Version: 4.4.x4.5.x

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)

comment:4 Changed 12 years ago by felix winkelmann

Resolution: fixed
Status: assignedclosed

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.

comment:5 Changed 12 years ago by felix winkelmann

Milestone: 4.6.0

Milestone 4.6.0 deleted

Note: See TracTickets for help on using tickets.