So, it looks like the top two time-consuming procedures are
read-request and SSAX:XML->SXML.
The third is probably http:read-request-attributes.
Any comments?
Maybe, I would need to look into the chicken source code.
On 12/11/06, Daishi Kato <address@hidden> wrote:
> Alright, I was able to enable profiling for eggs by editing *.setup.
> Running 10000 requests gave me the following result:
>
> procedure calls seconds average percent
>
-------------------------------------------------------------------------------
> dispatch-request 10001 112.828 0.011 100.0000
> read-request 10001 55.634 0.005 49.3082
> handle-request 10000 40.381 0.004 35.7895
> get/post-handler 10000 39.284 0.003 34.8181
> SSAX:XML->SXML 10000 26.256 0.002 23.2706
> scan-for-significant-prolog-token-1 20000 26.175 0.001 23.1988
> element-parser 10000 23.971 0.002 21.2454
> read-line-perhaps 10001 19.013 0.001 16.8511
> SSAX:read-char-data 260000 13.856 0.329 12.2805
> SSAX:read-markup-token 280000 11.773 0.205 10.4352
> SSAX:read-QName 270000 7.265 0.690 6.4389
> SSAX:read-NCName 280000 6.615 0.362 5.8628
> http:read-request-attributes 10000 6.547 0.000 5.8025
> SSAX:complete-start-tag 140000 5.562 0.972 4.9295
> next-token-of 280000 4.684 0.672 4.1514
> g61 10000 4.521 0.000 4.0069
> write-result-response 10000 3.448 0.000 3.0559
> write-response 10000 2.830 0.000 2.5082
> SSAX:skip-S 440000 2.269 0.156 2.0110
> SSAX:read-attributes 140000 1.886 0.347 1.6715
> assert-curr-char 560000 1.341 0.394 1.1885
> SSAX:scan-Misc 20000 1.314 0.57e 1.1645
> skip-while 490000 1.262 0.575 1.1185
> SSAX:assert-token 130000 1.210 0.307 1.0724
> http:write-response-header 10000 1.188 0.000 1.0529
> next-token 50000 1.174 0.348 1.0405
> def-code254 10000 1.153 0.000 1.0219
> def-msg255 10000 1.109 0.000 0.9829
> def-alist256 10000 1.071 0.000 0.9492
> def-port257 10000 1.034 0.000 0.9173
> xml-token-kind 690000 1.026 0.486 0.9093