[MacRuby] #1077: Performance of String
MacRuby
ruby-noreply at macosforge.org
Tue Jan 4 23:17:15 PST 2011
#1077: Performance of String
----------------------------------+-----------------------------------------
Reporter: yasuimao@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone: MacRuby 1.0
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Comment(by lsansonetti@…):
After investigating with Watson, we realized that this test will behave
slower than 0.8 on UTF-8 files containing non-ASCII characters.
Indeed, if the file contains unicode (multibyte) characters, MacRuby
cannot identify string lengths and boundaries in a constant time fashion,
which results in performance loss.
0.8 used to automatically convert these strings as UTF-16 internally for
better performance, but in trunk, we removed the unicode datastore (for
many other reasons, including multi-threading problems).
We are discussing about adding an optimization in trunk, basically caching
the boundaries. In the meantime, try forcing your file data object as
UTF-16, using #encode, and see if you get the same performance numbers as
0.8.
--
Ticket URL: <http://www.macruby.org/trac/ticket/1077#comment:6>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list