SmartLinker, jxelink - What's the real effects?

Skip to first unread message

Yifei Chen

Mar 11, 2003, 4:55:11 AM3/11/03


I am new in Embedded Java (J2ME).

jxelink (SmartLinker) offers options for:
- AOT (ahead of time compliation) - should gain execution speed in any case?
- XIP (ROMizing) - gains memory and reduces startup-time?
- smart linking (removal of unused code - classes, methods, fields) - no
really needed, if the project
is carefully maintained and does not contain unnecessary code

I can imagine the effects of ROMizing (reduced overall memory usage because
classes do not
exist twice - in flash file system and later and runtime RAM - but only
Ahead-of-time compilation should gain runtime speed compared to
interpretation or JIT (just-in-time

Can anyone tell me about real positive experiences when using SmartLinker?
Did it make your code faster or smaller?
Which were the really important SmartLinker features to you?
Is the resulting code fully JVM-spec-compatible?

Your suggestions will be appreciated,


Charlie Surface

Mar 11, 2003, 10:23:33 AM3/11/03
SmartLinker definitely makes your runtime experience smaller and faster. I
give it two thumbs up. Your comment about class reduction being unnecessary
well-managed projects is partially incorrect. While it is true that you can
control the amount of waste in classes that you write, you cannot control
waste in the required libraries that you import. Further, you can use
SmartLinker as a tool to help you keep your classes clean. The log file can
provide you lots of feedback about what your code is really doing. Just be
careful when referencing classes by name. This is an area where jxes will
bite you.


"Yifei Chen" <> wrote in message

Patrick Mueller

Mar 11, 2003, 5:13:31 PM3/11/03
Smartlinker also:

- interns all your literal Strings; a decent Java compiler will do this on a
.class file - by - .class file basis, but jxeLink does it for all the
strings in all the .classes in the jxe

- obfuscation, which also cuts down on string data

- generates a format which the VM actually generates when it reads .class
files. So, there is almost no cost in getting the class definitions into
the format the VM requires; there is overhead doing this with .class files
which the VM needs to 'interpret' into a live structural thing to run

The last point is the real reason for Smartlinker's existance; everything
else is just gravy. You would have classes in RAM and ROM even if you put
.class files in ROM; if you put your .jxe in ROM, it's ONLY in ROM.

Patrick Mueller

"Charlie Surface" <> wrote in message

Yifei Chen

Mar 18, 2003, 4:21:59 AM3/18/03
Hi Charlie and Patrick,

i see, thanks for your help...

best regards,
"Yifei Chen" <> schrieb im Newsbeitrag

Reply all
Reply to author
0 new messages