[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