Soon any string access e.g. str[42] or str.charCodeAt(11) or str.slice(…) and even str.length requires (internally) iterating through the whole string up to the referenced points. (This is because there is no simple linear-type mapping between our internal representation and the UCS-2 representation we must expose.)
See notes preceding #542 (comment) as well as a bunch of discussion on #543 for tentative plan/ideas here.