I have been writing a set of several parsers (Shapefile, Shapefile DBF, KML, CSV, and Tab Delimited) that work for both ESRI and Google. The parsers format the data and pass it to an overlays factory class. The factory class has the map you are working with and also a set of default shape builder classes, that know how to build the appropriate shape for your map. This is the setup that I used to test the speed of loading points into both ESRI and Google maps.
First, I tested loading a kml with 1297 points. To get a baseline I commented out
the call to the factory class and got an average parse time of 0.178. I have subtracted this time out of the times below.
Google's default Marker is slower, so in all fairness I set the marker options to
{ hasShadow: false , radius: 1 , icon : "none" }, this dramatically increased the load times for google.
Default Google |
Modified Google |
ESRI |
3.697 |
1.462 |
0.416 |
3.651 |
1.447 |
0.384 |
3.665 |
1.462 |
0.385 |
As you can see the default ESRI point is considerably faster (8-9 times) than the default Google point. If you compare more the ESRI point to the modified Google point it is still faster (3-4 times).
I then ran the same tests for loading a shapefile with 1297 points. The baseline time for the shpfile parser was 0.11 (however the dbf took 4.01 seconds) and has been subtracted out of the times below.
Default Google |
Modified Google |
ESRI |
3.947 |
1.703 |
0.562 |
3.838 |
1.577 |
0.468 |
3.796 |
1.656 |
0.453 |
The times are essentially the same as those in the last test. One interesting note though is that reading data from the dbf file makes using a shapefile prohibitevly slow as the amount of data grows.
So I would suggest parsing kml and putting it on a ESRI map for your best results.