Tasking speeds: Ada vs. Unix/C
Bill Wolfe
wtwolfe at hubcap.clemson.edu
Mon Nov 20 05:16:31 AEST 1989
The following article relates to the recent discussion
of Ada vs. UNIX/C and lightweight processes. Notice the
disastrous performance produced by UNIX/C relative to Ada.
*******************************
ADA-SW Digest Sat, 18 Nov 89 Volume 89 : Issue 48
Date: Fri, 17 Nov 89 11:03:44 CST
From: steve at titan.tsd.arlut.utexas.edu (Steve Glicker)
Subject: Simple process and task switching speeds
Recently there have been references to lightweight processes, UNIX/C
processes, and Ada tasking in terms of speed (Bill Wolfe on Date: 15
Nov 89 16:06:41 GMT and Walter Rowe on Date: 16 Nov 89 18:20:01 GMT).
Over the last few months, I have been collecting numbers on
task/process switching speeds. Several tests have been run were two
tasks or processes invoke each other several hundred thousand times,
execution time is then divided by switches...
The information I have collected is in the following table. This is
quite informal -- these are rough estimates. Does anyone have
estimates on the speed of lightweight processes, etc.? Data on
embedded systems is welcome. I would also appreciate any references
to work published on this topic.
Platform Test Switching Speed
============== ================ =================
microVAX (VMS) VMS processes ~ 0.6 ms
microVAX (VMS) DEC Ada tasks ~ 0.6 ms
Sun 3/50 (UNIX) Function call ~ 0.01 ms
Sun 3/50 (UNIX) Simula processes ~ 0.2 ms
Sun 3/50 (UNIX) Verdix Ada tasks ~ 0.3 ms
Sun 3/50 (UNIX) UNIX/C processes ~10.0 ms
I understand that the microVAXs ran at ~0.9 VAX 780 MIPS and the Sun
3/50 at ~1.5 VAX 780 MIPS. In the cases of Ada and Simula a scheduler
supplied with the language was used.
Steve Glicker
(steve at titan.tsd.arlut.utexas.edu)
**********************************
Bill Wolfe, wtwolfe at hubcap.clemson.edu
More information about the Comp.lang.c
mailing list