IMO the biggest benefits that OpenCL (or some other vector-savvy multiprocessing interface) could bring to WebKit would be in the following areas:
  • Reading graphics files (e.g. jpg)
  • Encryption/Decryption (TLS, SSL)
  • Compositing graphics in software (e.g. alpha blends)
  • Implementing runtime graphics decompression (e.g. blitting from DXT or RLE or even possibly directly from .jpg/.png)
  • Improving special cases of existing _javascript_ execution
  • Improving video codec performance (for video plugins)
I don't see OpenCL easily improving the following areas, though there are ways to throw general threads at these problems:
  • Network transport
  • HTML/XML/CSS parsing
  • Layout / Font processing, at least at the low level
  • General _javascript_ execution, JITing _javascript_
  • General Flash script execution
  • AJAX related functionality
On Windows you can achieve significantly higher network throughput by splitting the work across multiple threads, due to how the network stack works. If you needed to read 100 files from a server, you'd get better performance by splitting it into 4 pipelined HTTP connections on 4 threads. This is true even if you don't have multiple CPUs.

It's not easy to parallelize things like text parsing and DOM processing. There's a reason why a lot of multiprocessing research focuses on the success cases of things like DSP, matrix math, and naturally branch-less algorithms.

Paul


Hi,
I wonder if it is planned to rewrite WebKit in OpenCL. I'm not sure but theoretically we could expect a further big improvement in speed, both in rendering HTML and _javascript_. Am I wrong?

Angelo
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to