Bug #622 testing and performance issues

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug #622 testing and performance issues

Stephen Woodbridge
Christopher,

Here is some profiling output on on the various requests that were
giving me severe performance problems. I ran these against tonight's SVN
revision 2997. It looks like you added the code to delete the existing
features on each new request but I'm still seeing really bad performance
and I thought having these profiles might help see the problem that I am
having. I'm running FF 2.0.0.3 on Window 2000 box.

Thanks again and I hope this helps,
   -Steve

Steps:

1) Load http://imaptools.com/ld-test.html
Turn on profiling
Click Algers, DZ link
Profile output:

> parseAttributes 1400 59.62% 968.75ms 1109.375ms 0.792ms 0ms 343.75ms OpenLayers.js (line 678)
> nodeTypeCompare 100 10.58% 171.875ms 171.875ms 1.719ms 0ms 15.625ms OpenLayers.js (line 532)
> getImagesLocation 1502 5.77% 93.75ms 187.5ms 0.125ms 0ms 46.875ms OpenLayers.js (line 115)
> calculateRelativePosition 100 3.85% 62.5ms 328.125ms 3.281ms 0ms 15.625ms OpenLayers.js (line 352)
> reprojectNode 100 2.88% 46.875ms 46.875ms 0.469ms 0ms 15.625ms OpenLayers.js (line 528)
> applyDefaults 15 1.92% 31.25ms 31.25ms 2.083ms 0ms 15.625ms OpenLayers.js (line 111)
> handleBrowserEvent 42 1.92% 31.25ms 31.25ms 0.744ms 0ms 15.625ms OpenLayers.js (line 341)
> drawGeometryNode 100 1.92% 31.25ms 250ms 2.5ms 0ms 15.625ms OpenLayers.js (line 353)
> getXmlNodeValue 1500 1.92% 31.25ms 31.25ms 0.021ms 0ms 15.625ms OpenLayers.js (line 121)
> getXmlNodeValue 1500 0.96% 15.625ms 140.625ms 0.094ms 0ms 15.625ms OpenLayers.js (line 121)
> setSize 100 0.96% 15.625ms 15.625ms 0.156ms 0ms 15.625ms OpenLayers.js (line 527)
> addFeatures 1 0.96% 15.625ms 359.375ms 359.375ms 359.375ms 359.375ms OpenLayers.js (line 648)
> initialize 50 0.96% 15.625ms 31.25ms 0.625ms 0ms 15.625ms OpenLayers.js (line 614)
> parseFeature 50 0.96% 15.625ms 1171.875ms 23.438ms 0ms 343.75ms OpenLayers.js (line 670)
> emptyFunction 1 0.96% 15.625ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 196)
> destroyPopup 50 0.96% 15.625ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 572)
> setMap 1 0.96% 15.625ms 1187.5ms 1187.5ms 1187.5ms 1187.5ms OpenLayers.js (line 665)
> onFeatureInsert 50 0.96% 15.625ms 203.125ms 4.063ms 0ms 15.625ms ld-testv.html# (line 97)
> dispatchException 503 0.96% 15.625ms 15.625ms 0.031ms 0ms 15.625ms OpenLayers.js (line 212)
> display 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> handleBrowserEvent 42 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 341)
> onScreen 100 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 602)
> calculateRelativePosition 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 352)
> getScaleFromResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 133)
> drawPoint 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 354)
> getURL 6 0% 0ms 31.25ms 5.208ms 0ms 15.625ms OpenLayers.js (line 825)
> addResults 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 565)
> updateScale 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 316)
> getResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 592)
> initialize 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 599)
> assignRenderer 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 646)
> getArgs 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 128)
> setMap 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 820)
> containsLonLat 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 64)
> nullHandler 1 0% 0ms 62.5ms 62.5ms 62.5ms 62.5ms OpenLayers.js (line 193)
> (no name) 1 0% 0ms 0ms 0ms 0ms 0ms ld-testv.html# (line 113)
> initialize 2 0% 0ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 357)
> leaveMode 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 372)
> containsBounds 8 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 67)
> parseXMLString 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 195)
> rectDblClick 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 386)
> isSuitableOverview 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 388)
> emptyFunction 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> updateMapToRect 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 392)
> getMapBoundsFromRectBounds 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 393)
> add 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 54)
> initialize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 56)
> getStyle 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 71)
> emptyFunction 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 196)
> getSize 25 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 488)
> getCurrentSize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 491)
> emptyFunction 1 0% 0ms 46.875ms 46.875ms 46.875ms 46.875ms OpenLayers.js (line 196)
> getCenter 20 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> getCenter 2 0% 0ms 93.75ms 46.875ms 0ms 93.75ms OpenLayers.js (line 496)
> bind 13 0% 0ms 1562.5ms 120.192ms 0ms 1562.5ms OpenLayers.js (line 80)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> centerLayerContainer 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> checkImgURL 1 0% 0ms 62.5ms 62.5ms 62.5ms 62.5ms OpenLayers.js (line 564)
> registerEvents 101 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> draw 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 566)
> addOptions 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 579)
> getResolution 34 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 592)
> remove 54 0% 0ms 15.625ms 0.289ms 0ms 15.625ms OpenLayers.js (line 338)
> getViewPortPxFromLonLat 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 594)
> getWidth 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> getFullRequestString 7 0% 0ms 31.25ms 4.464ms 0ms 15.625ms OpenLayers.js (line 637)
> removeBox 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 344)
> onFeatureInsert 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 656)
> containsLonLat 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 64)
> destroy 1 0% 0ms 62.5ms 62.5ms 62.5ms 62.5ms OpenLayers.js (line 779)
> getFullRequestString 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 786)
> setMap 2 0% 0ms 31.25ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 820)
> initialize 22 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 56)
> zoomto 1 0% 0ms 93.75ms 93.75ms 93.75ms 93.75ms ld-testv.html# (line 50)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> initialize 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> intersectsBounds 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 66)
> clear 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 358)
> parseXMLString 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 195)
> defaultMouseOut 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 376)
> initialize 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 56)
> isSuitableOverview 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 388)
> parseXMLString 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 194)
> updateRectToMap 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 391)
> determineQuadrant 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 70)
> updateMapToRect 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 392)
> getMaxExtent 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 509)
> moveZoomBar 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 401)
> isPrototype 230 0% 0ms 93.75ms 0.408ms 0ms 62.5ms OpenLayers.js (line 50)
> updateSize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 489)
> emptyFunction 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> calculateBounds 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 493)
> camelize 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 76)
> getCenter 38 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> dispatch 12 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> centerLayerContainer 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> fromString 22 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 57)
> getProjection 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 507)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> bind 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 79)
> getNumZoomLevels 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 510)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> getExtent 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 511)
> getResolution 34 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 512)
> responseIsSuccess 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 199)
> getScale 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 513)
> getZoomForResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 515)
> initialize 27 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> fromString 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 57)
> bindAsEventListener 46 0% 0ms 31.25ms 0.679ms 0ms 15.625ms OpenLayers.js (line 81)
> initialize 1 0% 0ms 62.5ms 62.5ms 62.5ms 62.5ms OpenLayers.js (line 200)
> zoomTo 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 516)
> getViewPortPxFromLonLat 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 517)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 201)
> getLonLatFromPixel 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 518)
> getLayerPxFromViewPortPx 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 519)
> bindAsEventListener 155 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 81)
> initialize 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 200)
> getLonLatFromLayerPx 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 520)
> setRequestHeaders 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 202)
> destroy 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 526)
> checkImgURL 1 0% 0ms 62.5ms 62.5ms 62.5ms 62.5ms OpenLayers.js (line 564)
> registerEvents 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> checkImgURL 1 0% 0ms 1562.5ms 1562.5ms 1562.5ms 1562.5ms OpenLayers.js (line 564)
> upperCaseObject 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 110)
> redraw 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 292)
> getWidth 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> toBBOX 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 59)
> extend 1416 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 85)
> onStateChange 11 0% 0ms 1562.5ms 142.045ms 0ms 1562.5ms OpenLayers.js (line 206)
> createNode 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 531)
> display 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> trigger 21 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 317)
> getResolution 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 592)
> getLonLatFromViewPortPx 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 593)
> initialize 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> nodeTypeCompare 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 532)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 342)
> header 12 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 207)
> nodeTypeCompare 100 0% 0ms 171.875ms 1.719ms 0ms 15.625ms OpenLayers.js (line 532)
> removeBox 13 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 344)
> modifyDOMElement 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 88)
> header 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 207)
> draw 2 0% 0ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 557)
> parseCoords 50 0% 0ms 46.875ms 0.938ms 0ms 15.625ms OpenLayers.js (line 682)
> calculateRelativePosition 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 352)
> createUniqueID 101 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 131)
> clear 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 561)
> onload 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 824)
> header 11 0% 0ms 1562.5ms 142.045ms 0ms 1562.5ms OpenLayers.js (line 207)
> clear 2 0% 0ms 31.25ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 561)
> getURL 6 0% 0ms 31.25ms 5.208ms 0ms 15.625ms OpenLayers.js (line 825)
> initialize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 53)
> nodeFactory 100 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 356)
> safeStopPropagation 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 134)
> onclick 1 0% 0ms 93.75ms 93.75ms 93.75ms 93.75ms ld-testv.html# (line 1)
> initialize 56 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 53)
> initialize 25 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> getWidth 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> onImageLoad 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 102)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> GET http://imaptools.com/cgi-bin/mapserv-4.10?map=%2Fu%2Fdata%2Fmaps%2Fld-wfs.map&typename=PointsOfInterest&maxfeatures=50&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=3.043232%2C36.751404%2C3.076568%2C36.777596 (1656ms)

2) Turn on profiling
    Click Zoom +
Profile results:

> Profile (4078.125ms, 13008 calls)
> Function
>
> Calls
>
> Percent
>
> Own Time
>
> Time
>
> Avg
>
> Min
>
> Max
>
> File
> nodeTypeCompare 150 30.27% 1234.375ms 1234.375ms 8.229ms 0ms 31.25ms OpenLayers.js (line 532)
> parseAttributes 1400 28.35% 1156.25ms 1343.75ms 0.96ms 0ms 312.5ms OpenLayers.js (line 678)
> destroy 1 24.52% 1000ms 1000ms 1000ms 1000ms 1000ms OpenLayers.js (line 526)
> getXmlNodeValue 1500 3.07% 125ms 125ms 0.083ms 0ms 15.625ms OpenLayers.js (line 121)
> calculateRelativePosition 100 1.92% 78.125ms 328.125ms 3.281ms 0ms 15.625ms OpenLayers.js (line 352)
> reprojectNode 150 1.53% 62.5ms 62.5ms 0.417ms 0ms 15.625ms OpenLayers.js (line 528)
> handleBrowserEvent 195 1.15% 46.875ms 46.875ms 0.24ms 0ms 15.625ms OpenLayers.js (line 341)
> dispatchException 503 1.15% 46.875ms 46.875ms 0.093ms 0ms 15.625ms OpenLayers.js (line 212)
> bindAsEventListener 202 1.15% 46.875ms 46.875ms 0.232ms 0ms 15.625ms OpenLayers.js (line 81)
> getImagesLocation 1502 1.15% 46.875ms 203.125ms 0.135ms 0ms 15.625ms OpenLayers.js (line 115)
> isPrototype 447 0.77% 31.25ms 78.125ms 0.175ms 0ms 31.25ms OpenLayers.js (line 50)
> getXmlNodeValue 1500 0.38% 15.625ms 187.5ms 0.125ms 0ms 15.625ms OpenLayers.js (line 121)
> createNode 50 0.38% 15.625ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 531)
> drawPoint 80 0.38% 15.625ms 15.625ms 0.195ms 0ms 15.625ms OpenLayers.js (line 354)
> draw 1 0.38% 15.625ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 557)
> calculateRelativePosition 2 0.38% 15.625ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 352)
> parseXMLString 1 0.38% 15.625ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 195)
> getSize 65 0.38% 15.625ms 15.625ms 0.24ms 0ms 15.625ms OpenLayers.js (line 488)
> extend 1410 0.38% 15.625ms 15.625ms 0.011ms 0ms 15.625ms OpenLayers.js (line 85)
> drawGeometryNode 150 0.38% 15.625ms 1312.5ms 8.75ms 0ms 31.25ms OpenLayers.js (line 353)
> handleBrowserEvent 195 0.38% 15.625ms 109.375ms 0.561ms 0ms 15.625ms OpenLayers.js (line 341)
> initialize 50 0.38% 15.625ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 599)
> parseFeature 50 0.38% 15.625ms 1437.5ms 28.75ms 0ms 312.5ms OpenLayers.js (line 670)
> onFeatureInsert 50 0.38% 15.625ms 203.125ms 4.063ms 0ms 15.625ms ld-testv.html# (line 97)
> checkImgURL 1 0% 0ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 564)
> display 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> display 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> trigger 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 317)
> draw 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 566)
> createUniqueID 101 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 131)
> getViewPortPxFromLonLat 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 594)
> onScreen 100 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 602)
> initialize 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 614)
> removeFeatures 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 653)
> initialize 60 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 56)
> getStyle 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 71)
> parseXMLString 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 195)
> setMap 1 0% 0ms 1437.5ms 1437.5ms 1437.5ms 1437.5ms OpenLayers.js (line 665)
> getFullRequestString 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 786)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> getURL 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 825)
> initialize 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 357)
> bind 13 0% 0ms 1812.5ms 139.423ms 0ms 1812.5ms OpenLayers.js (line 80)
> emptyFunction 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 196)
> leaveMode 80 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 372)
> defaultClick 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 377)
> emptyFunction 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> isSuitableOverview 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 388)
> updateMapToRect 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 392)
> add 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 54)
> fromString 15 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 57)
> bindAsEventListener 188 0% 0ms 2296.875ms 12.217ms 0ms 2187.5ms OpenLayers.js (line 81)
> dispatch 12 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> getMapBoundsFromRectBounds 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 393)
> passEventToSlider 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 398)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> moveZoomBar 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 401)
> clear 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 561)
> draw 1 0% 0ms 2187.5ms 2187.5ms 2187.5ms 2187.5ms OpenLayers.js (line 300)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> checkImgURL 1 0% 0ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 564)
> addResults 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 565)
> remove 201 0% 0ms 62.5ms 0.311ms 0ms 15.625ms OpenLayers.js (line 338)
> addOptions 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 579)
> intersectsBounds 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 66)
> getResolution 9 0% 0ms 15.625ms 1.736ms 0ms 15.625ms OpenLayers.js (line 592)
> removeBox 80 0% 0ms 15.625ms 0.195ms 0ms 15.625ms OpenLayers.js (line 344)
> destroy 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 600)
> safeStopPropagation 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 134)
> assignRenderer 1 0% 0ms 2093.75ms 2093.75ms 2093.75ms 2093.75ms OpenLayers.js (line 646)
> addFeatures 1 0% 0ms 359.375ms 359.375ms 359.375ms 359.375ms OpenLayers.js (line 648)
> onFeatureInsert 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 656)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 53)
> parseCoords 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 682)
> nodeFactory 100 0% 0ms 31.25ms 0.313ms 0ms 15.625ms OpenLayers.js (line 356)
> onload 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 824)
> parseXMLString 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 194)
> getURL 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 825)
> emptyFunction 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> clear 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 358)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 56)
> defaultMouseOut 9 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 376)
> emptyFunction 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> rectDblClick 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 386)
> bind 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 79)
> updateRectToMap 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 391)
> emptyFunction 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 196)
> updateMapToRect 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 392)
> passEventToSlider 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 398)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> getCurrentSize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 491)
> calculateBounds 9 0% 0ms 15.625ms 1.736ms 0ms 15.625ms OpenLayers.js (line 493)
> responseIsSuccess 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 199)
> getCenter 62 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> updateSize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 489)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> fromString 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 57)
> getCenter 75 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> initialize 1 0% 0ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 200)
> getCenter 1 0% 0ms 2187.5ms 2187.5ms 2187.5ms 2187.5ms OpenLayers.js (line 496)
> centerLayerContainer 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> removeItem 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 86)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 201)
> centerLayerContainer 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> getProjection 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 507)
> initialize 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 200)
> getNumZoomLevels 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 510)
> getExtent 9 0% 0ms 15.625ms 1.736ms 0ms 15.625ms OpenLayers.js (line 511)
> initialize 66 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> toBBOX 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 59)
> modifyDOMElement 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 88)
> setRequestHeaders 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 202)
> getResolution 71 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 512)
> getScale 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 513)
> onStateChange 11 0% 0ms 1812.5ms 164.773ms 0ms 1812.5ms OpenLayers.js (line 206)
> zoomTo 1 0% 0ms 2187.5ms 2187.5ms 2187.5ms 2187.5ms OpenLayers.js (line 516)
> zoomTo 1 0% 0ms 2187.5ms 2187.5ms 2187.5ms 2187.5ms OpenLayers.js (line 516)
> onImageLoad 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 102)
> header 12 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 207)
> zoomTo 53 0% 0ms 31.25ms 0.59ms 0ms 15.625ms OpenLayers.js (line 516)
> draw 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 300)
> clear 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 561)
> getViewPortPxFromLonLat 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 517)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> updateScale 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 316)
> getWidth 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> header 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 207)
> getLonLatFromPixel 53 0% 0ms 31.25ms 0.59ms 0ms 15.625ms OpenLayers.js (line 518)
> checkImgURL 1 0% 0ms 1812.5ms 1812.5ms 1812.5ms 1812.5ms OpenLayers.js (line 564)
> trigger 95 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 317)
> draw 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 566)
> getArgs 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 128)
> destroyPopup 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 572)
> initialize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> getLayerPxFromViewPortPx 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 519)
> getResolution 71 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 592)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 342)
> getLonLatFromViewPortPx 53 0% 0ms 31.25ms 0.59ms 0ms 15.625ms OpenLayers.js (line 593)
> getScaleFromResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 133)
> getWidth 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> upperCaseObject 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 110)
> header 11 0% 0ms 1812.5ms 164.773ms 0ms 1812.5ms OpenLayers.js (line 207)
> getLonLatFromLayerPx 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 520)
> removeBox 80 0% 0ms 15.625ms 0.195ms 0ms 15.625ms OpenLayers.js (line 344)
> containsBounds 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 67)
> getFullRequestString 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 637)
> calculateRelativePosition 1 0% 0ms 1093.75ms 1093.75ms 1093.75ms 1093.75ms OpenLayers.js (line 352)
> nullHandler 1 0% 0ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 193)
> destroyFeatures 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 654)
> setSize 100 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 527)
> applyDefaults 9 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 111)
> registerEvents 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> reprojectNode 50 0% 0ms 1093.75ms 21.875ms 15.625ms 31.25ms OpenLayers.js (line 528)
> eraseGeometry 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 355)
> destroy 1 0% 0ms 2156.25ms 2156.25ms 2156.25ms 2156.25ms OpenLayers.js (line 779)
> setMap 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 820)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> setMap 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 820)
> camelize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 76)
> initialize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> registerEvents 151 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> nodeTypeCompare 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 532)
> (no name) 1 0% 0ms 0ms 0ms 0ms 0ms ld-testv.html# (line 113)
> initialize 203 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 53)
> initialize 65 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> getWidth 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> redraw 80 0% 0ms 31.25ms 0.391ms 0ms 15.625ms OpenLayers.js (line 292)
> nodeTypeCompare 150 0% 0ms 1234.375ms 8.229ms 0ms 31.25ms OpenLayers.js (line 532)
> GET http://imaptools.com/cgi-bin/mapserv-4.10?map=%2Fu%2Fdata%2Fmaps%2Fld-wfs.map&typename=PointsOfInterest&maxfeatures=50&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=3.048788%2C36.755769%2C3.071012%2C36.773231 (1922ms)

3) Turn on Profiling
    click Zoom + (again)
Profile results:

> Profile (181015.625ms, 9453 calls)
> Function
>
> Calls
>
> Percent
>
> Own Time
>
> Time
>
> Avg
>
> Min
>
> Max
>
> File
> destroy 1 98.73% 178718.75ms 178718.75ms 178718.75ms 178718.75ms 178718.75ms OpenLayers.js (line 526)
> nodeTypeCompare 128 0.54% 968.75ms 968.75ms 7.568ms 0ms 31.25ms OpenLayers.js (line 532)
> parseAttributes 1092 0.49% 890.625ms 953.125ms 0.873ms 0ms 296.875ms OpenLayers.js (line 678)
> calculateRelativePosition 78 0.06% 109.375ms 265.625ms 3.405ms 0ms 15.625ms OpenLayers.js (line 352)
> reprojectNode 128 0.04% 78.125ms 78.125ms 0.61ms 0ms 15.625ms OpenLayers.js (line 528)
> getXmlNodeValue 1170 0.03% 46.875ms 46.875ms 0.04ms 0ms 15.625ms OpenLayers.js (line 121)
> bindAsEventListener 169 0.02% 31.25ms 31.25ms 0.185ms 0ms 15.625ms OpenLayers.js (line 81)
> getImagesLocation 1172 0.02% 31.25ms 125ms 0.107ms 0ms 31.25ms OpenLayers.js (line 115)
> handleBrowserEvent 63 0.01% 15.625ms 15.625ms 0.248ms 0ms 15.625ms OpenLayers.js (line 341)
> initialize 39 0.01% 15.625ms 15.625ms 0.401ms 0ms 15.625ms OpenLayers.js (line 614)
> dispatchException 393 0.01% 15.625ms 15.625ms 0.04ms 0ms 15.625ms OpenLayers.js (line 212)
> isPrototype 241 0.01% 15.625ms 109.375ms 0.454ms 0ms 46.875ms OpenLayers.js (line 50)
> fromString 15 0.01% 15.625ms 15.625ms 1.042ms 0ms 15.625ms OpenLayers.js (line 57)
> addFeatures 1 0.01% 15.625ms 281.25ms 281.25ms 281.25ms 281.25ms OpenLayers.js (line 648)
> calculateRelativePosition 2 0.01% 15.625ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 352)
> initialize 34 0.01% 15.625ms 15.625ms 0.46ms 0ms 15.625ms OpenLayers.js (line 56)
> redraw 30 0.01% 15.625ms 31.25ms 1.042ms 0ms 15.625ms OpenLayers.js (line 292)
> addResults 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 565)
> getResolution 45 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 592)
> getResolution 9 0% 0ms 15.625ms 1.736ms 0ms 15.625ms OpenLayers.js (line 592)
> assignRenderer 1 0% 0ms 179625ms 179625ms 179625ms 179625ms OpenLayers.js (line 646)
> parseXMLString 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 195)
> drawPoint 30 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 354)
> parseCoords 39 0% 0ms 46.875ms 1.202ms 0ms 15.625ms OpenLayers.js (line 682)
> onFeatureInsert 39 0% 0ms 156.25ms 4.006ms 0ms 15.625ms ld-testv.html# (line 97)
> emptyFunction 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 196)
> leaveMode 30 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 372)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> trigger 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 317)
> addOptions 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 579)
> createUniqueID 79 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 131)
> destroy 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 600)
> getFullRequestString 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 637)
> onFeatureInsert 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 656)
> getStyle 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 71)
> onload 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 824)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> bind 12 0% 0ms 1312.5ms 109.375ms 0ms 1312.5ms OpenLayers.js (line 80)
> defaultClick 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 377)
> emptyFunction 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> isSuitableOverview 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 388)
> updateMapToRect 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 392)
> add 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 54)
> updateMapToRect 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 392)
> bindAsEventListener 67 0% 0ms 179765.625ms 2683.069ms 0ms 179718.75ms OpenLayers.js (line 81)
> dispatch 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> getMapBoundsFromRectBounds 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 393)
> getSize 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 488)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> getCurrentSize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 491)
> getCenter 36 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> extend 1102 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 85)
> responseIsSuccess 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 199)
> getCenter 1 0% 0ms 179718.75ms 179718.75ms 179718.75ms 179718.75ms OpenLayers.js (line 496)
> centerLayerContainer 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 201)
> getNumZoomLevels 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 510)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> draw 1 0% 0ms 179718.75ms 179718.75ms 179718.75ms 179718.75ms OpenLayers.js (line 300)
> checkImgURL 1 0% 0ms 46.875ms 46.875ms 46.875ms 46.875ms OpenLayers.js (line 564)
> getXmlNodeValue 1170 0% 0ms 78.125ms 0.067ms 0ms 15.625ms OpenLayers.js (line 121)
> draw 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 566)
> remove 69 0% 0ms 31.25ms 0.453ms 0ms 15.625ms OpenLayers.js (line 338)
> display 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> intersectsBounds 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 66)
> getViewPortPxFromLonLat 2 0% 0ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 594)
> removeBox 30 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 344)
> onScreen 78 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 602)
> safeStopPropagation 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 134)
> removeFeatures 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 653)
> destroyFeatures 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 654)
> parseFeature 39 0% 0ms 1015.625ms 26.042ms 0ms 296.875ms OpenLayers.js (line 670)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 53)
> getFullRequestString 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 786)
> nodeFactory 78 0% 0ms 15.625ms 0.2ms 0ms 15.625ms OpenLayers.js (line 356)
> getURL 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 825)
> parseXMLString 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 194)
> initialize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> emptyFunction 10 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 196)
> clear 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 358)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 56)
> defaultMouseOut 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 376)
> emptyFunction 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 196)
> rectDblClick 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 386)
> bind 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 79)
> updateRectToMap 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 391)
> emptyFunction 1 0% 0ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 196)
> getResolution 45 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 512)
> moveZoomBar 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 401)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> updateSize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 489)
> toBBOX 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 59)
> modifyDOMElement 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 88)
> setRequestHeaders 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 202)
> zoomTo 1 0% 0ms 179718.75ms 179718.75ms 179718.75ms 179718.75ms OpenLayers.js (line 516)
> calculateBounds 9 0% 0ms 15.625ms 1.736ms 0ms 15.625ms OpenLayers.js (line 493)
> dispatch 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 198)
> getCenter 49 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> fromString 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 57)
> centerLayerContainer 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> initialize 1 0% 0ms 46.875ms 46.875ms 46.875ms 46.875ms OpenLayers.js (line 200)
> getProjection 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 507)
> removeItem 50 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 86)
> getExtent 9 0% 0ms 15.625ms 1.736ms 0ms 15.625ms OpenLayers.js (line 511)
> initialize 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 200)
> getScale 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 513)
> initialize 40 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> zoomTo 1 0% 0ms 179718.75ms 179718.75ms 179718.75ms 179718.75ms OpenLayers.js (line 516)
> onStateChange 10 0% 0ms 1312.5ms 131.25ms 0ms 1312.5ms OpenLayers.js (line 206)
> zoomTo 27 0% 0ms 15.625ms 0.579ms 0ms 15.625ms OpenLayers.js (line 516)
> getViewPortPxFromLonLat 2 0% 0ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 517)
> onImageLoad 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 102)
> header 11 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 207)
> getLonLatFromPixel 27 0% 0ms 15.625ms 0.579ms 0ms 15.625ms OpenLayers.js (line 518)
> getLayerPxFromViewPortPx 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 519)
> header 10 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 207)
> getLonLatFromLayerPx 2 0% 0ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 520)
> getWidth 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> upperCaseObject 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 110)
> header 10 0% 0ms 1312.5ms 131.25ms 0ms 1312.5ms OpenLayers.js (line 207)
> setSize 78 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 527)
> clear 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 561)
> draw 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 300)
> checkImgURL 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 564)
> checkImgURL 1 0% 0ms 46.875ms 46.875ms 46.875ms 46.875ms OpenLayers.js (line 564)
> updateScale 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 316)
> checkImgURL 1 0% 0ms 1312.5ms 1312.5ms 1312.5ms 1312.5ms OpenLayers.js (line 564)
> getWidth 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> draw 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 566)
> trigger 42 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 317)
> destroyPopup 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 572)
> getArgs 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 128)
> display 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> handleBrowserEvent 63 0% 0ms 46.875ms 0.744ms 0ms 15.625ms OpenLayers.js (line 341)
> initialize 2 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> reprojectNode 50 0% 0ms 906.25ms 18.125ms 15.625ms 31.25ms OpenLayers.js (line 528)
> getLonLatFromViewPortPx 27 0% 0ms 15.625ms 0.579ms 0ms 15.625ms OpenLayers.js (line 593)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 342)
> initialize 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 599)
> getScaleFromResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 133)
> removeBox 30 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 344)
> containsBounds 7 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 67)
> createNode 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 531)
> applyDefaults 9 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 111)
> registerEvents 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> nodeTypeCompare 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 532)
> calculateRelativePosition 1 0% 0ms 906.25ms 906.25ms 906.25ms 906.25ms OpenLayers.js (line 352)
> nullHandler 1 0% 0ms 46.875ms 46.875ms 46.875ms 46.875ms OpenLayers.js (line 193)
> setMap 1 0% 0ms 1015.625ms 1015.625ms 1015.625ms 1015.625ms OpenLayers.js (line 665)
> drawGeometryNode 128 0% 0ms 1046.875ms 8.179ms 0ms 31.25ms OpenLayers.js (line 353)
> registerEvents 129 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> nodeTypeCompare 128 0% 0ms 968.75ms 7.568ms 0ms 31.25ms OpenLayers.js (line 532)
> destroy 1 0% 0ms 179703.125ms 179703.125ms 179703.125ms 179703.125ms OpenLayers.js (line 779)
> eraseGeometry 50 0% 0ms 15.625ms 0.313ms 0ms 15.625ms OpenLayers.js (line 355)
> setMap 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 820)
> parseXMLString 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 195)
> setMap 1 0% 0ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 820)
> initialize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 357)
> getURL 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 825)
> camelize 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 76)
> (no name) 1 0% 0ms 0ms 0ms 0ms 0ms ld-testv.html# (line 113)
> initialize 71 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 53)
> initialize 39 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> getWidth 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> draw 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 557)
> clear 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 561)
> GET http://imaptools.com/cgi-bin/mapserv-4.10?map=%2Fu%2Fdata%2Fmaps%2Fld-wfs.map&typename=PointsOfInterest&maxfeatures=50&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=3.053233%2C36.759262%2C3.066567%2C36.769738 (1407ms)

4) Shift-Reload the page to start new
    Click the Algers, DZ link
    Turn on profiling
    Click Zoom -
Profile results:

> Profile (630937.5ms, 2313 calls)
> Function
>
> Calls
>
> Percent
>
> Own Time
>
> Time
>
> Avg
>
> Min
>
> Max
>
> File
> destroy 1 80.51% 507937.5ms 507937.5ms 507937.5ms 507937.5ms 507937.5ms OpenLayers.js (line 526)
> nodeTypeCompare 50 15.74% 99296.875ms 99328.125ms 1986.563ms 1906.25ms 2609.375ms OpenLayers.js (line 532)
> draw 2 0.63% 4000ms 10000ms 5000ms 46.875ms 9953.125ms OpenLayers.js (line 557)
> drawGeometryNode 50 0.33% 2062.5ms 103234.375ms 2064.688ms 1968.75ms 3000ms OpenLayers.js (line 353)
> reprojectNode 50 0.29% 1828.125ms 1828.125ms 36.563ms 15.625ms 109.375ms OpenLayers.js (line 528)
> calculateRelativePosition 1 0.24% 1515.625ms 104796.875ms 104796.875ms 104796.875ms 104796.875ms OpenLayers.js (line 352)
> isPrototype 250 0.19% 1218.75ms 2187.5ms 8.75ms 0ms 125ms OpenLayers.js (line 50)
> applyDefaults 12 0.18% 1140.625ms 1140.625ms 95.052ms 0ms 218.75ms OpenLayers.js (line 111)
> getCurrentSize 2 0.17% 1046.875ms 1812.5ms 906.25ms 0ms 1812.5ms OpenLayers.js (line 491)
> calculateRelativePosition 1 0.17% 1046.875ms 1046.875ms 1046.875ms 1046.875ms 1046.875ms OpenLayers.js (line 352)
> remove 112 0.13% 796.875ms 21015.625ms 187.64ms 0ms 20031.25ms OpenLayers.js (line 338)
> updateScale 1 0.09% 593.75ms 609.375ms 609.375ms 609.375ms 609.375ms OpenLayers.js (line 316)
> getStyle 6 0.09% 546.875ms 640.625ms 106.771ms 0ms 593.75ms OpenLayers.js (line 71)
> getFullRequestString 6 0.08% 500ms 2031.25ms 338.542ms 0ms 984.375ms OpenLayers.js (line 637)
> isSuitableOverview 1 0.06% 390.625ms 16781.25ms 16781.25ms 16781.25ms 16781.25ms OpenLayers.js (line 388)
> fromString 20 0.06% 390.625ms 390.625ms 19.531ms 0ms 78.125ms OpenLayers.js (line 57)
> setMap 2 0.06% 359.375ms 13000ms 6500ms 46.875ms 12953.125ms OpenLayers.js (line 820)
> updateMapToRect 2 0.06% 359.375ms 359.375ms 179.688ms 125ms 234.375ms OpenLayers.js (line 392)
> moveZoomBar 1 0.05% 343.75ms 359.375ms 359.375ms 359.375ms 359.375ms OpenLayers.js (line 401)
> calculateBounds 12 0.05% 328.125ms 1562.5ms 130.208ms 0ms 421.875ms OpenLayers.js (line 493)
> trigger 61 0.04% 281.25ms 281.25ms 4.611ms 0ms 234.375ms OpenLayers.js (line 317)
> assignRenderer 1 0.04% 250ms 612984.375ms 612984.375ms 612984.375ms 612984.375ms OpenLayers.js (line 646)
> initialize 63 0.04% 234.375ms 234.375ms 3.72ms 0ms 62.5ms OpenLayers.js (line 55)
> initialize 61 0.04% 234.375ms 703.125ms 11.527ms 0ms 140.625ms OpenLayers.js (line 55)
> (no name) 1 0.04% 234.375ms 390.625ms 390.625ms 390.625ms 390.625ms ld-testv.html# (line 113)
> bindAsEventListener 8 0.04% 234.375ms 234.375ms 29.297ms 0ms 156.25ms OpenLayers.js (line 81)
> updateMapToRect 2 0.04% 234.375ms 1812.5ms 906.25ms 875ms 937.5ms OpenLayers.js (line 392)
> safeStopPropagation 5 0.03% 218.75ms 265.625ms 53.125ms 0ms 250ms OpenLayers.js (line 134)
> getURL 6 0.03% 218.75ms 2453.125ms 408.854ms 0ms 1234.375ms OpenLayers.js (line 825)
> initialize 112 0.03% 218.75ms 218.75ms 1.953ms 0ms 46.875ms OpenLayers.js (line 53)
> destroy 1 0.03% 203.125ms 614234.375ms 614234.375ms 614234.375ms 614234.375ms OpenLayers.js (line 779)
> extend 12 0.03% 187.5ms 187.5ms 15.625ms 0ms 62.5ms OpenLayers.js (line 85)
> clear 6 0.03% 171.875ms 171.875ms 28.646ms 0ms 140.625ms OpenLayers.js (line 561)
> updateRectToMap 2 0.02% 140.625ms 2640.625ms 1320.313ms 1281.25ms 1359.375ms OpenLayers.js (line 391)
> determineQuadrant 1 0.02% 125ms 750ms 750ms 750ms 750ms OpenLayers.js (line 70)
> initialize 55 0.02% 125ms 125ms 2.273ms 0ms 31.25ms OpenLayers.js (line 56)
> getURL 6 0.02% 109.375ms 2140.625ms 356.771ms 0ms 1078.125ms OpenLayers.js (line 825)
> getCenter 2 0.02% 109.375ms 635203.125ms 317601.563ms 0ms 635203.125ms OpenLayers.js (line 496)
> getArgs 6 0.02% 109.375ms 109.375ms 18.229ms 0ms 46.875ms OpenLayers.js (line 128)
> toBBOX 12 0.01% 93.75ms 93.75ms 7.813ms 0ms 31.25ms OpenLayers.js (line 59)
> upperCaseObject 6 0.01% 93.75ms 93.75ms 15.625ms 0ms 46.875ms OpenLayers.js (line 110)
> bindAsEventListener 105 0.01% 78.125ms 636218.75ms 6059.226ms 0ms 635515.625ms OpenLayers.js (line 81)
> modifyDOMElement 4 0.01% 78.125ms 78.125ms 19.531ms 0ms 62.5ms OpenLayers.js (line 88)
> rectDblClick 1 0.01% 78.125ms 18765.625ms 18765.625ms 18765.625ms 18765.625ms OpenLayers.js (line 386)
> getMapBoundsFromRectBounds 4 0.01% 62.5ms 1093.75ms 273.438ms 187.5ms 343.75ms OpenLayers.js (line 393)
> getSize 61 0.01% 62.5ms 765.625ms 12.551ms 0ms 187.5ms OpenLayers.js (line 488)
> handleBrowserEvent 100 0.01% 62.5ms 375ms 3.75ms 0ms 328.125ms OpenLayers.js (line 341)
> getExtent 12 0.01% 62.5ms 1640.625ms 136.719ms 0ms 500ms OpenLayers.js (line 511)
> isSuitableOverview 1 0.01% 62.5ms 625ms 625ms 625ms 625ms OpenLayers.js (line 388)
> handleBrowserEvent 100 0.01% 46.875ms 593.75ms 5.938ms 0ms 453.125ms OpenLayers.js (line 341)
> updateSize 2 0.01% 46.875ms 1890.625ms 945.313ms 0ms 1890.625ms OpenLayers.js (line 489)
> camelize 6 0.01% 46.875ms 46.875ms 7.813ms 0ms 31.25ms OpenLayers.js (line 76)
> reprojectNode 50 0.01% 46.875ms 103281.25ms 2065.625ms 1968.75ms 3046.875ms OpenLayers.js (line 528)
> getResolution 70 0.01% 46.875ms 46.875ms 0.67ms 0ms 31.25ms OpenLayers.js (line 592)
> initialize 2 0.01% 46.875ms 10156.25ms 5078.125ms 46.875ms 10109.375ms OpenLayers.js (line 357)
> registerEvents 51 0% 31.25ms 31.25ms 0.613ms 0ms 15.625ms OpenLayers.js (line 241)
> containsLonLat 1 0% 31.25ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 64)
> redraw 46 0% 31.25ms 46.875ms 1.019ms 0ms 15.625ms OpenLayers.js (line 292)
> centerLayerContainer 2 0% 31.25ms 62.5ms 31.25ms 0ms 62.5ms OpenLayers.js (line 506)
> draw 1 0% 31.25ms 635484.375ms 635484.375ms 635484.375ms 635484.375ms OpenLayers.js (line 300)
> getResolution 70 0% 31.25ms 78.125ms 1.116ms 0ms 46.875ms OpenLayers.js (line 512)
> getLayerPxFromViewPortPx 2 0% 31.25ms 62.5ms 31.25ms 0ms 62.5ms OpenLayers.js (line 519)
> getZoomForResolution 1 0% 31.25ms 31.25ms 31.25ms 31.25ms 31.25ms OpenLayers.js (line 515)
> clear 2 0% 31.25ms 10812.5ms 5406.25ms 46.875ms 10765.625ms OpenLayers.js (line 561)
> addOptions 3 0% 31.25ms 46.875ms 15.625ms 0ms 46.875ms OpenLayers.js (line 579)
> onImageLoad 2 0% 31.25ms 31.25ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 102)
> getWidth 2 0% 15.625ms 31.25ms 15.625ms 0ms 31.25ms OpenLayers.js (line 63)
> initialize 2 0% 15.625ms 46.875ms 23.438ms 0ms 46.875ms OpenLayers.js (line 53)
> getNumZoomLevels 4 0% 15.625ms 15.625ms 3.906ms 0ms 15.625ms OpenLayers.js (line 510)
> intersectsBounds 2 0% 15.625ms 15.625ms 7.813ms 0ms 15.625ms OpenLayers.js (line 66)
> getScale 1 0% 15.625ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 513)
> zoomTo 1 0% 15.625ms 635218.75ms 635218.75ms 635218.75ms 635218.75ms OpenLayers.js (line 516)
> getViewPortPxFromLonLat 2 0% 15.625ms 140.625ms 70.313ms 0ms 140.625ms OpenLayers.js (line 517)
> getLonLatFromLayerPx 2 0% 15.625ms 218.75ms 109.375ms 0ms 218.75ms OpenLayers.js (line 520)
> initialize 1 0% 15.625ms 15.625ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 56)
> add 2 0% 15.625ms 31.25ms 15.625ms 0ms 31.25ms OpenLayers.js (line 54)
> nodeTypeCompare 50 0% 15.625ms 99343.75ms 1986.875ms 1906.25ms 2625ms OpenLayers.js (line 532)
> display 3 0% 15.625ms 15.625ms 5.208ms 0ms 15.625ms OpenLayers.js (line 582)
> getResolution 12 0% 15.625ms 1578.125ms 131.51ms 0ms 437.5ms OpenLayers.js (line 592)
> initialize 2 0% 15.625ms 46.875ms 23.438ms 0ms 46.875ms OpenLayers.js (line 357)
> setMap 2 0% 15.625ms 93.75ms 46.875ms 0ms 93.75ms OpenLayers.js (line 820)
> passEventToSlider 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 398)
> getWidth 5 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)
> getScaleFromResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 133)
> passEventToSlider 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 398)
> initialize 4 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 55)
> registerEvents 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 241)
> getCenter 57 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> getCenter 75 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 496)
> centerLayerContainer 3 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 506)
> draw 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 300)
> getProjection 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 507)
> containsLonLat 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 64)
> getMaxExtent 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 509)
> trigger 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 317)
> zoomTo 1 0% 0ms 635203.125ms 635203.125ms 635203.125ms 635203.125ms OpenLayers.js (line 516)
> initialize 2 0% 0ms 46.875ms 23.438ms 0ms 46.875ms OpenLayers.js (line 56)
> containsBounds 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 67)
> zoomTo 45 0% 0ms 15.625ms 0.347ms 0ms 15.625ms OpenLayers.js (line 516)
> getLonLatFromPixel 45 0% 0ms 15.625ms 0.347ms 0ms 15.625ms OpenLayers.js (line 518)
> removeBox 46 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 344)
> removeBox 46 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 344)
> display 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 582)
> drawPoint 46 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 354)
> getResolution 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 592)
> getLonLatFromViewPortPx 45 0% 0ms 15.625ms 0.347ms 0ms 15.625ms OpenLayers.js (line 593)
> getViewPortPxFromLonLat 2 0% 0ms 125ms 62.5ms 0ms 125ms OpenLayers.js (line 594)
> clear 6 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 358)
> fromString 3 0% 0ms 46.875ms 15.625ms 0ms 46.875ms OpenLayers.js (line 57)
> leaveMode 46 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 372)
> onload 2 0% 0ms 31.25ms 15.625ms 15.625ms 15.625ms OpenLayers.js (line 824)
> defaultMouseOut 8 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 376)
> defaultClick 1 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 377)
> getWidth 5 0% 0ms 0ms 0ms 0ms 0ms OpenLayers.js (line 63)


_______________________________________________
Dev mailing list
[hidden email]
http://openlayers.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Bug #622 testing and performance issues

Schuyler Erle-2
On Tue, 2007-04-03 at 23:16 -0400, Stephen Woodbridge wrote:

> 2) Turn on profiling
>     Click Zoom +
> > nodeTypeCompare 150 30.27% 1234.375ms 1234.375ms 8.229ms 0ms 31.25ms OpenLayers.js (line 532)
> > parseAttributes 1400 28.35% 1156.25ms 1343.75ms 0.96ms 0ms 312.5ms OpenLayers.js (line 678)
> > destroy 1 24.52% 1000ms 1000ms 1000ms 1000ms 1000ms OpenLayers.js (line 526)
>
> 3) Turn on Profiling
>     click Zoom + (again)
> > destroy 1 98.73% 178718.75ms 178718.75ms 178718.75ms 178718.75ms 178718.75ms OpenLayers.js (line 526)
> > nodeTypeCompare 128 0.54% 968.75ms 968.75ms 7.568ms 0ms 31.25ms OpenLayers.js (line 532)
> > parseAttributes 1092 0.49% 890.625ms 953.125ms 0.873ms 0ms 296.875ms OpenLayers.js (line 678)
>
> 4) Shift-Reload the page to start new
>     Click the Algers, DZ link
>     Turn on profiling
>     Click Zoom -
>
> > destroy 1 80.51% 507937.5ms 507937.5ms 507937.5ms 507937.5ms 507937.5ms OpenLayers.js (line 526)
> > nodeTypeCompare 50 15.74% 99296.875ms 99328.125ms 1986.563ms 1906.25ms 2609.375ms OpenLayers.js (line 532)
> > draw 2 0.63% 4000ms 10000ms 5000ms 46.875ms 9953.125ms OpenLayers.js (line 557)

Great! So it's the object destruction calls that are lagging everything
out now! :-/

Thanks for this feedback, Stephen.

SDE

_______________________________________________
Dev mailing list
[hidden email]
http://openlayers.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Bug #622 testing and performance issues

Christopher Schmidt-2
In reply to this post by Stephen Woodbridge
On Tue, Apr 03, 2007 at 11:16:03PM -0400, Stephen Woodbridge wrote:

> Christopher,
>
> Here is some profiling output on on the various requests that were
> giving me severe performance problems. I ran these against tonight's SVN
> revision 2997. It looks like you added the code to delete the existing
> features on each new request but I'm still seeing really bad performance
> and I thought having these profiles might help see the problem that I am
> having. I'm running FF 2.0.0.3 on Window 2000 box.
>
> Thanks again and I hope this helps,
>    -Steve
>
> Steps:
> 3) Turn on Profiling
>     click Zoom + (again)
> Profile results:

> > destroy 1 98.73% 178718.75ms 178718.75ms 178718.75ms 178718.75ms 178718.75ms OpenLayers.js (line 526)

This is bad. This is the renderer... but why is it stuck in this
function? there is nothing done here. (It's all done in subclasses.) I
can't imagine why this would happen.  

Everything else looks fine.

Even more worrisome is that your renderer is getting destroyed here at
all... it should only get destroyed when the vector layer is
destroyed... I'm not seeing the same issues here...

All in all, this seems rather insane.

Can anyone else reproduce this? Stephen, can you reproduce this in any
other browser?

Regards,
--
Christopher Schmidt
MetaCarta
_______________________________________________
Dev mailing list
[hidden email]
http://openlayers.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Bug #622 testing and performance issues

Stephen Woodbridge
Christopher Schmidt wrote:

> On Tue, Apr 03, 2007 at 11:16:03PM -0400, Stephen Woodbridge wrote:
>> Christopher,
>>
>> Here is some profiling output on on the various requests that were
>> giving me severe performance problems. I ran these against tonight's SVN
>> revision 2997. It looks like you added the code to delete the existing
>> features on each new request but I'm still seeing really bad performance
>> and I thought having these profiles might help see the problem that I am
>> having. I'm running FF 2.0.0.3 on Window 2000 box.
>>
>> Thanks again and I hope this helps,
>>    -Steve
>>
>> Steps:
>> 3) Turn on Profiling
>>     click Zoom + (again)
>> Profile results:
>
>>> destroy 1 98.73% 178718.75ms 178718.75ms 178718.75ms 178718.75ms 178718.75ms OpenLayers.js (line 526)
>
> This is bad. This is the renderer... but why is it stuck in this
> function? there is nothing done here. (It's all done in subclasses.) I
> can't imagine why this would happen.  
>
> Everything else looks fine.
>
> Even more worrisome is that your renderer is getting destroyed here at
> all... it should only get destroyed when the vector layer is
> destroyed... I'm not seeing the same issues here...
>
> All in all, this seems rather insane.
>
> Can anyone else reproduce this? Stephen, can you reproduce this in any
> other browser?

I tried IE6 and Opera 9 and it seems to work for these without the huge
delays. The display of the zoom tool get weirded out in Opera, but that
is probably not related to this problem.

I tried the Click to Algers and zoom out on my Win XP laptop and it
seems to have the same performance problem. with 78.6% in destroy and
16.6% in nodeTypeCompare. Oh, and this system is running FF 1.5.0.11.

The only thing common about these two systems is that they both have
512MB of Memory. I notice that the memory usage in the task manager has
a very strange usage pattern like a saw-tooth that repeats over and over
while it is stuck in this state. The pattern follow this:

                - ~328 MB
  /|
/ |
   |         /
   |---\     |  - ~100 MB
        \    |
         \  /
          \/    - ~46 MB

And this pattern just keeps repeating about 1-2 secs per interval if I
recall correctly.

-Steve


> Regards,

_______________________________________________
Dev mailing list
[hidden email]
http://openlayers.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Bug #622 testing and performance issues

Christopher Schmidt-2
On Wed, Apr 04, 2007 at 12:11:51AM -0400, Stephen Woodbridge wrote:

> Christopher Schmidt wrote:
> >Can anyone else reproduce this? Stephen, can you reproduce this in any
> >other browser?
>
> I tried IE6 and Opera 9 and it seems to work for these without the huge
> delays. The display of the zoom tool get weirded out in Opera, but that
> is probably not related to this problem.
>
> I tried the Click to Algers and zoom out on my Win XP laptop and it
> seems to have the same performance problem. with 78.6% in destroy and
> 16.6% in nodeTypeCompare. Oh, and this system is running FF 1.5.0.11.
>
> The only thing common about these two systems is that they both have
> 512MB of Memory. I notice that the memory usage in the task manager has
> a very strange usage pattern like a saw-tooth that repeats over and over
> while it is stuck in this state. The pattern follow this:
>
>                - ~328 MB
>  /|
> / |
>   |         /
>   |---\     |  - ~100 MB
>        \    |
>         \  /
>          \/    - ~46 MB
>
> And this pattern just keeps repeating about 1-2 secs per interval if I
> recall correctly.

Okay. This is still insane -- I have no idea why your'e getting that
function called at all, it makes no sense to me -- but I'll open up my
Windows laptop at work tomorrow and get Firefox installed on it, and see
if I can reproduce.

Regards,
--
Christopher Schmidt
MetaCarta
_______________________________________________
Dev mailing list
[hidden email]
http://openlayers.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Bug #622 testing and performance issues

Christopher Schmidt-2
On Wed, Apr 04, 2007 at 12:15:59AM -0400, Christopher Schmidt wrote:

> On Wed, Apr 04, 2007 at 12:11:51AM -0400, Stephen Woodbridge wrote:
> > Christopher Schmidt wrote:
> > >Can anyone else reproduce this? Stephen, can you reproduce this in any
> > >other browser?
> >
> > I tried IE6 and Opera 9 and it seems to work for these without the huge
> > delays. The display of the zoom tool get weirded out in Opera, but that
> > is probably not related to this problem.
> >
> > I tried the Click to Algers and zoom out on my Win XP laptop and it
> > seems to have the same performance problem. with 78.6% in destroy and
> > 16.6% in nodeTypeCompare. Oh, and this system is running FF 1.5.0.11.
> >
> > The only thing common about these two systems is that they both have
> > 512MB of Memory. I notice that the memory usage in the task manager has
> > a very strange usage pattern like a saw-tooth that repeats over and over
> > while it is stuck in this state. The pattern follow this:
> >
> >                - ~328 MB
> >  /|
> > / |
> >   |         /
> >   |---\     |  - ~100 MB
> >        \    |
> >         \  /
> >          \/    - ~46 MB
> >
> > And this pattern just keeps repeating about 1-2 secs per interval if I
> > recall correctly.
>
> Okay. This is still insane -- I have no idea why your'e getting that
> function called at all, it makes no sense to me -- but I'll open up my
> Windows laptop at work tomorrow and get Firefox installed on it, and see
> if I can reproduce.

Just tested on Webkit Nightlies and Opera 9 with no problems here, for
what little it's worth.

Regards,
--
Christopher Schmidt
MetaCarta
_______________________________________________
Dev mailing list
[hidden email]
http://openlayers.org/mailman/listinfo/dev