From: Kevin J. B. <kev...@bi...> - 2002-07-29 22:58:46
|
> From: "Boos, Paul" <pau...@sa...> > Have any tests been done with the Micro Edition of the JVM? Yes. I tried running the installer, and it didn't work. ;-) > I am interested > in using Jython on my Zaurus SL-5500... Me, too (note that Zaurus actually includes a PersonalJava environment). This is high on my list of things to do in my copious free time, but (obviously) hasn't been done yet. kb |
From: Noel R. <nr...@so...> - 2002-07-31 00:26:20
|
If I recall correctly, the Micro edition of the JVM doesn't support reflection, which would make it difficult to port Jython there. But it's been about a year since I looked it up, so it's possible things have changed since then. Noel Rappin Kevin J. Butler wrote: >> From: "Boos, Paul" <pau...@sa...> > > >> Have any tests been done with the Micro Edition of the JVM? > > > Yes. I tried running the installer, and it didn't work. ;-) > > > I am interested > >> in using Jython on my Zaurus SL-5500... > > > Me, too (note that Zaurus actually includes a PersonalJava environment). > > This is high on my list of things to do in my copious free time, but > (obviously) hasn't been done yet. > > kb |
From: Kevin J. B. <kev...@bi...> - 2002-07-31 07:26:41
|
Noel Rappin wrote: > If I recall correctly, the Micro edition of the JVM doesn't support > reflection, which would make it difficult to port Jython there. But > it's been about a year since I looked it up, so it's possible things > have changed since then. Reflection works fine on the Zaurus PersonalJava implementation. Just did a simple little test class, and it was fine. Then I decided, "Why not try the second simplest thing that could possibly work?" (The simplest thing being running the jython-21.class file, but that didn't work). So I unzipped the jython-21.class file, copied the files over to my Zaurus, fixed up the jython script (should have done that with a real keyboard!), and: /var/mnt/cf/jython# jython *sys-package-mgr*: processing new jar, '/usr/mnt.rom/cf/jython/jython.jar' Jython 2.1 on java3.1 (JIT: Jeode) >>> print "Hello World" Hello World >>> It was rather slow getting to that point, so I cleared cachedir and did some other testing: /var/mnt/cf/jython# time jython -c "print 'hello world'" *sys-package-mgr*: processing new jar, '/usr/mnt.rom/cf/jython/jython.jar' hello world real 0m16.136s user 0m14.170s sys 0m0.480s /var/mnt/cf/jython# time jython -c "print 'hello world'" hello world real 0m5.968s user 0m5.270s sys 0m0.460s /var/mnt/cf/jython# Six seconds is rather painful, isn't it? :-( But it WORKS! :-) Of course, it isn't quite all there yet: >>> from java.lang import * Traceback (innermost last): File "<console>", line 1, in ? ImportError: no module named java >>> We need to adjust the class property in registry (change sun.boot.class.path to jeode.boot.class.path) so Jython finds core.jar and awt.jar. Unfortunately, this drives startup times from rather painful to incredibly painful: 45 seconds to do the caching, and 34 seconds with the package info cached. It looks like Jython re-writes the cache for core.jar and awt.jar every startup - not sure why, but something I'll plan to take a look at. (I sure hear a lot of grinding on my Microdrive, - I'm not sure if my Zaurus likes my Microdrive. :-( ) Another alternative is to you grab rt.jar from a JRE 1.1.8 installation (http://java.sun.com/products/jdk/1.1/) and copy that in (1.4MB) and add it to your jython CLASSPATH, it also enables you to import standard JDK classes. That took 45 seconds to do the initial caching, then "just" 16 seconds to start jython. But even if startup is slow, Jython _works_! Almost too easy, all that time I spent the other day running javacheck on jython classes... Wasted! ;-) kb PS. I'll put together a .ipk RSN, but the startup time definitely needs work. :-( |