[webkit-dev] Single-threaded database/storage solution
yong.li at torchmobile.com
Tue Aug 18 10:44:05 PDT 2009
The current webkit database/storage is implemented with creating new
threads. But not all platform/products support mulple-threading. Also,
threading can be expensive on some platforms. Except this database/storage
implementation, WEBKIT platform-crossing code can build and run in a single
thread. WEBKIT generally uses WebCore::Timer To avoid blocking UI. Another
way to avoid blocking UI is to create a separate thread for UI, and WEBKIT
code can still run in a single-thread. Now it's broken by database/storage
code, which forces to use multiple threads for WEBKIT. In our WINCE port, we
have implemented a single-threaded solution with WebCore::Timer. The patch
has been post to https://bugs.webkit.org/show_bug.cgi?id=28019 . The patch
is a bit out-of-date, due to changes in upstream. New patch will come soon.
Please give some comments if you're interested.
There's a macro ENABLE_JSC_MULTIPLE_THREADS used in JSC. Probably there
should also be a macro ENABLE_WEBCORE_MULTIPLE_THREADS. Or just use
ENABLE_MULTIPLE_THREADS for all multi-threading code.
Best regards to everyone,
More information about the webkit-dev