jEdit performance problem

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

jEdit performance problem

kenner

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

ThSITC
Hi Kenneth, *and all*:

This is the *major reason* I am still using simple DOS Commands (under Widows XP, at the minute)....

Don't like *my Computers<* to WASTE *My Time* :;-) ;-) ;-)

By the way, I have been on the Vienna VMWare Forum, here, in Austria, at TuesDay, 7th May, the whole day (GMT+1) (+ SummerTime, here in Vienna, of Course) ...

before I did JOIN the RexxLA Conference, there, in Raleigh!

Most interestingly:

This Conference diid have some 650 Attendees!

Met a lot of them, *trying to establish+ ...

*New Business Contacts*

Also did get a *FREE SUSE LINUX ENTERPRISE 11*

Evaluatio KIT,

which I shall install on my *very old* DELL NETBook, the next day, to be able to
*Test* my own SOFT under Linux, as well, as Windows ;-) ;-9 ;-)

Personally, ...

... still BUSY (with a quite straightforward, but TIME-Consuming ...)

Learning CURVE to *exchange* my own *personal dvelopment* and *QA (Quality Assurance)*
*Environment*, as established more than 30 Years AGO there, at my GEISCO (General Information
Information Services, running the International Mark III System, Based on MIT Multics, those times)
to ...

... the nowadays recommended Techniques and Methods as SVN, etc ;-) ;-)

By the way, totally unrelated, we *do have here in Vienna, Austria (Europe, NO Kangooroohs, at
all, sorry to say)*

a VERY CATHOLIC FREE Day:

****************************************
* Christi HIMMELFAHRT
****************************************

As, in the thinkings of the those times HUMAN BEEINGS, the Earth has been FLAT,
the HELL below, and the HEAVEN above, and *Jesus Christ* did *GO UP TO HEAVEN* ...

... then, for sure, he shall be now a *Satellite* (or what?)    <grin, and only joking, a bit, when this is allowed, atb all! )))

Have a nice weekend, all!
Thomas.
==================================================================



Am 09.05.2013 14:24, schrieb Kenneth Klein (TEMA TPC):

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/



--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria, Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

Kermit Kiser
In reply to this post by kenner
Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit


On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

kenner

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit

On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

billfen
Just a minor point: "trace3" is not a valid NetRexx option, and the word is ignored (intentionally, by design) in options statements. 

The default ("trace" or "trace2", the standard error stream) is used.  "trace1" writes the output to the normal output stream.  AFAIK, there is no NetRexx option which writes to both streams.  Perhaps you were thinking "trace3" did that?

I think NetRexx should provide a warning (or at least an information message) about invalid options instruction options, but it does not.  Many programs attempt to use options which are only valid as command line options in options statements.  (e.g. all the Rosetta programs specify "savelog").


On 5/10/2013 8:26 AM, Kenneth Klein (TEMA TPC) wrote:

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit

On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

George Hovey-2
Bill,
Is there a need for a NetRexx Lint?


On Mon, May 13, 2013 at 10:19 AM, Bill Fenlason <[hidden email]> wrote:
Just a minor point: "trace3" is not a valid NetRexx option, and the word is ignored (intentionally, by design) in options statements. 

The default ("trace" or "trace2", the standard error stream) is used.  "trace1" writes the output to the normal output stream.  AFAIK, there is no NetRexx option which writes to both streams.  Perhaps you were thinking "trace3" did that?

I think NetRexx should provide a warning (or at least an information message) about invalid options instruction options, but it does not.  Many programs attempt to use options which are only valid as command line options in options statements.  (e.g. all the Rosetta programs specify "savelog").



On 5/10/2013 8:26 AM, Kenneth Klein (TEMA TPC) wrote:

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit

On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/





--
"One can live magnificently in this world if one knows how to work and how to love."  --  Leo Tolstoy

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

billfen

On 5/13/2013 12:06 PM, George Hovey wrote:
> Bill,
> Is there a need for a NetRexx Lint?
>
Probably not - but it is an interesting idea.  I'm not sure what it
would show since NetRexx is so simple compared to C and most other
languages.  But a lot of languages have them:

http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

Bill

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

Kermit Kiser
In reply to this post by kenner
Sorry about the delay - had some other pressing issues to handle.

The NetRexx plugin that I am running shows version 0.2.14 - I doubt that the difference affects this issue but it is worth checking out.

Latest jar is here:

https://kenai.com/projects/netrexx-plus/downloads/download/jEdit%20NetRexxPlugin/NetRexxPlugin.jar


I will see if I can duplicate the problem and isolate a cause as soon as I can get the time.

-- Kermit

On 5/10/2013 2:26 AM, Kenneth Klein (TEMA TPC) wrote:

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit

On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

kenner

Thanks, Bill.

 

KK, I tested with 0.2.14 and got the same results, just as extreme.

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Kermit Kiser
Sent: Monday, May 13, 2013 2:25 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Sorry about the delay - had some other pressing issues to handle.

The NetRexx plugin that I am running shows version 0.2.14 - I doubt that the difference affects this issue but it is worth checking out.

Latest jar is here:

https://kenai.com/projects/netrexx-plus/downloads/download/jEdit%20NetRexxPlugin/NetRexxPlugin.jar


I will see if I can duplicate the problem and isolate a cause as soon as I can get the time.

-- Kermit

On 5/10/2013 2:26 AM, Kenneth Klein (TEMA TPC) wrote:

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit


On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?





_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

Kermit Kiser
Kenneth --

I managed to get your sample program to run although I had to move the close for the output file to after the write call for the final line.

Unfortunately, I still cannot duplicate the problem you are seeing. Whether I run your program from batch or from jEdit inside it's VM or in a separate VM or even interpreted, it successfully completes in an elapsed time too small for me to measure.

Granted my system is fairly fast (win7 AMD hexcore at 3+ GHz), I don't think that is a factor. You may have a memory problem or something. I don't know what to look at now. Perhaps if you could tell what type system you are using (OS, processor, speed, memory) and what version of Java, jEdit, and NetRexx you have, I could look more closely.

-- Kermit


On 5/15/2013 1:20 AM, Kenneth Klein (TEMA TPC) wrote:

Thanks, Bill.

 

KK, I tested with 0.2.14 and got the same results, just as extreme.

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Monday, May 13, 2013 2:25 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Sorry about the delay - had some other pressing issues to handle.

The NetRexx plugin that I am running shows version 0.2.14 - I doubt that the difference affects this issue but it is worth checking out.

Latest jar is here:

https://kenai.com/projects/netrexx-plus/downloads/download/jEdit%20NetRexxPlugin/NetRexxPlugin.jar


I will see if I can duplicate the problem and isolate a cause as soon as I can get the time.

-- Kermit

On 5/10/2013 2:26 AM, Kenneth Klein (TEMA TPC) wrote:

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit


On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?





_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/



_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: jEdit performance problem

kenner

Kermit:

The difference is when trace is turned on. Did you use trace in your test?

Ken

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Kermit Kiser
Sent: Wednesday, May 15, 2013 7:08 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Kenneth --

I managed to get your sample program to run although I had to move the close for the output file to after the write call for the final line.

Unfortunately, I still cannot duplicate the problem you are seeing. Whether I run your program from batch or from jEdit inside it's VM or in a separate VM or even interpreted, it successfully completes in an elapsed time too small for me to measure.

Granted my system is fairly fast (win7 AMD hexcore at 3+ GHz), I don't think that is a factor. You may have a memory problem or something. I don't know what to look at now. Perhaps if you could tell what type system you are using (OS, processor, speed, memory) and what version of Java, jEdit, and NetRexx you have, I could look more closely.

-- Kermit

On 5/15/2013 1:20 AM, Kenneth Klein (TEMA TPC) wrote:

Thanks, Bill.

 

KK, I tested with 0.2.14 and got the same results, just as extreme.

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Monday, May 13, 2013 2:25 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Sorry about the delay - had some other pressing issues to handle.

The NetRexx plugin that I am running shows version 0.2.14 - I doubt that the difference affects this issue but it is worth checking out.

Latest jar is here:

https://kenai.com/projects/netrexx-plus/downloads/download/jEdit%20NetRexxPlugin/NetRexxPlugin.jar


I will see if I can duplicate the problem and isolate a cause as soon as I can get the time.

-- Kermit

On 5/10/2013 2:26 AM, Kenneth Klein (TEMA TPC) wrote:

1)      ?? I dunno. I installed this stuff over a year ago, maybe longer. How can I tell? About jEdit says “5.0.0”. Plugin Manager shows NetRexx plugin to be at 0.2.11. Is there a newer one?

2)      I just click on the little badge icon, or is it an arrow head, and then the triangle and off it goes.

3)      Never looked at it before, it is still unchecked.

4)      Working code below. Running on windoze 7. I should add that even with trace results and trace var for a slew of variables the program runs outside of jEdit in a minute or two.

 

 

/* This is a sample file input and output program, showing how to open,

   check, and process text files, and handle exceptions.

   Note the use of the Reader and Writer classes, which convert your

   local computer's 'code page' (character encoding) to Unicode during

   reading and back again during writing. */

options verbose4 trace3 logo

import java.util.Date

import java.text.

import java.text.DateFormat

import java.text.SimpleDateFormat

import java.io

class Percent_CPU_minutes_per_day_per_LPAR

            properties static

                        savedCP1A_Minutes

                        savedCP1C_Minutes

                        savedCP1D_Minutes

                        savedCP1F_Minutes

                        savedCP1H_Minutes

                        savedCP1K_Minutes

                        savedCP1L_Minutes

                        savedCP1S_Minutes

                        savedCP1U_Minutes

                        savedCP1Z_Minutes

                        sysId = ''

                        dateIn = '' 

                        theWeek = 01

                        theYear = 01

                        fin = string

                        outline = string

                        inhandle = BufferedReader

                        outhandle = BufferedWriter

                        linesep = string

                        linesWritten = int 0

                        Debug_Level = 55  -- pretty serious debugging

method main(arg=string[]) static

            filename = "rmf.report.rolledup.txt"

            Percent_CPU_minutes_per_day_per_LPAR(filename)

method Percent_CPU_minutes_per_day_per_LPAR(arg=string) signals IOException

if Debug_Level > 50 then trace results

if Debug_Level > 10 then trace var -

      savedWeek  theWeek -

      savedYear  theYear -

             percentA_Minutes -

      percentC_Minutes -

      percentD_Minutes -

      percentF_Minutes -

      percentH_Minutes -

      percentK_Minutes -

      percentL_Minutes -

      percentS_Minutes -

      percentU_Minutes -

      percentZ_Minutes -

      linesep

parse arg fin .   -- get the arguments: input and output files

if fin='' then do

  say '# Please specify input file.'

  exit 1

end

/* Open and check the files */

do

            if Debug_Level > 30 then say "fin= " fin

            inhandle=BufferedReader(FileReader(fin))

            outhandle=BufferedWriter(FileWriter(fin || '.new'))

            say 'Processing' fin

catch Z=IOException  --, X=FileNotFoundException

              say '# error opening file' Z.getMessage

end

linesep=System.getProperty('line.separator') -- be platform-neutral

/* The main processing loop */

savedWeek = 99

savedYear = 999

      firstWeek = 1

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

 

loop linenum=1 by 1 -- to 1000

  theLine=Rexx inhandle.readLine           -- get next line [as Rexx string]

  if theLine=null then leave linenum       -- normal end of file

             

  parse theLine sysId dateIn timeIn CP1A_Minutes -

                                    CP1C_Minutes -

                                    CP1D_Minutes -

                                    CP1F_Minutes -

                                    CP1H_Minutes -

                                    CP1K_Minutes -

                                    CP1L_Minutes -

                                    CP1S_Minutes -

                                    CP1U_Minutes -

                                   CP1Z_Minutes -

                                    CF1_Minutes CF2_Minutes MVS_percent LPAR_percent                                   

      fd = SimpleDateFormat("E")  /* day of the week */

      dt = fd.format(Date(dateIn))

      if Debug_Level > 70 then say dt

-- //formatting Month in MMM format like Jan, Feb etc.

             strDateFormat = "MMM";

     sdf = SimpleDateFormat(strDateFormat);

     theMonth = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Month in MMM format : " theMonth

    

     strDateFormat = "YY";

     sdf = SimpleDateFormat(strDateFormat);

     theYear = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Year in YY format : " theYear

             

     strDateFormat = "w";

     sdf = SimpleDateFormat(strDateFormat);

     theWeek = sdf.format(Date(dateIn));

     if Debug_Level > 40 then say "Current Week in 1-53 format : " theWeek

     if linenum=1 then do

             savedWeek = theWeek

             savedYear = theYear

     end

           

  if dt="Sat" then iterate linenum       -- skip the wkends

  if dt="Sun" then iterate linenum       -- skip the wkends

 

  savedCP1A_Minutes = savedCP1A_Minutes + CP1A_Minutes

  savedCP1C_Minutes = savedCP1C_Minutes + CP1C_Minutes

  savedCP1D_Minutes = savedCP1D_Minutes + CP1D_Minutes

  savedCP1F_Minutes = savedCP1F_Minutes + CP1F_Minutes

  savedCP1H_Minutes = savedCP1H_Minutes + CP1H_Minutes

  savedCP1K_Minutes = savedCP1K_Minutes + CP1K_Minutes

  savedCP1L_Minutes = savedCP1L_Minutes + CP1L_Minutes

  savedCP1S_Minutes = savedCP1S_Minutes + CP1S_Minutes

  savedCP1U_Minutes = savedCP1U_Minutes + CP1U_Minutes

  savedCP1Z_Minutes = savedCP1Z_Minutes + CP1Z_Minutes

                                 

  if theWeek > savedWeek | theYear > savedYear | firstWeek then do

              WriteTheRecord()

      savedWeek = theWeek

      savedYear = theYear

      savedCP1A_Minutes = 0

      savedCP1C_Minutes = 0

      savedCP1D_Minutes = 0

      savedCP1F_Minutes = 0

      savedCP1H_Minutes = 0

      savedCP1K_Minutes = 0

      savedCP1L_Minutes = 0

      savedCP1S_Minutes = 0

      savedCP1U_Minutes = 0

      savedCP1Z_Minutes = 0

      firstWeek = 0

      end -- the do when the week number changes.

      catch e=IOException

              say '# error reading or writing file' e.getMessage

      catch RuntimeException

              say '# processing ended due to -RuntimeException-.'

      finally do                              -- close files

              if inhandle\=null  then inhandle.close

              if outhandle\=null then outhandle.close

          -- ignore errors during close

      end -- the finally do

  end linenum

WriteTheRecord()  -- write the last record out to the file

say linenum-1 'records read'

 

method WriteTheRecord() public signals IOException

if Debug_Level > 50 then trace results

do

              percentA_Minutes = 100 * savedCP1A_Minutes / (7 * 5 * 24 * 60)

      percentC_Minutes = 100 * savedCP1C_Minutes / (7 * 5 * 24 * 60)

      percentD_Minutes = 100 * savedCP1D_Minutes / (7 * 5 * 24 * 60)

      percentF_Minutes = 100 * savedCP1F_Minutes / (7 * 5 * 24 * 60)

      percentH_Minutes = 100 * savedCP1H_Minutes / (7 * 5 * 24 * 60)

      percentK_Minutes = 100 * savedCP1K_Minutes / (7 * 5 * 24 * 60)

      percentL_Minutes = 100 * savedCP1L_Minutes / (7 * 5 * 24 * 60)

      percentS_Minutes = 100 * savedCP1S_Minutes / (7 * 5 * 24 * 60)

      percentU_Minutes = 100 * savedCP1U_Minutes / (7 * 5 * 24 * 60)

      percentZ_Minutes = 100 * savedCP1Z_Minutes / (7 * 5 * 24 * 60)

              outLine = sysId dateIn theWeek savedCP1A_Minutes.format(5,2) -

                                                                                                            savedCP1C_Minutes.format(5,2) -

                                    savedCP1D_Minutes.format(5,2) -

                                    savedCP1F_Minutes.format(5,2) -

                                    savedCP1H_Minutes.format(5,2) -

                                    savedCP1K_Minutes.format(5,2) -

                                    savedCP1L_Minutes.format(5,2) -

                                    savedCP1S_Minutes.format(5,2) -

                                    savedCP1U_Minutes.format(5,2) -

                                    savedCP1Z_Minutes.format(5,2) -

                                    percentA_Minutes.format(5,2) -

                                    percentC_Minutes.format(5,2) -

                                    percentD_Minutes.format(5,2) -

                                    percentF_Minutes.format(5,2) -

                                    percentH_Minutes.format(5,2) -

                                    percentK_Minutes.format(5,2) -

                                    percentL_Minutes.format(5,2) -

                                    percentS_Minutes.format(5,2) -

                                    percentU_Minutes.format(5,2) -

                                    percentZ_Minutes.format(5,2) -

                                   (percentA_Minutes.format(5,2) + -

                                    percentC_Minutes.format(5,2) + -

                                    percentD_Minutes.format(5,2) + -

                                    percentF_Minutes.format(5,2) + -

                                    percentH_Minutes.format(5,2) + -

                                    percentK_Minutes.format(5,2) + -

                                    percentL_Minutes.format(5,2) + -

                                    percentS_Minutes.format(5,2) + -

                                    percentU_Minutes.format(5,2) + -

                                    percentZ_Minutes.format(5,2))

                                    -- CF1_Minutes CF2_Minutes MVS_percent LPAR_percent

      outhandle.write(outLine, int 0, outLine.length)

              outhandle.write(linesep, int 0, linesep.length)

              linesWritten = linesWritten + 1

              say linesWritten 'lines written'

              catch e=IOException

                          say '# error reading or writing file' e.getMessage

              catch RuntimeException

                          say '# processing ended due to -RuntimeException-.'

 

end -- of the write method

return

 

Data input looks like this.

 

CP1C 05/22/2011 00.00.00 1.06673333 5.63965 1.12473333 3.36356667 5.92073333 1.05851667 0.743516667 1.04328333 1.0913 0.675883333 0 0  6.31  6.41                                                                                                              

CP1C 05/22/2011 00.30.00 1.05656667 12.3385833 1.1176 5.46706667 1.55308333 1.0248 0.68035 1.05033333 1.0962 0.686533333 0 0 13.78 13.98                                                                                                                       

CP1C 05/22/2011 01.00.00 1.23403333 13.5865833 1.27228333 3.50931667 3.17801667 1.21045 0.745016667 1.23228333 1.30766667 0.839883333 0 0 15.21 15.45                                                                                                          

CP1C 05/22/2011 01.30.00 1.08826667 11.60555 1.26056667 10.43555 1.64288333 1.19426667 0.77275 1.21945 1.2818 0.84645 0 0 13.01 13.20                                                                                                                          

CP1C 05/22/2011 02.00.00 3.73188333 14.7386333 2.37851667 50.2841 1.87278333 4.97086667 0.925883333 2.6139 4.1597 0.950533333 0 0 16.49 16.66                                                                                                                  

CP1C 05/22/2011 02.30.00 8.9105 14.7110833 3.07421667 42.2248167 2.47958333 3.87048333 1.03523333 14.543 5.68586667 1.01661667 0 0 16.45 16.58                                                                                                                 

CP1C 05/22/2011 03.00.00 1.71783333 12.898 3.4578 25.9902833 2.6842 9.619 1.28545 16.1819333 15.6703333 0.974783333 0 0 14.44 14.50              

 

 

From: [hidden email] [[hidden email]] On Behalf Of Kermit Kiser
Sent: Thursday, May 09, 2013 4:48 PM
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] jEdit performance problem

 

Hi Kenneth --

Can you verify some things for me?

1) Are you using the new NetRexx plugin that merges the compiler and interpreter plugins together?
2) Did you compile the program before running it or are you interpreting it?
3) On the NetRexx plugin options screen for the Compiler, have you checked the box titled "Run compiled classes in jEdit rather than a separate Java environment?"
4) Can you provide a sample program to duplicate the problem?

Unfortunately the help files for the new plugin are out of date, but if you run compiled programs in a separate Java, the technique used to capture program output there is rather inefficient.

-- Kermit



On 5/9/2013 2:24 AM, Kenneth Klein (TEMA TPC) wrote:

When I run a program under Jedit using the netrexx plugin and trace results turned on, my poor quad core processor runs 1 cpu at 25% in javaw.exe and the netrexx output area displays my “say” statements at a rate of about one record per minute. Jedit response time is minute-long. Is this normal?






_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 





_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
 

 


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/