velocity-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <>
Subject Re: performance questions
Date Sun, 09 Sep 2001 18:21:15 GMT
On 9/9/01 3:24 AM, "Attila Szegedi" <> wrote:

> (I've redirected this to velocity-dev, hope you don't mind)
> Here's my stab at having Introspector detect class reloads and discard no
> longer relevant ClassMaps. Right now it might seem a bit compex, as it
> discards ClassMaps at class loader granularity. However if it is not granted
> the required "getClassLoader" RuntimePermission, then it falls back
> gracefully and simply clears the whole cache when it detects what seems like
> a class reload.

This is great - this is the same strategy that I took (which was really what
you described in the first place), but didn't separate by classloader.  I
just dumped the entire pile when something changed.

I made some small changes to introspector for the separate runtime that I
will check in today, so I will dump my classloader-change changes and put in
yours after that and provisionally checkin so people can see if it solves
the problem (it should...)

I am still wary about two things, the general performance and the complexity
of dumping all in a classloader, as we are assuming a lot there.  Of course,
dumping all is pretty inefficient, so dumping by classloader is smarter.
However... :)

> I'm including both the diffs and the complete modified files (as
> Introspector underwent a major rewamp, I feel it's better comprehensible
> from complete source than from the diff.)
> I've run it against the test suite and it fails on single test, but I assume
> it has nothing to do with these changes:
>    [java] There was 1 failure:
>    [java] 1)
> EncodingTestCase(org.apache.velocity.test.EncodingTestCase)junit.
> framework.AssertionFailedError: Output 2 incorrect.
>    [java]     at
> org.apache.velocity.test.EncodingTestCase.runTest(EncodingTes
>    [java]
>    [java] FAILURES!!!
>    [java] Tests run: 1,  Failures: 1,  Errors: 0
>    [java]

That's weird...  Did it work before the change?  I wonder if it's output
line terminator related.  I will toss in a small fix to see if that changes
it for you.
> In meanwhile, I'm thinking of making a test case specifically for this
> functionality.


Geir Magnusson Jr.
System and Software Consulting
Developing for the web?  See
If you look up, there are no limits - Japanese Proverb

View raw message