Posted
on April 12, 2004, 14:26,
by mjw.
Code cleanup, regression testing and benchmarks
This week was mostly doing boring cleanup work. Tried to get the GNU Classpath native C code base -ansi -pedantic clean and turned on -Wall. Hopefully we can even add -Werror soon. Made sure that everything works well with gcc-2.95, gcc296 (yuck) and gcc 3.x, with and without -O2. Seems we are in decent shape now.
People really need to take more care about the Mauve regression testsuite. There were some nasty regressions which came with all the new code contributions. Faster development is good, but it shouldn’t cause regression test failures. We are lucky that Mauve is so big now that it catches most problems early. One of the problems it seems is that everybody is using a different runtime environment to test GNU Classpath against mauve and that we don’t have a list of canonical good test results.
Stephen Crawley fixed the Unicode tests in Mauve. This made for a fun little micro-benchmark. natively compiling programs with GNU gcj is very, very fast. But Kaffe OpenVM doesn’t do bad using JIT v3, but is still about two times slower. IKVM.NET+mono was number three, but surprisingly slower then kaffe (again about two times). Benchmarks that I did last year showed it being only a bit slower then kaffe then. Probably this particular micro-benchmark was not ideal for ikvm/mono. And I still have to try out the ahead of time compile support which will at least reduce the overhead a lot. Interesting enough Jikes RVM was almost as fast as IKVM+Mono and I only had a prototype build. Now that jrvm can be build completely with free tools (it needs kaffe for bootstrapping) I really need to get that development build going again. Only thing stopping me is the two and a half hour bootstrap process. (BTW, please don’t take this benchmark to serious, it is a micro-benchmark for one very specialized, small and repetitive task, so don’t take the numbers to serious. And see the GNU Classpath mailinglist for responses from the various free runtime hackers. It is great to see so much competition in this area!)
All in all I feel good about the progress we are making and the rapid growth of GNU Classpath and the projects around it. But on the other hand there is so much going on that nobody seems to have time to respond to all the email on the list and take care of new people wanting to help. Sorry, if I haven’t responded to email about the project yet. Feel free to send me a reminder email.
Comments Off on 12 Apr 2004
Posted
on April 2, 2004, 19:24,
by mjw.
Growing pains
It seems that we get more and more people wanting to help out with GNU Classpath. Which is very, very nice. But that also means explaining our hacking customs again and again. So, I finally went through the email archive of the last couple of months and added sections on needed tools and libraries, code conventions, hacking on the code, writing ChangeLog, working with other people/mailinglists, CVS, etc to the GNU Classpath Hacker’s Guide. Hope that helps new people fit in faster with the old-hackers who sometimes have known each other for years.
One email that probably deserves to be turned into a guide of its own is GNU Classpath – How to use it. It describes how to get the last 0.08 release working out of the box. And with the latest release of JamVM (1.1.2) you don’t need any patches any more to get it working even with GNU Classpath from CVS. Currently investigating how well other VMs work out of the box. I tested that Kissme from CVS works out of the box with GNU Classpath from CVS. Next up is Jikes RVM.
Comments Off on 02 Apr 2004
Posted
on March 22, 2004, 13:41,
by mjw.
Feeling sick
I hate being sick. Soar throat and a headache. Cannot concentrate. And there are so many exciting things going on. So what I do is I look at the pretty pictures from Grzegorz Prokopski showing Free Swing on SableVM and from Jim Huang showing JSDL on Kaffe. And read about the most amazing news from Steven Augart: Jikes RVM is now fully free software! And there are so many interesting discussions on the GNU Classpath mailinglist and on Planet Classpath…
Please, I want to be better again, and play outside with the new and shiny code…
Comments Off on 22 Mar 2004
Posted
on March 19, 2004, 01:24,
by mjw.
GNU Classpath
Been very happy with the latest release. Many additions (java.util.regexp/gnu.regexp, java.net.URI, javax.swing.undo, java.awt.geom.CubicCurve2D/QuadCurve2D cubic and quadratic equation solving, javax.print.attribute.standard), i/o speed improvements (BufferedReader and ObjectInputStream). Lots of java.awt and gtk+ peer improvements. Start of embedded window support (browsers). Some Swing work. And the normal list of enhancements and bug fixes.
Also wrote a GNU Classpath 0.08 – How to use it overview. Hopefully it explains the interaction between GNU Classpath, gcj, kaffe, compilers, editors, runtime environments, extension libraries and other building blocks. It should get people quickly and easily up to speed with GNU Classpath hacking.
Patrik Reali made a nice FOSDEM’04 page which describes the last GNU Classpath hacker meeting. It includes reports and presentations given at FOSDEM on the current status and future plans.
Lost in translation
Put Japan on the list of places to visit. The loneliness of people in a foreign country was nicely captured. But the interaction between the two main characters didn’t really move me.
Comments Off on 19 Mar 2004
Posted
on March 17, 2004, 16:31,
by mjw.
Do we need to make a choice?
hp wrote an article on
Java, Mono, or C++? which he hopes will be the start of a discussion about high-level language technologies and how they can influence the development of the creation of applications for the free desktops. I am happy because he seems to know what he is talking about (although he seems to ignore KDE, Kaffe OpenVM, GNUstep and Objective C which share some of the goals he is talking about). But GNU Classpath is mentioned a couple of times. The most interesting thing to me was a reference to an old proposal for a shared runtime. I wonder how the new GNU gcj ABI/Pluggable JIT design will fit into something like that.
Comments Off on 17 Mar 2004
Posted
on February 15, 2004, 22:06,
by mjw.
Free JOnAS and Cajo! RMI expert needed
Andrew Haley started a discussion on what was needed to free JOnAS. And I looked in what was missing/broken in GNU Classpath to free Cajo. Looks like we have most things already, but we will need some RMI fixes and extensions. So if you are a RMI expert, please read the thread and volunteer to help on the list. Thanks!
If you just want to find out what the heck this JOnAS is then come to FOSDEM next weekend where Florent Benoit will give a presentation.
Comments Off on 15 Feb 2004
Posted
on February 14, 2004, 22:35,
by mjw.
Free AWT and Free Swing
Seems Free Swing was just the start. Graydon Hoare, Olga Rodimina, Kim Ho, Andrew Overholt, David Jee, Thomas Fitzsimmons and Fernando Nasser decided they could do much more and much faster. So they created a branch for libgcj to really concentrate on hacking Free AWT and Swing stuff. They already have JButton, JSlider and nearly JList working.
Graydon his 2D AWT stuff looks beautiful. Combine this all with the javax.swing.border and javax.swing.undo frameworks that Sascha Brawer just completed (including a huge testsuite!) and we are really cooking. Awesome!
Comments Off on 14 Feb 2004
Posted
on February 13, 2004, 12:00,
by mjw.
FOSDEM
FOSDEM here we come! The organization has provider a killer schedule! And we have added some nice presentations for our developer room.
If you are a GNU Classpath, kaffe, gcj, sablevm, ikvm, jaos, wonka, java-gnome, or free java packager and like to see a strong support for free software written in the java programming language. Please join the group.
In other news. Look at the start of Free Swing!
Comments Off on 13 Feb 2004
Posted
on November 28, 2003, 14:21,
by mjw.
robilad is my hero for the day. When someone complained that the Mauve tests are probably wrong (or not useful) because they point out bugs in the proprietary core library implementation from Sun he described our feelings and hope about creating a truely free platform as follows:
That depends on the situation. If the behaviour is clearly a bug, like in the above case, I’d say report it to Sun, make sure Classpath does it better, and have a mauve test to expose the bug in the JDK. After all, the goal shouldn’t be to just have the classes, it should be to have the superior implementation. Having a test suite of our own helps in showing that everyone’s implementations are buggy, but at least you can fix the free ones and share the fixes ;)
[…]
In the long run, the JDK is as irrelevant as an industry standard as SCO Unix is now. Ten years ago, there were many (closed source) implementations of Unix-ish OSes. GNU/Linux is gradually replacing them.
I boldly predict that the same will happen with Java. True WORA for Java will arrive, but it will arrive through free software efforts like mauve & GNU Classpath [2] that will provide the next reference platform.
[2] And kaffe, gcj, sablevm, kissme, etc. of course ;)
Thanks Dalibor, I needed that!
Comments Off on 28 Nov 2003
Posted
on November 9, 2003, 23:00,
by mjw.
Gnome meets java, java meets GNU gcj, gcj meets Eclipse
I love it when a plan comes together.
Comments Off on 10 Nov 2003