Comment #8 on issue 3480 by [email protected]: V8 Array.join performance
regression
http://code.google.com/p/v8/issues/detail?id=3480
So, the quickfix in #7 would indeed fix the issue, but it's unclear whether
that actually makes sense, aside from fixing this specific micro-benchmark.
- External strings are an optimization for embedder (blink) in order to
save memory and the overhead of copying string content from V8's heap every
time the string is accessed.
- External strings have a different layout than V8's sequential strings.
Many fast paths don't deal with external strings, so once a string is
externalized, we stray from fast path.
So basically we are trading one optimization against another. Possible
solutions could be:
- Add external string handling to all fast paths. That would however make
them slower and more bloated.
- Don't externalize internalized (canonical) strings at all, since
internalizing a string is an indicator that we want to handle them quickly.
That could cause regressions in many DOM benchmarks though, but I'm not
sure which ones.
- Do nothing. It's just a micro-benchmark that happens to hit a slow case.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.