[Info-vax] ADA and VMS (was Safer programming languages)

Craig A. Berry craigberry at nospam.mac.com
Fri Nov 19 18:41:55 EST 2021


On 11/19/21 8:38 AM, Arne Vajhøj wrote:
> On 11/19/2021 8:08 AM, Craig A. Berry wrote:
>>
>> On 11/15/21 6:35 PM, Arne Vajhøj wrote:
>>> On 11/15/2021 6:28 PM, Bill Gunshannon wrote:
>>>> On 11/15/21 4:18 PM, Robert A. Brooks wrote:
>>>>> On 11/15/2021 4:01 PM, Bill Gunshannon wrote:
>>>>>> This talk of Ada, VMS and Systems programming has raised a new
>>>>>> question in my mind.
>>>>>>
>>>>>> Given that Ada got it's start on VMS (one of the first validated
>>>>>> Ada Compilers was on VMS) has any attempt ever been made to write
>>>>>> any part of VMS using Ada?  Device Driver? Anything?
>>>>>
>>>>> ACME_SERVER and SECURITY_SERVER are written in ADA.
>>>>>
>>>>> Both are being rewritten in C.
>>>>
>>>> Were there ever any internal benchmarks run against them so that
>>>> a comparison of performance when the C conversion is done could
>>>> be looked at?
>>>
>>> Depending on how many checks were disabled in the Ada version, then
>>> the C version may be a little or a lot faster,
>>>
>>> But I cannot imagine it having any significance on modern hardware.
>>>
>>> They did not rewrite in C to save CPU cycles but because they did
>>> not have an Ada compiler for the new platform.
>>
>> Right, but that doesn't mean the performance of the Ada version is good
>> or that bad performance doesn't matter. In fact, ACME server performance
>> is pretty lousy.  SET SERVER ACME/RESTART takes 36 seconds on an rx2660.
>>   That's 36 seconds of downtime during which no one can log in to the
>> system, which might not matter much in some environments, but is still a
>> very long time to restart a service.
> 
> It is.
> 
> So if we say that the right time is 1 second, then those extra
> 35 seconds - what are they used on?
> 
> Doing Ada runtime checks??
> 
> I doubt it.
> 
> I suspect there are some bad logic that need to be redesigned.

Abysmal performance of a service written in Ada may or may not have
anything to do with Ada directly or indirectly.  Or it may.  ACME has no
reason to do a large quantity of network I/O or disk I/O, so it has no
reason to be considered a victim of the slow network stack or the slow
disk/filesystem infrastructure endemic to VMS.  So the only thing I know
is that the slowest service I've ever seen on VMS in a few decades is
that this particular service is (uncharacteristically) written in Ada,
so Ada is suspect.  I do not have the time, interest, or access to the
code that would be required to prove the actual performance bottleneck.





More information about the Info-vax mailing list