I’ve been using Google Gears rather intensively (see Gears In Motion) during the last few months.
I started building an interface that uses all the components of Google Gears (Local Database, Local Server and WorkerPool), and implemented a synchronization engine. The result was a much more responsive offline application with many features that couldn’t have been easily implemented without the local database, and that works great !
Until… one of my coworker tried to import 20.000 records: It took 40 minutes to execute the SQL INSERT statements ! (approx. 120ms/insertion)
We then decided to write this 100 insertions test, which revealed to have surprising results :
- On MacOS 10.4.11: 2.6ms by insertion (approx. 385 insertions/second)
- On Windows XP and Vista: 107ms by insertion (approx. 9 insertions/second)
Please run the test and post your results as a comment indicating your OS/Browser version/Google Gears version.
Any idea why it is so slow on Windows ?
Hi there, I’m pretty sorry to comment on a seriously old post, but i you are the only source i found after googling about the slow inserts in Windows.
I’ve been developing my Gears app on linux + FF2,3 but when i had to test my stuff on windows i was surprised of the extreme slow speeds on inserts, do you have any idea why? and if you did find a solution i would love to hear it.
Use transactions !
It is a LOT faster…
I should update this post.
Google Gears Performance tests
Test 100 insertions
6026ms for 100 insertions, 60.26ms/insert
Test 100 insertions in a worker
7815ms for 100 insertions, 78.15ms/insert
using firefox 3 in windows
1601ms for 100 insertions, 16.01ms/insert
WorkerPool:
1310ms for 100 insertions, 13.1ms/insert
Gears: 0.5.25.0;official;opt;win32;npapi
WindowsXP, Google Chrome.
Yep, using transactions speeds inserts up a lot.