[Info-vax] Python for x86?
Jan-Erik Söderholm
jan-erik.soderholm at telia.com
Thu Apr 13 08:18:23 EDT 2023
Den 2023-04-13 kl. 12:44, skrev Neil Rieck:
> On Wednesday, April 12, 2023 at 9:49:05 PM UTC-4, Craig A. Berry wrote:
>> On 4/12/23 11:37 AM, Arne Vajhøj wrote:
>>> On 4/12/2023 11:30 AM, Zane H. Healy wrote:
>>>> Arne Vajh?j <ar... at vajhoej.dk> wrote:
>>>>> But it could also be an estimated effort problem. It is my impression
>>>>> that Perl is evolving reasonable slowly and that the VMS port has
>>>>> been rock solid for decades. And all versions has been build
>>>>> for both Alpha and Itanium. That sort of make it easier to
>>>>> port and know what is a source problem and what is a tool problem.
>>>>
>>>> One thought I had, after reading the replies. The technical reasons make
>>>> sense. However, in reality, might there not be more Perl code running on
>>>> VMS than Python? I know that on my personal servers I have a fair
>>>> amount of
>>>> Perl, but then I've spent over 26 years with Perl as my primary language.
>>>> My interest in Python is that I am now doing things that require it, so
>>>> being able to use it on VMS would be an advantage to me.
>>>
>>> Maybe.
>>>
>>> If we look at the IT industry over all then:
>>> - Perl is a niche language known by the smart *nix nerds
>>> primarily used for admin scripting today (after having had
>>> some golden years in the late 90's early 00's for web
>>> development)
>> And not just local admin scripting. It's a dependency for autoconf.
>> It's heavily used by other build processes and system utilities in the
>> BSD and Linux worlds. Various potentially breaking changes in Perl
>> analogous to those in Python 3 have been shot down because the whole
>> internet would stop. And because Hyrum's Law.
>>> - Python is one of the top 3 languages - widely used for
>>> admin scripting, big data/data-analysis/ML/AI, web
>>> development (Django), education etc. etc.
>> It's had massive investment by Google and others and its original author
>> has stuck around to see it through the 2 to 3 transition even if
>> stepping back from the role of benevolent dictator for life. Its success
>> is impressive but I don't know how much it has to do with the language
>> itself.
>>> But VMS is not like the overall IT industry.
>>>
>>> A lot of VMS systems are old and from a time where
>>> Perl was bigger than Python.
>>>
>>> In traditional admin scripts for VMS there are
>>> probably way more Perl than Python (DCL is still king
>>> in this area despite its various gaps).
>>>
>>> But there has also been done a lot of Python work on VMS
>>> the last 15 years in the area of integration between
>>> VMS applications and other stuff the companies are
>>> running.
>> Python 3 requires libffi. I believe it was an impediment to getting
>> Python 3 on Alpha because it involved finding someone who knew Alpha
>> assembler who could implement a module in that. Obviously a lot of
>> people, relatively speaking, know x86 assembler, but the ones at VSI may
>> have other stuff to do. Also, I believe Perl is a dependency for
>> building OpenSSL, which is part of the VMS base install. While the
>> current OpenSSL kits are probably cross builds, that may be changing
>> soon and it may have something to do with the order of porting. I also
>> have the impression that at least some people at VSI use Perl frequently
>> as the swiss army chainsaw it's known for.
>
> Actually, the original author, Guido van Rossum, was hired by Google for no other reason than to port python2 up tp python3 along the lines that google wanted. As an enticement, he was told to work on python3 only in the mornings so would be allowed to work on anything else the rest of the day. IIRC, he stayed in that roll for seven years.
>
> And although python is used to do a lot of admin scripting on Linux platforms (tools like "yum" and "firewall-cmd" are written in python), python does a really good job supporting server-side scripting under apache cgi-bin. I don't know how this is possible, but python programs are faster than compiled DEC-BASIC programs started via apache.
The performance depends a lot on if you are using standard Apache CGI
or Apache "loadable modules". If you are just writing your own server
apps, I guess they run as standard CGI (one process started per call).
And I would expect Python to be available as a "loadable module". And
that makes a big differnce, in particular on VMS with it's process
creation overhead.
Here are some figures for WASD and Apache.
http://wasd.vsm.com.au/wasd_root/wasdoc/features/#11.2.scripting
We are using Python 2 in the form of PyRTE (persisting processes) and
have OK performance. First call (starting the Python process) does have
a 1-2 sec overhead, but following calls are processes in fractions of a
second (incl. Rdb processing).
We are currently looking at writing our own persistent server processes
to see if we can tweek the performance a bit more by using compiled
code (Cobol, in our case).
Using a test C application (just returns a timestamp to the browser, the
reply time including starting the VMS process is 172 ms. Additional calls
to the server with the process started are around 60 ms. As reported by
the performance tools in Firefox.
(Firefix running ona Citrix server pointing to one of our DS20e systems.)
>
> So IMHO python3 on OpenVMS is a must-have.
>
> Neil Rieck
> Waterloo, Ontario, Canada.
> http://neilrieck.net
> http://neilrieck.net/OpenVMS.html
More information about the Info-vax
mailing list