From: "Paul G. Allen" <pgallen@gmail.com>
To: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Linux Serial Performance
Date: Sat, 9 Jan 2010 10:57:48 -0800 [thread overview]
Message-ID: <bd8e30a41001091057t97f90abgffe9cca329ace477@mail.gmail.com> (raw)
I have been working on an application for work written in Java. It's a
production system used for loading firmware into embedded devices via
RS-232. It is designed to load multiple devices in parallel (tested
with up to 32 on a machine thus far). With another Java application
running on Windows XP, a single unit would take about 1 min to load
~400,000 byte binary image. I ported this code to the production
system on Linux and it took over 15 min to load a single unit.
I ran some tests on Windows XP and Linux CentOS 5.1 using the Sun
NetBeans IDE 6.7.1 profiler. The same Java code on both Linux and XP
machines, the same model of machine (Dell, Pentium 4 3GHz, 2.5GB
memory). I am using the Sun comm API currently, and previously I was
using the Serlio API. In all cases, the profiler shows the serial Tx
to be about 20x faster (twenty times) on Windows XP than in Linux. It
takes Linux several seconds to Tx 1024 byte blocks of data over the
serial port where Windows XP takes a fraction of a second. I had also
noticed that Linux seemed to be very slow in 2006-2007 when using
Fedora (can't recall which version) and the Serialio API, but at that
time I could not get Windows to work at all. This has forced us to
lean toward the use of Windows (and pay for licensing for multiple
machines, etc.) instead of Linux for every system that will be used in
testing and manufacture of our product.
I am wondering, have there been any performance tests comparing Linux
serial IO to Windows and what was the result? Is it a problem in the
comm API (e.g. - the Windows DLL having better performance than the
Linux .so)? Is it a problem in the Linux serial driver itself? Is
there something I can/need to do on Linux to tweak the driver and make
it faster?
Thanks,
PGA
--
Paul G. Allen
Random Logic Consulting
www.randomlogic.net
next reply other threads:[~2010-01-09 18:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-09 18:57 Paul G. Allen [this message]
2010-01-09 19:10 ` Samuel Thibault
2010-01-09 19:32 ` Paul G. Allen
2010-01-09 19:46 ` Dr. David Alan Gilbert
2010-01-09 19:47 ` Michael Trimarchi
2010-01-09 20:30 ` Alan Cox
2010-01-09 23:51 ` Robert Hancock
2010-01-10 18:26 ` Krzysztof Halasa
2010-01-10 19:42 ` James Courtier-Dutton
2010-01-14 18:35 ` Paul G. Allen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bd8e30a41001091057t97f90abgffe9cca329ace477@mail.gmail.com \
--to=pgallen@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®