Paul G. Allen wrote:
I've written a rather large Java application for my company. It uses MySQL and serial communications. Part of the application loads firmware from a file on the PC into an embedded device over the serial ports. It can support as many serial ports as the computer can support (currently I've used it with 10). It runs a separate thread for each port. It runs on Linux (specifically, I'm using FC4). The MySQL database is on a server.

The portion of the code used for doing the serial port communication was taken from another application that performs a similar task. This other application only supports a single serial port and only runs on Windows.

It seems the other application can load the firmware in a fraction of the time that mine can, but the code is the same. I haven't yet been able to try my code on a Windows box that works to see if it'll run faster. I'm wondering if a Java on Linux might be slower than Java on Windows? I'm also wondering if there is a JIT compiler in existence that I can use to compile the Java app. into native code for Linux (there are many for Windows). The JIT would have to support Sun Java 1.5. (Note: Seems I can't find HotSpot for Java 1.5)

It also seems that my application takes far longer than it should to load firmware depending upon the number of devices connected: loading 203KB at 115,200 on a single device takes 15 minutes, 10 devices takes 20 minutes).

Are serial port interrupts enabled and being used? Serial comm at 115K baud really needs to be interrupt-driven.

Karl Cunningham


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to