[parrot/parrot] a563e3: [core] Optimize utf8_substr. Do not use the utf8 i...

GitHub noreply at github.com
Mon Oct 13 14:29:18 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot
  Commit: a563e376c59a6a23c9cf42897e0b67ee432dae77
      https://github.com/parrot/parrot/commit/a563e376c59a6a23c9cf42897e0b67ee432dae77
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M src/string/encoding/shared.c
    M src/string/encoding/unicode.h
    M src/string/encoding/utf8.c

  Log Message:
  -----------
  [core] Optimize utf8_substr. Do not use the utf8 iterator

Use a new utf8_offset function instead. This can be optimized
further if we can guarantee word alignment of the buffers.
Add a special utf8 vtable method for substr.

This is a hot item for perl6, see GH #1097
Timings: from 440s to 388s for the "Stage parse" in perl6.
However without utf8 strings at all (my constant π := pi)
the parse stage is still only 173s.

Do not export the Parrot_utf8skip table anymore, not used
by parrot, nqp, perl6.




More information about the parrot-commits mailing list