Technical detail 15 Jul 2010
Today's APL2 Newsletter Issue 15
News from APL Products and Services at IBM Corporation
Issue 15 - Summer 2010.
Today’s APL2 is pleased to report that IBM has shipped more updates for Workstation and mainframe APL2.
Updates included improved interpreter performance and new Windows debugging tools.
Service Level 15 was shipped in November 2009. It included:
Service Level 16 shipped in April 2010. It includes:
Support for EAV datasets in the AP 100 built-in commands, Processor 12 and AP 211 is available in PTF UK48173.
Debug and Watch
The APL2 session manager on Windows includes a variety of new features that make it much easier to debug and analyze the behavior of your applications.
The session manager can open object editor windows on both stop breakpoints and errors. The session manager can also automatically close windows so that you see only the currently suspended function. This makes it much easier to watch execution as it moves through applications.
Using the session manager’s Debug menu and object popup menu you can set stop and trace breakpoints on the first line, all the lines, or all the labels in all the functions and operators in the workspace and that you are about to enter. You can also set and clear breakpoints in the object editor by swiping the mouse in the line number area.
When the APL2 interpreter suspends because of an error, the text of the error message is displayed in the status bar.
APL2 Stack Window
The new APL2 stack window shows the current stack. It is updated each time the keyboard opens for input.
You can use Watch windows to monitor names in the workspace. When a name is a variable, the watch window shows the variable’s current value. When the name is a function or operator, the watch window show’s the program’s valence, fix time, and execution properties. Watch windows are updated each time the keyboard opens for input.
You can also watch expressions. By pressing Ctrl+Enter, you can execute the expression on the current line and display the result in a watch window.
Service Level 16 includes several APL2 interpreter performance improvements.
In the Decode primitive, speed was improved for right arguments of rank 2 and higher, and a special case was added for left arguments containing only 2.
In the Encode primitive, speed was improved for right arguments of rank 1 and higher, and a special case was added for left arguments containing only 2, 2*2, 2*4, 2*8 or 2*16.
Encode and Decode can be up to 6 times faster for higher rank arguments, and 50% faster for the special cases.
In the Compress operator, the existing special case for operations along the last axis with single-byte character, integer or floating point data was extended to fullword character, complex and APV data.
In the Expand and Replicate operators, new special cases were added for operations along the last axis with all the above data types.
In all three operators improvement ranges from a factor of 2 to 6 depending on the data type.
These specific improvements were made based on customer reports and requirements. Have a performance bottleneck in your application? Let us know and maybe we can help!