Unfortunately, if you remove that code from Component, junit tests
fail. That completely sucks as it should never have such side effects
to change internals. Let's fix it.

Eelco


On 12/6/05, Johan Compagner <[EMAIL PROTECTED]> wrote:
> if the page is a few parents deep then i think it will be slower.
>
> I think the fear that some have for thread local access is not needed
> Hashmap lookups one thing can slow it down and that is that the hashcode
> needs to be computed
> and that the hashcode is bad so we create a hashmap that has many buckets in
> one place (linked list on an index)
>
> But with thread locals this is not the case. Hashcode  is computed onces
> when you make a threadlocal
> And the hashcode that is generated is i now copy there words:
>
> /**
>      * The difference between successively generated hash codes - turns
>      * implicit sequential thread-local IDs into near-optimally spread
>      * multiplicative hash values for power-of-two-sized tables.
>      */
>
> So there are almost no buckets it is pure a index lookup..
>
> If it was me then we could remove all those caching things and use thread
> local access for everything.
>
> johan
>
>
>
> On 12/7/05, Juergen Donnerstag <[EMAIL PROTECTED]> wrote:
> > This is part of Component.java
> >
> >         public final Session getSession()
> >         {
> >                 // Fetch page, if possible
> >                 final Page page = findPage();
> >
> >                 // If this component is attached to a page
> >                 if (page != null)
> >                 {
> >                         // Get Session from Page (which should generally
> be
> >                         // faster than a thread local lookup via
> Session.get())
> >                         return page.getSessionInternal();
> >                 }
> >                 else
> >                 {
> >                         // Use ThreadLocal storage to get Session since
> this
> >                         // component is apparently not yet attached to a
> Page.
> >                         return Session.get();
> >                 }
> >         }
> >
> > I wonder if component.findPage() is realy more efficient than a
> > hashmap access by the ThreadLocal. Is there any other reason besides
> > performance for this construct?
> >
> > Juergen
> >
> >
> > -------------------------------------------------------
> > This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> > for problems?  Stop!  Download the new AJAX search engine that makes
> > searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> > http://ads.osdn.com/?ad_idv37&alloc_id865&opclick
> > _______________________________________________
> > Wicket-develop mailing list
> > [email protected]
> >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >
>
>


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to