At Thu, 29 Sep 2011 12:25:16 +0200, "Jos Koot" wrote:

> In my case I have a case form which dispatches on a character, 86 different > ones. Therefore I can dispatch by means of a vector. However, almost every > character has its own clause and therefore dispatching on the index of the
> character would give no speed up.


Do I understand correctly that this jump-table-like vector-of-closures is not fast enough?

If this were assembler for a conventional architecture, and you were doing a DFA-like lexer, I'd think that a jump table would be quite fast (but with some bloated constant for code size).

I wonder whether there's an optimization the compiler/JIT can make that would be a big help, perhaps with additional hints from the Racket code? And if so, would that optimization likely be useful for anything other than optimizing "case" of characters?

--
http://www.neilvandyke.org/
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to