Performance

1 view
Skip to first unread message

Leslie P. Polzer

unread,
Jun 16, 2009, 7:05:33 AM6/16/09
to weblocks
I've started instrumenting the HCR pipeline for timing.

The code I'm using right now is not the latest but should
give valuable hints nevertheless.

The main result so far is that in a request that takes 0.824s/0.67s
(real/cpu) in HCR about half of the time (both real and cpu) is spent
in COMPACT-DEPENDENCIES.

Leslie P. Polzer

unread,
Jun 16, 2009, 9:09:31 AM6/16/09
to weblocks
The culprit seemed to be the DEPENDENCY-URL accessor which
constructed a lot URI objects everytime it was used.

Constructing the objects just once and saving them in the slot
brings down PRUNE-DEPENDENCIES time to a well sufferable
10ms, a factor of about 50 relative to the original value.

Committed as 2a4cf0788f07 (will be pushed later).

Leslie P. Polzer

unread,
Jun 17, 2009, 4:26:33 AM6/17/09
to weblocks
The profiling code is availabe in -dev now.

Use *ENABLE-TIMINGS* to get timing reports on *standard-output* for
every request.

Leslie P. Polzer

unread,
Jun 26, 2009, 6:57:52 AM6/26/09
to weblocks
7c89265ee9c7 uses per-session locks for the tree shakedown/rendering,
increasing the number of requests handled concurrently by a factor of
10
in a quick test.

This is a simple but effective optimization. More fine-grained locking
(e.g. per-webapp, per-request) would improve further upon this.
Reply all
Reply to author
Forward
0 new messages