Patches for r415

0 views
Skip to first unread message

nicko

unread,
Mar 18, 2010, 5:52:38 AM3/18/10
to gwittir-users
I've uploaded a set of 4 patches for r415, available here:
http://groups.google.com/group/gwittir-users/web/gwittir-patches-r415.zip

Explanations:

IntrospectorGenerator.java - generation speed.txt
===================================
The generator uses the find() method to lookup MethodWrapper objects
when generating IntrospectorImpl - the old method would call
toString() on the methodWrapper for equality checks, which is actually
very expensive because it involves a long call through the JType
chain.

This is no longer as crucial because of the JVMIntrospector (before,
this was slowing down page refreshes in hosted mode quite a lot).
Nevertheless:

project 1 -
with:
[java] Found 218 introspectable types.
[java] Generation gwit - 985 ms

without:
[java] Found 218 introspectable types.
[java] Generation gwit - 27903 ms

project 2 -
with:
[java] Found 140 introspectable types.
[java] Generation gwit - 710 ms

without:
[java] Found 140 introspectable types.
[java] Generation gwit - 18072 ms


IntrospectorGenerator.java - descriptor lookup optimisation.txt
=============================================
If you're using descriptor lookup a lot (for more than UI<>dataobject
binding - my projects use it as part of a more general dataobject
persistence system), the instanceof() calls used for lookup become
very expensive. This optimisation caches lookup by class - except for
SelfDescribed objects, which shouldn't have descriptors cached.

Minor patches - explanations in the patch code:
==================================
TextBox.java - change event not being fired with new==null.txt
Field.java - useful constructor.txt
Binding.java - minor bug.txt

Reply all
Reply to author
Forward
0 new messages