[Oorexx-devel] Questions ad RXINI and RXTER exits
After having implemented and successfully tested the RXSIO, RXNOVAL and RXVALUE exits (i.e. exit handlers in Java process the exits), I turned to RXINI and RXTER, which has been very interesting as it allows one to get some feeling about how much is actually going on in the ooRexx interpreter. :) A few questions from the observations: * I noticed that in RXINI one can set context variables, but getting them in the same RXINI routine returns the variables as NULL, not reflecting that immediately before a SetContextVariable() was carried out (successfully as it turns out later in the Rexx code)? o Just wanted to ask (to make sure) that this is by design and not a glitch (for which I would otherwise file a bug report). * RXINI and RXTER run not only for the executed Rexx program, but also for runtime invocations of routines? o If so, can one somehow programmatically find out for which routine, procedure they run? + This might allow one to set up timings, by placing a DateTime object in RXINI and calculating the spent time in RXTER, short of other profiling. * Would it make sense at all to allow for RXINI/RXTER exits for method code, which could then also benefit from the ability to become able to set context variable at RXINI and/or fetch context variables at RXTER? TIA, ---rony -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Questions ad RXINI and RXTER exits
On Sun, Feb 19, 2012 at 8:48 AM, Rony G. Flatscher rony.flatsc...@wu-wien.ac.at wrote: After having implemented and successfully tested the RXSIO, RXNOVAL and RXVALUE exits (i.e. exit handlers in Java process the exits), I turned to RXINI and RXTER, which has been very interesting as it allows one to get some feeling about how much is actually going on in the ooRexx interpreter. :) A few questions from the observations: I noticed that in RXINI one can set context variables, but getting them in the same RXINI routine returns the variables as NULL, not reflecting that immediately before a SetContextVariable() was carried out (successfully as it turns out later in the Rexx code)? Provide a test case to recreate this, and I'll take a look at it. Just wanted to ask (to make sure) that this is by design and not a glitch (for which I would otherwise file a bug report). RXINI and RXTER run not only for the executed Rexx program, but also for runtime invocations of routines? If so, can one somehow programmatically find out for which routine, procedure they run? GetCallerContext() will return thr context object. From that, you can access the package object and find out everythimg you need. This might allow one to set up timings, by placing a DateTime object in RXINI and calculating the spent time in RXTER, short of other profiling. Would it make sense at all to allow for RXINI/RXTER exits for method code, which could then also benefit from the ability to become able to set context variable at RXINI and/or fetch context variables at RXTER? absolutely not. Those exits have a very restricted usage intentionally. Your program execution would grind to a halt if every method invocation resulted in an exit call. TIA, ---rony -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Questions ad RXINI and RXTER exits
On 19.02.2012 15:16, Rick McGuire wrote: On Sun, Feb 19, 2012 at 8:48 AM, Rony G. Flatscher rony.flatsc...@wu-wien.ac.at wrote: After having implemented and successfully tested the RXSIO, RXNOVAL and RXVALUE exits (i.e. exit handlers in Java process the exits), I turned to RXINI and RXTER, which has been very interesting as it allows one to get some feeling about how much is actually going on in the ooRexx interpreter. :) A few questions from the observations: I noticed that in RXINI one can set context variables, but getting them in the same RXINI routine returns the variables as NULL, not reflecting that immediately before a SetContextVariable() was carried out (successfully as it turns out later in the Rexx code)? Provide a test case to recreate this, and I'll take a look at it. *Great*, will do! (Will take a little while as this would need a stable BSF4ooRexx version in order to not get you sidetracked on bugs in my code there, as I have changed quite a few details in the inner working to accommodate for handling the exits and commands from Java in a rather short execution path to cater for the need of speedy handling them. Also, I would like to set it up such, that it is a matter of simply invoking a batch script to get this running, such that you have no need to set it up locally and hence not wasting time. Would supply a 32-bit Windows release and debug version of BSF4ooRexx to ease analysis.) Just wanted to ask (to make sure) that this is by design and not a glitch (for which I would otherwise file a bug report). RXINI and RXTER run not only for the executed Rexx program, but also for runtime invocations of routines? If so, can one somehow programmatically find out for which routine, procedure they run? GetCallerContext() will return thr context object. From that, you can access the package object and find out everythimg you need. *Super* (totally overlooked that precious API)! This might allow one to set up timings, by placing a DateTime object in RXINI and calculating the spent time in RXTER, short of other profiling. Would it make sense at all to allow for RXINI/RXTER exits for method code, which could then also benefit from the ability to become able to set context variable at RXINI and/or fetch context variables at RXTER? absolutely not. Those exits have a very restricted usage intentionally. Your program execution would grind to a halt if every method invocation resulted in an exit call. I see. Again, thank you very much for your insights and hints ! ---rony -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] How to get at the routine's name from within an exit ? (Re: Questions ad RXINI and RXTER exits
On Sun, Feb 19, 2012 at 12:23 PM, Rony G. Flatscher rony.flatsc...@wu-wien.ac.at wrote: After researching a while (starting out with .context) I ended up in the native API to look for the name of the current routine for which the exit runs, i.e. GetRoutineName(). Unfortunately, this API is only available in the function context and not in the exit context. Would it be in general possible/feasible for the exit context to get at the routine's name (and maybe even at the name of the label to which control may have gotten transferred to with a call or a signal)? No it would not. Routine name in this context is the name of the routine that the function is being invoked as. This is not the name of the routine that happens to be running. This makes no sense to add to the exit APIs. Rick TIA, ---rony -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] Thanks, and a (final) question about RXINI/RXTER invocations (Re: How to get at the routine's name from within an exit ? (Re: Questions ad RXINI and RXTER exits
On 19.02.2012 18:31, Rick McGuire wrote: On Sun, Feb 19, 2012 at 12:23 PM, Rony G. Flatscher rony.flatsc...@wu-wien.ac.at wrote: After researching a while (starting out with .context) I ended up in the native API to look for the name of the current routine for which the exit runs, i.e. GetRoutineName(). Unfortunately, this API is only available in the function context and not in the exit context. Would it be in general possible/feasible for the exit context to get at the routine's name (and maybe even at the name of the label to which control may have gotten transferred to with a call or a signal)? No it would not. Routine name in this context is the name of the routine that the function is being invoked as. This is not the name of the routine that happens to be running. This makes no sense to add to the exit APIs. Thank you for this clarification! (So RXINI and RXTER exit cannot be really used for measuring time as it is not possible to figure out the program they run for.) --- A last question ad RXINI/RXTER experiments: should the number of RXINI and RXTER exit invocations be the same at the end of running a Rexx program? Or is it possible that the number of RXTER invocations is higher than that of the RXINI invocations (e.g. RXTER=42 vs. RXINI=35) ? TIA, ---rony -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Thanks, and a (final) question about RXINI/RXTER invocations (Re: How to get at the routine's name from within an exit ? (Re: Questions ad RXINI and RXTER exits
On 19.02.2012 18:56, Rick McGuire wrote: On Sun, Feb 19, 2012 at 12:53 PM, Rony G. Flatscher rony.flatsc...@wu-wien.ac.at wrote: On 19.02.2012 18:31, Rick McGuire wrote: On Sun, Feb 19, 2012 at 12:23 PM, Rony G. Flatscher rony.flatsc...@wu-wien.ac.at wrote: After researching a while (starting out with .context) I ended up in the native API to look for the name of the current routine for which the exit runs, i.e. GetRoutineName(). Unfortunately, this API is only available in the function context and not in the exit context. Would it be in general possible/feasible for the exit context to get at the routine's name (and maybe even at the name of the label to which control may have gotten transferred to with a call or a signal)? No it would not. Routine name in this context is the name of the routine that the function is being invoked as. This is not the name of the routine that happens to be running. This makes no sense to add to the exit APIs. Thank you for this clarification! (So RXINI and RXTER exit cannot be really used for measuring time as it is not possible to figure out the program they run for.) I can't think of any situations where they would be different, except possibly some error exception handling situations, and even that is just speculation. Thanks again a lot, will have to try to research even more then... ---rony -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] Where things go
Hi, When I built 4.2 out of the main trunk, the libraries went into /usr/lib on my mac. When I built 4.1.1 then went into /usr/lib/ooRexx. Is there an argument I can give to configure to cause the libraries to populate as in 4.2 rather than 4.1.1? Thanks, Bruce -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] ooDialog Guide - Possible conflict in repos.
Hi Mark, I just tried to commit some files and got a conflict (listed below). I resolved it using mine because I couldn't see any changes that were in your files but not in mine - I could only see my changes. Then I committed (rev 7553). Hope I haven't over-written anything. Revision: 7528 Author: miesfeld Date: 14 February 2012 04:31:09 Message: first attempt at straightening out props on ooDialog UserGuide files Modified : /main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer /CustomerListView.rex Modified : /main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer /CustomerModelData.rex Modified : /main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer /CustomerView.rex Modified : /main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer /StartupCustomer.rex Modified : /main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer /StartupCustomerList.rex Atb, Oliver -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] ooDialog Guide - Possible conflict in repos.
On Sun, Feb 19, 2012 at 10:38 AM, Oliver Sims oliver.s...@simsassociates.co.uk wrote: I just tried to commit some files and got a conflict (listed below). I resolved it using mine because I couldn't see any changes that were in your files but not in mine - I could only see my changes. Then I committed (rev 7553). Hope I haven't over-written anything. You should have choosen 'accept theirs' The files you commit are not getting the svn properties set correctly. I've been meaning to bring this up with you, but haven't had time. I fixed some of them in the commit you reference. I think the problem is your are not using a proper svn config file. You need to check out this URL: https://oorexx.svn.sourceforge.net/svnroot/oorexx/svnconfig which is just 1 file: config Then you need to replace the svn config file on your system with this file. You might need to search the TortiseSVN help to find out where the file goes. On my system, when I run as Administrator the file goes: C:\Users\Administrator\AppData\Roaming\Subversion Directory of C:\Users\Administrator\AppData\Roaming\Subversion 10/06/2011 04:05 PM 6,549 config Just copy the checked out file over the top of the existing file. If you do not see a config file at that location, then look in the TortiseSVN help to see where they keep the file. Next, we'll need to set all the svn properties on the files you checked in to the correct property. Just adding the correct file will not update the properties on files already in the repository. It will just set the properties on future files that you check in properly, automatically. The existing files will have to be done manually. Here is an example: C:\main\samples\windows\oodialogsvn proplist -v calculator.rex Properties on 'calculator.rex': svn:executable * svn:eol-style native C:\main\samples\windows\oodialogcd userGuide\exercises\Exercise06\Order C:\samples\windows\oodialog\userGuide\exercises\Exercise06\Ordersvn proplist -v * Properties on 'bmp': svn:ignore Thumbs.db bugtraq:number true C:\main\samples\windows\oodialog\userGuide\exercises\Exercise06\Order C:\main\samples\windows\oodialog\userGuide\exercises\Exercise06\Ordersvn propset svn:eol-style native *.h property 'svn:eol-style' set on 'OrderFormView.h' property 'svn:eol-style' set on 'OrderListView.h' property 'svn:eol-style' set on 'OrderView.h' C:\main\samples\windows\oodialog\userGuide\exercises\Exercise06\Ordersvn propset svn:executable 1 *.rex property 'svn:executable' set on 'OrderFormView.rex' property 'svn:executable' set on 'OrderListView.rex' property 'svn:executable' set on 'OrderModelData.rex' property 'svn:executable' set on 'OrderView.rex' property 'svn:executable' set on 'StartupOrder.rex' property 'svn:executable' set on 'StartupOrderForm.rex' property 'svn:executable' set on 'StartupOrderList.rex' C:\main\samples\windows\oodialog\userGuide\exercises\Exercise06\Order All text files need the native eol property. All .rex files also need the executable property I'm not sure how you do that in TortoiseSVN, but it has to be similar to how you do it in the command line version. -- Mark Miesfeld -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] Performance problem under windows
Windows only : If you run the attached script, you will see that a routine call is on average 15 times slower than a method call. routine call : 1.2030 1. 1.0780 1.0620 1.1100 method call : 0.0470 0.0780 0.1090 0.0780 0.0630 ratio :25.5957 12.8205 9.8899 13.6154 17.6190 Don't know if this is my machine only (WinXP), or if others have the same problem. I don't have profiling tools under Windows, but after investigation, I think that the problem comes from SystemInterpreter::setupProgram which is called at each call of routine (not called for methods). This method reads the environment variable RXTRACE. If I put in comment the reading of RXTRACE, then the ratio is on average 1. routine call : 0.1090 0.1090 0.0630 0.0470 0.0780 method call : 0.0940 0.0630 0.0470 0.0620 0.0940 ratio : 1.1596 1.7302 1.3404 0.7581 0.8298 Jean-Louis call_vs_method.rex Description: Binary data -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Performance problem under windows
I'm only seeing a ratio around 3.8, but that is still a little troublesome. I am really surprised that the call to GetEnvironmentVariable is that expensive. Just removing this is not a correct solution. I think it might work to only check the variable at instance creation time, but this will require a bit of restructuring on how this is managed. Rick On Sun, Feb 19, 2012 at 2:59 PM, Jean-Louis Faucher jfaucher...@gmail.com wrote: Windows only : If you run the attached script, you will see that a routine call is on average 15 times slower than a method call. routine call : 1.2030 1. 1.0780 1.0620 1.1100 method call : 0.0470 0.0780 0.1090 0.0780 0.0630 ratio : 25.5957 12.8205 9.8899 13.6154 17.6190 Don't know if this is my machine only (WinXP), or if others have the same problem. I don't have profiling tools under Windows, but after investigation, I think that the problem comes from SystemInterpreter::setupProgram which is called at each call of routine (not called for methods). This method reads the environment variable RXTRACE. If I put in comment the reading of RXTRACE, then the ratio is on average 1. routine call : 0.1090 0.1090 0.0630 0.0470 0.0780 method call : 0.0940 0.0630 0.0470 0.0620 0.0940 ratio : 1.1596 1.7302 1.3404 0.7581 0.8298 Jean-Louis -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] ooRexx 4.1.1 Betas for Linux
All - I have placed a bunch of ooRexx 4.1.1 beta RPMs and DEBs on the Build Machine in the release-candidates subdirectory. Only minimal testing has been done on these at this point so feedback will be much appreciated. Thanks David Ashley -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel