On Mon, Jan 7, 2019 at 6:21 AM John Cowan <xxxxxx@ccil.org> wrote:
 
Cond-expand and macros were designed for that job.  I'm going to be implementing
a library in the future that can use either bytevectors, u8vectors, or u1vectors through
exactly those means.  Bytevectors and u8vectors, which hopefully will be the
same thing on most Schemes (Guile is an exception), use 8 times as much
space, but they are more efficient to read and write one element at a time
than u1vectors are, at least on normal architectures.

I don't understand this claim.  Could you elaborate?  Caching effects should make the more compact encoding dramatically more efficient, shouldn't they?