<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DCL to program in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502447#M31944</link>
    <description>Travis, the classic workaround for your problem is to add a GOTO that jumps around the block of comments - this is faster, or move the history comments to the end of the file.&lt;BR /&gt;</description>
    <pubDate>Mon, 14 Mar 2005 05:05:40 GMT</pubDate>
    <dc:creator>Ian Miller.</dc:creator>
    <dc:date>2005-03-14T05:05:40Z</dc:date>
    <item>
      <title>DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502433#M31930</link>
      <description>I have a big DCL script and I would like to convert it to a program. Is there any free tool available to migrate it automatically without manual corrections afterwards ?&lt;BR /&gt;Reason : performance.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 11 Mar 2005 02:20:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502433#M31930</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-11T02:20:20Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502434#M31931</link>
      <description>Wim,&lt;BR /&gt;&lt;BR /&gt;as far as I know, there is no such tool.&lt;BR /&gt;&lt;BR /&gt;In former days there was a tool to convert DCL to FORTRAN, but I don't know what happened to it.&lt;BR /&gt;&lt;BR /&gt;Since DCL may perform a lot of substition or image activations during runtime, the performance benefit of a high level language is questionable.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;mfg Kalle</description>
      <pubDate>Fri, 11 Mar 2005 02:47:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502434#M31931</guid>
      <dc:creator>Karl Rohwedder</dc:creator>
      <dc:date>2005-03-11T02:47:57Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502435#M31932</link>
      <description>I have not seen one. The performance gain depends on what the DCL does but can be significant especially if you program what is intended rather than a literal translation.</description>
      <pubDate>Fri, 11 Mar 2005 04:43:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502435#M31932</guid>
      <dc:creator>Ian Miller.</dc:creator>
      <dc:date>2005-03-11T04:43:54Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502436#M31933</link>
      <description>Any hints of how to improve performance are also welcome. Are there logicals that can influence DCL ?&lt;BR /&gt;&lt;BR /&gt;I already&lt;BR /&gt;1) optimized working set size&lt;BR /&gt;2) minimized number of char for a command&lt;BR /&gt;3) installed freq used commands&lt;BR /&gt;&lt;BR /&gt;The script is 4000 lines and is using a lot of gosub's. Calls are used less because resulting in extra load.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 11 Mar 2005 05:33:35 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502436#M31933</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-11T05:33:35Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502437#M31934</link>
      <description>depends on the dcl but a lot of DCL runs lots of images so it helps if the images are installed (at least open/header). Often the frequent image activation overhead is the thing that takes most time so if you can run less images or less often then its a good thing.&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Mar 2005 05:49:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502437#M31934</guid>
      <dc:creator>Ian Miller.</dc:creator>
      <dc:date>2005-03-11T05:49:20Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502438#M31935</link>
      <description>Wim,&lt;BR /&gt;&lt;BR /&gt;I'm sure you did already:&lt;BR /&gt;- squeeze the procedure using DCL_DIET or an&lt;BR /&gt;  equivalent tool&lt;BR /&gt;- may be put it on a ramdisk&lt;BR /&gt;- tweak RMS parameters to faster read the &lt;BR /&gt;  procedure&lt;BR /&gt;&lt;BR /&gt;mfg Kalle</description>
      <pubDate>Fri, 11 Mar 2005 05:52:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502438#M31935</guid>
      <dc:creator>Karl Rohwedder</dc:creator>
      <dc:date>2005-03-11T05:52:39Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502439#M31936</link>
      <description>Karl,&lt;BR /&gt;&lt;BR /&gt;Is ramdisk still needed with the file cache ?&lt;BR /&gt;&lt;BR /&gt;The procedure is executed once and stays active for days or weeks. Is DCL reading it again and again or how is this working in detail ?&lt;BR /&gt;&lt;BR /&gt;I did a manual diet but want to keep it readable.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 11 Mar 2005 06:05:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502439#M31936</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-11T06:05:02Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502440#M31937</link>
      <description>I suppose a Ramdisk... is then not needed, if&lt;BR /&gt;it stays online for days.&lt;BR /&gt;&lt;BR /&gt;May be it is possible to reduce the number of image activations, e.g. I have seen examples, where a routine does:&lt;BR /&gt;$ image par1&lt;BR /&gt;$ image par2&lt;BR /&gt;$ image par2&lt;BR /&gt;which could be replaced by&lt;BR /&gt;$ image&lt;BR /&gt;par1&lt;BR /&gt;par2&lt;BR /&gt;par3&lt;BR /&gt;(simple example, I know :-])&lt;BR /&gt;&lt;BR /&gt;mfg Kalle</description>
      <pubDate>Fri, 11 Mar 2005 06:16:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502440#M31937</guid>
      <dc:creator>Karl Rohwedder</dc:creator>
      <dc:date>2005-03-11T06:16:48Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502441#M31938</link>
      <description>Karl,&lt;BR /&gt;&lt;BR /&gt;Thx for the suggestion. I already did it but forgot to mention it.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 11 Mar 2005 06:18:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502441#M31938</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-11T06:18:23Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502442#M31939</link>
      <description>&lt;BR /&gt;Did the dcldiet version run significantly faster?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Have you done the basic performance analysys where you for example identify which chunk is slow? For example:&lt;BR /&gt;- maybe the procedure has an init, read, sort, update, delete, report, exit phase and only a single stage reallly defines the time.&lt;BR /&gt;- maybe there there are a few loops. What is the order of magnitude of the loop count? thousands? millions? The millions loop should probably be a program.&lt;BR /&gt;&lt;BR /&gt;How about a partial solution? Maybe a particula file analysis phase is more readily done in... perl ?&lt;BR /&gt;&lt;BR /&gt;Show us / describe the part the you think hurts, and maybe we see a speedier solution&lt;BR /&gt;(provide sample input/output data if appropriate).&lt;BR /&gt;&lt;BR /&gt;Groetjes,&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Mar 2005 08:45:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502442#M31939</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2005-03-11T08:45:01Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502443#M31940</link>
      <description>Hein,&lt;BR /&gt;&lt;BR /&gt;There is no problem with the script. I just want to find an easy way to make it faster.&lt;BR /&gt;&lt;BR /&gt;Most of its functions execute a command and parse the output with lexicals (f$el, f$extr, f$len,f$loc).&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Fri, 11 Mar 2005 09:03:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502443#M31940</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-11T09:03:49Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502444#M31941</link>
      <description>&amp;gt;&amp;gt; There is no problem with the script. I just want to find an easy way to make it faster.&lt;BR /&gt;&lt;BR /&gt;So there is a problem... it's not fast enough :-).&lt;BR /&gt;&lt;BR /&gt;Seriously, did you try the DCL-diet version to learn whether the dcl text size is a factor?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; Most of its functions execute a command and parse the output with lexicals (f$el, f$extr, f$len,f$loc).&lt;BR /&gt;&lt;BR /&gt;I suspected that, and those are so often readily replaced with much better performing perl constructs often involving regular expression. Even if that involves extra image activations for perl it may be a big win.&lt;BR /&gt;&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Mar 2005 10:35:07 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502444#M31941</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2005-03-11T10:35:07Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502445#M31942</link>
      <description>Wim,&lt;BR /&gt;&lt;BR /&gt;My only data point on DCL script performance comes from one in which, as soon as I added a header section of comments, performance became very bad.  The basic script runs through a loop over and over.  The comments were all before the loop, but just adding them made the loop take many times as much CPU as it did without the comments.  The loop, by the way, had a short wait inside it, so it was not normally CPU-bound.&lt;BR /&gt;&lt;BR /&gt;--Travis&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Mar 2005 16:00:05 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502445#M31942</guid>
      <dc:creator>Travis Craig</dc:creator>
      <dc:date>2005-03-11T16:00:05Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502446#M31943</link>
      <description>Hein,&lt;BR /&gt;&lt;BR /&gt;No perl for me. My goal is that any VMS system manager can read/understand the script. And perl is not basic knowledge. Just as awk isn't.&lt;BR /&gt;&lt;BR /&gt;A second goal was that nothing had to be installed for using the script. So, dcl was the only thing thats left.&lt;BR /&gt;&lt;BR /&gt;If a program could replace it, I could go on in dcl and generate the program after each modif.&lt;BR /&gt;&lt;BR /&gt;Is there any doc on how command scripts are processed ?&lt;BR /&gt;&lt;BR /&gt;Wim&lt;BR /&gt;</description>
      <pubDate>Mon, 14 Mar 2005 02:01:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502446#M31943</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-14T02:01:30Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502447#M31944</link>
      <description>Travis, the classic workaround for your problem is to add a GOTO that jumps around the block of comments - this is faster, or move the history comments to the end of the file.&lt;BR /&gt;</description>
      <pubDate>Mon, 14 Mar 2005 05:05:40 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502447#M31944</guid>
      <dc:creator>Ian Miller.</dc:creator>
      <dc:date>2005-03-14T05:05:40Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502448#M31945</link>
      <description>&lt;BR /&gt;&amp;gt;&amp;gt; No perl for me. My goal is that any VMS system manager can read/understand the script. And perl is not basic knowledge. &lt;BR /&gt;&lt;BR /&gt;I understand and appreciate the sentiment, but respectfully dissagree.&lt;BR /&gt;A VMS system manager NOT knowing perl (or python, or awk) is holding him himself, and possibly his company, back.&lt;BR /&gt;Over time you may find is easier to find someome with perl skills than intricate DCL skills.&lt;BR /&gt;&lt;BR /&gt;string manipulation with F$EXTR, F$LOC and so on on system data is perfectly reasonable andthe best way to write (maintenance) scripts. However, IMHO, it is often NOT appropriate, or no longer appropriate, to use DCL for basic dataprocessing like rearranging a generic contact list, or summarizing an order file, nor for post processing a VMS audit/error/operator/accounting log&lt;BR /&gt;But hey, that's just one opinion. And perl is just an example it will come and go like everything else.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; A second goal was that nothing had to be installed for using the script. So, dcl was the only thing thats left.&lt;BR /&gt;&lt;BR /&gt;Ah. Fully understood. That's why I still code in macro at times. Sometimes I even embed a macro program in a dcl procedure. That is: The procedure tests for an image. If the image is not there, then it branches out, compiles a source ($DECK), links, deletes object, and goes back to use the freshly created image. This gives a single, ascii distribution kit and no compilers needed.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; If a program could replace it, I could go on in dcl and generate the program after each modif.&lt;BR /&gt;&lt;BR /&gt;Ah, I mis-understood you all along. I somehow decided you wanted to convert the DCL to a C, or Fortran program. And in that case, perl should be evaluated, as is can be easier to read/maintain.&lt;BR /&gt;But you were really talking about a 'dcl compiler' right? Ah... then perl has no relevance.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; Is there any doc on how command scripts are processed ?&lt;BR /&gt;&lt;BR /&gt;No. But is simply works a line at a time.&lt;BR /&gt;No compiling, no P code, no memory (on how to do a line).&lt;BR /&gt;The only optimization, if you want to call it that, is that it remembers the labels by RFA addresses in the file. Which reminds me to pick up a discussion I was having with Guy about not doing record IO private block IO when possible. That could speed up DCL.&lt;BR /&gt;&lt;BR /&gt;I'd be interested to know the RMS component for a DCL string manipulating procedure. How much EXEC mode (RMS) vs SUPER (DCL) when you procedure runs?&lt;BR /&gt;&lt;BR /&gt;I'm still interested to know how much DCL diet helped, or an other procedure which removes all comments, all excess spaces, changes the first 26 symbols to single letters, the next 26*38 to letter plus [letter|number|$|_], reduces lexical to minimal string length (f$ex...) and so on.&lt;BR /&gt;&lt;BR /&gt;Re-arranging code slightly to make critical, high-execution count, loops fit in an (512 byte!) internal rms buffer has helped others in the past. Does the procedure do significant IO to the DCL scripts that you can tell? (ask XFC)&lt;BR /&gt;&lt;BR /&gt;If you attempted this repacking for a single important loop in your script, could you see the difference in SUPER:EXEC:KERNEL cpu? Woudl there be an IO count reduction (if there was IO).&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 14 Mar 2005 08:01:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502448#M31945</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2005-03-14T08:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502449#M31946</link>
      <description>Hein,&lt;BR /&gt;&lt;BR /&gt;It uses very little in exec mode. But with my version of PA I can not extract the data for 1 process. And it is difficult to say how performance evolves because its work is variable and depends on the number of files, processes etc.&lt;BR /&gt;&lt;BR /&gt;It would be nice if some hints could be passed to dcl such as an indication that the script must be cached (without comments) or that an auto-diet must be done (once). Interpreter code even be better.&lt;BR /&gt;&lt;BR /&gt;Concerning Perl : in a team of 8 persons over here there was 1 perl expert and 1 beginner (me). The other 6 would have had a problem ...&lt;BR /&gt;&lt;BR /&gt;Wim&lt;BR /&gt;WIm&lt;BR /&gt;</description>
      <pubDate>Mon, 14 Mar 2005 08:56:35 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502449#M31946</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-14T08:56:35Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502450#M31947</link>
      <description>If your command procedure does a lot of executing a command and then parsing the output it may be that a recent lexical may be able to get the information quicker.  This is especially the case if the output of the command is sent to a temp file which then has to be read in and parsed.&lt;BR /&gt;&lt;BR /&gt;We had a program that checked the number of CPUs the each node had and sent an email alert of the number varied from the norm.  The code was dumping the SHOW CPU command out to a file and then reading in the file and parsing it.  I was able to replace this with the F$GETSYI lexical.  This was much faster and also let prone to the issue of the output format changing when a new version of OpenVMS comes out.  Which is the case when upgrading from OpenVMS V7.3 to V7.3-2.&lt;BR /&gt;&lt;BR /&gt;Cass</description>
      <pubDate>Mon, 14 Mar 2005 20:00:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502450#M31947</guid>
      <dc:creator>Cass Witkowski</dc:creator>
      <dc:date>2005-03-14T20:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502451#M31948</link>
      <description>Wim,&lt;BR /&gt;&lt;BR /&gt;  In addition to DCLDIET, a very long running DCL procedure may benefit from running from a RAMdisk. You can code it so the procedure checks where it's executing from, and if not a RAM disk, creates the disk, copies itself and invokes the RAM disk copy. On completion, the procedure can either tear down the RAM disk, or leave it around for the next time it's invoked. This will only be a win if the procedure runs for a long time, and XFC might do a better job of reducing the I/O.&lt;BR /&gt;&lt;BR /&gt;  As with any performance analysis, to improve things you need to work out what part of your procedure is costing the most and concentrate your efforts there.&lt;BR /&gt;&lt;BR /&gt;  Beware "automatic" conversion from DCL to compiled code. Some of these will do as much as they can to convert DCL to whatever their output language is, but code anything that's left as SPAWNed commands. As you might imagine, this can be detrimental to performance.</description>
      <pubDate>Mon, 14 Mar 2005 23:14:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502451#M31948</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2005-03-14T23:14:28Z</dc:date>
    </item>
    <item>
      <title>Re: DCL to program</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502452#M31949</link>
      <description>I'm going to do some testing and compare performance of perl with DCL.&lt;BR /&gt;IMHO it could be that starting programs (e.g. ncl) in a subprocess by perl all the time is more expensive than the overhead of DCL.&lt;BR /&gt;&lt;BR /&gt;I'll post the results.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Tue, 15 Mar 2005 11:43:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-to-program/m-p/3502452#M31949</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2005-03-15T11:43:37Z</dc:date>
    </item>
  </channel>
</rss>

