Avoid calling SUBTYPEP in ANSI-STREAM-{READ,WRITE}-SEQUENCE
commit9933b3078f35be0198dc37d1b0d914797c5802d7
authorJan Moringen <jmoringe@techfak.uni-bielefeld.de>
Sun, 15 Nov 2015 14:38:14 +0000 (15 15:38 +0100)
committerJan Moringen <jmoringe@techfak.uni-bielefeld.de>
Sun, 29 Nov 2015 00:16:32 +0000 (29 01:16 +0100)
tree1f6885a0be3b5a811c902dc81033f09137dfd96d
parent9d81610e5fbdb506f905d3c235c8f665a2bd15bd
Avoid calling SUBTYPEP in ANSI-STREAM-{READ,WRITE}-SEQUENCE

* For short sequences, the SUBTYPEP call could easily be responsible for
  30 % of the time spent in {READ,WRITE}-SEQUENCE.

* We avoid this by, when the stream is created, coarsely characterizing
  the stream element-type into the four categories that matter for
  {READ,WRITE}-SEQUENCE: CHARACTER subtype, [UN]SIGNED-BYTE subtype or
  bivalent.
NEWS
src/code/fd-stream.lisp
src/code/stream.lisp