> That was my initial suspicion. I suggest you check that and then get
> back to us if it doesn't yield any results.
>
So when running the server on my local dev machine and accessing the
pages via localhost I'm not hitting the timeout when opening
directories (it does take a VERY long time however).  I did some
profiling with slime and came up with the following:

    64.499 | 5,112,120,256 |  2,559 |   0.025205 | WEBLOCKS:ASDF-
SYSTEM-DIRECTORY
     4.392 |    12,602,960 |    852 |   0.005155 | WEBLOCKS:RENDER-
LINK
     2.398 |     4,551,392 |    853 |   0.002812 | WEBLOCKS:WITH-
WIDGET-HEADER
     0.436 |    40,036,800 |  2,559 |   0.000170 | WEBLOCKS:MAKE-LOCAL-
DEPENDENCY
     0.211 |    10,698,848 |  2,559 |   0.000082 | WEBLOCKS:COMPUTE-
WEBAPP-PUBLIC-FILES-PATH
     0.178 |     3,531,280 |    853 |   0.000209 | WEBLOCKS:RENDER-
WIDGET-BODY
     0.110 |    16,581,440 |    852 |   0.000129 | WEBLOCKS::GENERATE-
ACTION-CODE
     0.077 |     2,733,568 |  2,559 |   0.000030 | WEBLOCKS:COMPUTE-
PUBLIC-FILES-PATH
     0.058 |       858,640 |  6,095 |   0.000009 | WEBLOCKS::CL-ESCAPE-
STRING
     0.055 |       917,504 |  8,532 |   0.000006 |
WEBLOCKS:ATTRIBUTIZE-NAME
     0.049 |       528,400 |    855 |   0.000057 | WEBLOCKS:DOM-ID
     0.039 |     4,035,344 |    852 |   0.000046 | WEBLOCKS:MAKE-
ACTION-URL
     0.039 |        24,240 |    857 |   0.000046 | WEBLOCKS:WEBAPP-
UPDATE-THREAD-STATUS
     0.030 |       374,336 |    852 |   0.000035 | WEBLOCKS:REQUEST-
URI-PATH
     0.029 |     6,406,272 |  2,559 |   0.000011 | WEBLOCKS:PUBLIC-
FILE-RELATIVE-PATH
     0.020 |             0 |    853 |   0.000023 | WEBLOCKS:WIDGET-
PREFIX-FN
     0.016 |     3,596,400 |    853 |   0.000019 | WEBLOCKS:DOM-
CLASSES
     0.010 |             0 |    857 |   0.000011 | WEBLOCKS:UPDATE-
THREAD-STATUS
     0.009 |             0 |  1,708 |   0.000005 | WEBLOCKS::ENSURE-
DOM-ID
     0.000 |             0 |    852 |   0.000000 | AW::NAME


There's more functions, but what's most pertinent is:
a) ASDF-SYSTEM-DIRECTORY being called 2.5k times and taking 64.5
seconds (seemingly corresponding with the calls to COMPUTE-WEBAPP-
PUBLIC-FILES-PATH)
b) make-photos-widget never being called (allegedly)

make-photos-widget is the only function that calls compute-public-
files-path:


(defun make-photos-widget ()
  (let ((photo-viewer (make-instance 'photo-viewer-widget)))
    (make-instance
     'photos
     :photo-viewer photo-viewer
     :photo-explorer (create-photo-explorer-widget #p"images/
photos/" (compute-public-files-path 'aw) photo-viewer))))

and it also HAS to be called (I think) given that that is the function
that creates the photos page we're rendering:

(defun make-main-page ()
  (make-navigation "Main Menu"
                   (list "Photos" (make-photos-widget) "photos")
                   (list "Main" (make-main-widget) "main")
                   (list "Nav-test" (make-nav-test) "nav-test")))

So I'm a bit stumped, but I figured I'd at least update everyone with
my findings.  I'm going to keep on digging/hacking to see what I can
figure out.

I do have a question regarding widget "dirtiness" and circular
references. So my dir-tree and file widgets all have a photo-explorer
widget as a class member so that the on-select methods (when
specialized on dir-tree and file) may easily access the photo-explorer
widget to set pertinent items.  Does this circular referencing make
cause things to be labeled as dirty and to be re-rendered over and
over?

--

You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/weblocks?hl=en.


Reply via email to