#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/>