[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 6502 illegal opcodes questions
Well, the virtualization of the java screen buffer is meant for
portability. Meaning, there's a thick layer of abstraction designed to
make average GUI apps easy to develop and port to other systems. Even
if JIT speeds up some aspects of the emulation, those layers are still
present. It is unfortunate.
However, if you were to take an approach more similar to SWT where
everything is native (albeit much less portable) then I think you'd see
a performance difference. Eclipse users claim there is a significant
difference in that regard, where SWT originated. Supposedly java 1.6
will address the slowness of the AWT/Swing layer. We shall see.
Obviously you don't have a very thick layer for UI stuff in MIDP
applications so there's less crap for the embedded JRE to wade through
to draw a tiny little screen.
So compare apples to apples -- raw computing power in "headless"
programs is pretty comparable when you compare Java/JIT vs. native C++
-- oops I meant to say .NET c++ runtimes. And .NET "technology" is
inherently a recycled and improved version of the technology microsoft
was court-ordered to stop producing as "java", but you didn't expect
they would just throw it away did you? I mean, with all those
non-standard compiler directives you know they were going to try to
poison java's portability anyway so they stay at the top.
Except without a lot of third-party libraries (kudos to apache and
gnu!), creating complex data structures (without fear of memory leaks)
and performing heavy data manipulation -- especially xml -- in c++ is a
royal pain in the you-know-what. I'll stick with java for my day-job
and 6502 for my hobby. :-)
(weren't we talking about illegal opcodes? is that an arrestable
offense?)