* Help: Ada/X binding performance
@ 1994-12-22 16:45 gamache
1994-12-23 10:55 ` R. William Beckwith
1994-12-23 11:14 ` R. William Beckwith
0 siblings, 2 replies; 3+ messages in thread
From: gamache @ 1994-12-22 16:45 UTC (permalink / raw)
Hi everyone,
I need some help with regards to Ada bindings to X windows. We have an
application that needs to do updates often. I can't say exactly how often.
I have access to the Ada W3 server and have seen the info there.
My question is this, has anyone done any performance studies comparing
Ada and non-Ada implementations? Is there a linear curve for updating
a given screen at 1 Hz, 5 Hz, 10 Hz, 20 Hz?
Put another way, I'm asking if anyone knows, supported by data, whether or
not Ada implementations can compete in real-time uses of X. No other solutions
are not an option. No I didn't pick X. Yes, I hope and expect that Ada can
compete - just need some data to back this up.
To any vendors, please do NOT call, write, email or otherwise. I'm not
interested in marketing, I need hard data.
To everyone else, thanks for any input (if any).
PS. My turnaround time for this is short - the decision will be made the first
week in January.
Joe Gamache
Lockheed Sanders
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Help: Ada/X binding performance
1994-12-22 16:45 Help: Ada/X binding performance gamache
@ 1994-12-23 10:55 ` R. William Beckwith
1994-12-23 11:14 ` R. William Beckwith
1 sibling, 0 replies; 3+ messages in thread
From: R. William Beckwith @ 1994-12-23 10:55 UTC (permalink / raw)
gamache@rapnet.sanders.lockheed.com wrote:
: I need some help with regards to Ada bindings to X windows. We have an
: application that needs to do updates often. I can't say exactly how often.
: I have access to the Ada W3 server and have seen the info there.
: My question is this, has anyone done any performance studies comparing
: Ada and non-Ada implementations? Is there a linear curve for updating
: a given screen at 1 Hz, 5 Hz, 10 Hz, 20 Hz?
Ada isn't an issue here. X is. Whether you are using a C or an Ada
implementation of X is not as critical as the fundamentally asynchronous
client/server model of X.
My guess is that you are stressing mostly the X server. Try running x11perf
and monitor the CPU time on both the X server and the X client (x11perf).
I just did this on my HP 715/33. rlogin to the test system from another
display and run:
xhost +
setenv DISPLAY test:0.0
x11perf -repeat 3 -all > perf.out &
I ran `top' to watch the CPU utilization. The X server stayed between
90-98% and x11perf stayed between 1.5-8.5%. You mileage may vary ...
Thus, I think you are focusing too heavily on the X client. The client
is critical in that the client is telling the server what to do. And
the way that you use the X server via X lib in your X application is
critical. But, the language of the client isn't going to matter all
that much. Not unless you have a _really_ slow client CPU and a really
fast X server CPU.
: Put another way, I'm asking if anyone knows, supported by data, whether or
: not Ada implementations can compete in real-time uses of X. No other solutions
: are not an option. No I didn't pick X. Yes, I hope and expect that Ada can
: compete - just need some data to back this up.
I'll bet that with either Ada or C applications calling Ada or C implementations
of X lib you are not going to see more than a 10% variance either way.
Even if Ada was 10% slower (I don't think it is), you might only see
a 0.5% difference in overall performance.
So if I've succeeded in dispelling the language issue, I'll move on to
more relevant issues. Here's a couple of suggestions:
1. be really smart about sending only the absolutely necessary
X requests to the server (easy to say, hard to do). Several
architectures do this well. Xt/Motif ain't one of them.
2. double buffer the graphics (draw to a pixmap and use XCopyArea
to move the image to the window). Double buffering not only
looks smoother, it significantly decreases the draw time in
server.
3. use multi-threaded Xlib in X11R6. It will allow you to
overlap what little client processing is involved in
multiple threads. This is where Ada can be a big win.
: To any vendors, please do NOT call, write, email or otherwise. I'm not
: interested in marketing, I need hard data.
The hype you should be looking for is killer X server benchmark numbers.
: To everyone else, thanks for any input (if any).
I am a vendor, but I hope I helped anyway. ;-)
: PS. My turnaround time for this is short - the decision will be made the first
: week in January.
Good luck.
... Bill
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Help: Ada/X binding performance
1994-12-22 16:45 Help: Ada/X binding performance gamache
1994-12-23 10:55 ` R. William Beckwith
@ 1994-12-23 11:14 ` R. William Beckwith
1 sibling, 0 replies; 3+ messages in thread
From: R. William Beckwith @ 1994-12-23 11:14 UTC (permalink / raw)
gamache@rapnet.sanders.lockheed.com wrote:
: Is there a linear curve for updating
: a given screen at 1 Hz, 5 Hz, 10 Hz, 20 Hz?
Remember that your requests to the X server are asynchronous. So
the curve is flat until the X server can't keep up. ;-)
BTW, X servers vary greatly on what they do well v.s. what they do
poorly. Running x11perf will give you lots of raw data to compare
them.
... Bill
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~1994-12-23 11:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1994-12-22 16:45 Help: Ada/X binding performance gamache
1994-12-23 10:55 ` R. William Beckwith
1994-12-23 11:14 ` R. William Beckwith
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox