Re: Re: Re: Re: Re: [Findbugs-core] toward ASM 4.0?

[email protected]
Newsgroups gmane.comp.java.objectweb.asm
Message-ID <1535334599.9688031314356243602.JavaMail.root@zimbra7-e1.priv.proxad.net>
Tronje Krop wrote:
> Please do not take action in this direction without giving users a
> chance to evaluate and discuss the consequences.

You can evaluate and discuss this by looking at the code in SVN HEAD, were I committed a tentative 4.0 RC2. Performance and jar size are the same as in RC1 (see below). Constructive comments and suggestions to improve the API are welcome. 

What remains to be done is to improve the documentation and to write user guidelines on how to properly use ASM to ensure backward compatibility (if necessary we can also include runtime checks to ensure that these guidelines are followed, using reflection API, in a debug jar - the existing one or another)

Eric

Main changes compared to RC1:

- interfaces replaced with abstract classes (whose constructor takes an api version as argument)
- as a consequence, ClassAdapter and MethodAdapter merged into ClassVisitor and MethodVisitor, classes using multiple interface inheritance removed (MemberNode, EmptyVisitor) or adapted (trace and asmifier classes in util)
- MethodHandle and MethodType renamed to Handle and Type

Jar sizes (KB) in RC1 - RC2:

asm       45.6 - 44.8
tree      21.6 - 21.3
analysis  18.8 - 18.9
commons   38.2 - 36.7
util      36.8 - 38.1
xml       50.6 - 50.5
all       210 - 209
all-debug 313 - 315
4.0_RC1.txt (text/plain, 3.3 KB)
     [java] Starting get class info test.
     [java] - to get class info 24611 classes = 82 ms.
     [java] - to get class info 24611 classes = 52 ms.
     [java] - to get class info 24611 classes = 54 ms.
     [java] - to get class info 24611 classes = 46 ms.
     [java] - to get class info 24611 classes = 49 ms.
     [java] Time to get class info 123055 classes = 283 ms.
     [java] Processing rate = 434823 classes per sec (1338212 kB per sec).
     [java]
     [java] Starting deserialize test.
     [java] - to deserialize 24611 classes = 791 ms.
     [java] - to deserialize 24611 classes = 792 ms.
     [java] - to deserialize 24611 classes = 811 ms.
     [java] - to deserialize 24611 classes = 786 ms.
     [java] - to deserialize 24611 classes = 786 ms.
     [java] Time to deserialize 123055 classes = 3966 ms.
     [java] Processing rate = 31027 classes per sec (95490 kB per sec).
     [java]
     [java] Starting deserialize with tree package test.
     [java] - to deserialize 4922 classes with tree package = 1199 ms the longest took 106 ms (18273 bytes).
     [java] - to deserialize 4922 classes with tree package = 430 ms.
     [java] - to deserialize 4922 classes with tree package = 193 ms.
     [java] - to deserialize 4922 classes with tree package = 193 ms.
     [java] - to deserialize 4922 classes with tree package = 201 ms.
     [java] Time to deserialize 24610 classes with tree package = 2216 ms.
     [java] Processing rate = 11105 classes per sec (34179 kB per sec).
     [java]
     [java]
     [java] Starting deserialize and reserialize test.
     [java] - to deserialize and reserialize 24611 classes = 1689 ms.
     [java] - to deserialize and reserialize 24611 classes = 1632 ms.
     [java] - to deserialize and reserialize 24611 classes = 1695 ms.
     [java] - to deserialize and reserialize 24611 classes = 1653 ms.
     [java] - to deserialize and reserialize 24611 classes = 1634 ms.
     [java] Time to deserialize and reserialize 123055 classes = 8303 ms.
     [java] Processing rate = 14820 classes per sec (45611 kB per sec).
     [java]
     [java] Starting deserialize and reserialize with copyPool test.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 1040 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 607 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 646 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 603 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 612 ms.
     [java] Time to deserialize and reserialize 123055 classes with copyPool = 3508 ms.
     [java] Processing rate = 35078 classes per sec (107957 kB per sec).
     [java]
     [java] Starting deserialize and reserialize with tree package test.
     [java] - to deserialize and reserialize 4922 classes with tree package = 432 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 410 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 405 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 418 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 430 ms.
     [java] Time to deserialize and reserialize 24610 classes with tree package = 2095 ms.
     [java] Processing rate = 11747 classes per sec (36153 kB per sec).
4.0_RC2.txt (text/plain, 3.3 KB)
     [java] Starting get class info test.
     [java] - to get class info 24611 classes = 82 ms.
     [java] - to get class info 24611 classes = 52 ms.
     [java] - to get class info 24611 classes = 53 ms.
     [java] - to get class info 24611 classes = 50 ms.
     [java] - to get class info 24611 classes = 50 ms.
     [java] Time to get class info 123055 classes = 287 ms.
     [java] Processing rate = 428763 classes per sec (1319561 kB per sec).
     [java]
     [java] Starting deserialize test.
     [java] - to deserialize 24611 classes = 930 ms.
     [java] - to deserialize 24611 classes = 763 ms.
     [java] - to deserialize 24611 classes = 811 ms.
     [java] - to deserialize 24611 classes = 808 ms.
     [java] - to deserialize 24611 classes = 761 ms.
     [java] Time to deserialize 123055 classes = 4073 ms.
     [java] Processing rate = 30212 classes per sec (92981 kB per sec).
     [java]
     [java] Starting deserialize with tree package test.
     [java] - to deserialize 4922 classes with tree package = 1045 ms.
     [java] - to deserialize 4922 classes with tree package = 596 ms.
     [java] - to deserialize 4922 classes with tree package = 196 ms.
     [java] - to deserialize 4922 classes with tree package = 209 ms.
     [java] - to deserialize 4922 classes with tree package = 195 ms.
     [java] Time to deserialize 24610 classes with tree package = 2241 ms.
     [java] Processing rate = 10981 classes per sec (33798 kB per sec).
     [java]
     [java]
     [java] Starting deserialize and reserialize test.
     [java] - to deserialize and reserialize 24611 classes = 1698 ms.
     [java] - to deserialize and reserialize 24611 classes = 1666 ms.
     [java] - to deserialize and reserialize 24611 classes = 1633 ms.
     [java] - to deserialize and reserialize 24611 classes = 1705 ms.
     [java] - to deserialize and reserialize 24611 classes = 1643 ms.
     [java] Time to deserialize and reserialize 123055 classes = 8345 ms.
     [java] Processing rate = 14745 classes per sec (45382 kB per sec).
     [java]
     [java] Starting deserialize and reserialize with copyPool test.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 1133 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 586 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 626 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 591 ms.
     [java] - to deserialize and reserialize 24611 classes with copyPool = 614 ms.
     [java] Time to deserialize and reserialize 123055 classes with copyPool = 3550 ms.
     [java] Processing rate = 34663 classes per sec (106680 kB per sec).
     [java]
     [java] Starting deserialize and reserialize with tree package test.
     [java] - to deserialize and reserialize 4922 classes with tree package = 396 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 394 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 425 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 406 ms.
     [java] - to deserialize and reserialize 4922 classes with tree package = 436 ms.
     [java] Time to deserialize and reserialize 24610 classes with tree package = 2057 ms.
     [java] Processing rate = 11964 classes per sec (36821 kB per sec).
message-footer.txt (text/plain, 238 B)
-- 
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.