RE: UNCLASSIFIED RE: Unidata "Flashbasic"
Just a reminder that to "ask" IBM for something, simply send a post to [EMAIL PROTECTED] Please ask..!!! -Original Message- > Pity that's a UniData-only feature. [snip] > Maybe if enough UniVerse users request it, it will be added. [snip] Tim Snyder IBM Data Management Solutions Consulting I/T Specialist , U2 Professional Services [EMAIL PROTECTED] -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
Thanks - I have managed to nail my "problem" down to one subroutine - having optimised this routine I have halved the processing time for this program. Many Thanks Raymond de Bourbon -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Wolverton Sent: 19 March 2004 16:35 To: 'U2 Users Discussion List' Subject: RE: Unidata "Flashbasic" No - there's no additional compile step I'm aware of... You're forced to use 'best practices' to optimize a program - but if you compile a routine with UniData's Profiler Option 'on', the really interesting thing is that you can see where the system is spending a lot of time, or doing a lot of recursion - you can see clock time spent, CPU time spent, and number of times the subroutine was called. I found it immensely useful to find areas of programs I could optimize further to get the most 'bang for my buck' - it also led me to find a subroutine I called many times that had a file open within it - by fixing that one issue, I saved 30% on one routine... YMMV... David W. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Raymond de Bourbon Sent: Friday, March 19, 2004 8:39 AM To: 'U2 Users' Subject: Unidata "Flashbasic" Does Unidata have an option similar to D3 that enables one to "Flashcompile" a basic program into native machine code? I have a program that I need to squeeze the optimal performance out of.. Regards Raymond de Bourbon -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: UNCLASSIFIED RE: Unidata "Flashbasic"
Ah yes, RAID :-( Unfortunately you have to get the program into BEBUG state before you can start the process of profiling, then enter a "$" or "#" at the ever-popular user-friendly "::" prompt, then "C", then when the program executes a "STOP" it goes back to "::" again and you have to enter "C" again to get back to TCL. At least 3 user interactions and the user has to have TCL access by the look of it (I haven't tested that). And you couldn't do it at all in a PHANTOM. Whereas for the UD model, to get coarse-level timings, you just change your menu program (or your UniObjects host?) to add a "-G" to the "RUN ..." statements it emits, or even put one in the LOGIN Paragraph. 'Look Ma, no hands!', the user doesn't even have to be aware of what's going on, and you can profile a PHANTOM job. I have found very-low-level profiling useful in a development or test environment, but often only after coarse-level profiling in Production has identified which little beastie is soaking up all the CPU! HTH Mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Leroy Dreyfuss Sent: Saturday, 20 March 2004 08:56 To: U2 Users Discussion List Subject: Re: UNCLASSIFIED RE: Unidata "Flashbasic" Mike, UniVerse does have some capabilities you may have forgotten about. Using RAID, you can generate program/subroutine timings (#) and instruction counting ($). Take a look at the RAID information in the BASIC book to see if they help. Regards, LeRoy F. Dreyfuss Advanced Technical Services - UniVerse IBM U2 Data Management Solutions Tel: 303-672-1254 Fax: 303-294-4832 Mobile: 720-341-4317 External email: [EMAIL PROTECTED] -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
Re: UNCLASSIFIED RE: Unidata "Flashbasic"
HENDERSON MICHAEL MR <[EMAIL PROTECTED]> wrote on 03/19/2004 02:46:32 PM: > > > > Piece of cake! Compile and run with the -G option. > > Pity that's a UniData-only feature. > It'd be really nice to have the same functionality in UniVerse as well! You'll get no argument from me. I optimize application code on both U2 platforms, and UniData's profiling is a really grand shortcut to identifying bottlenecks. Maybe if enough UniVerse users request it, it will be added. Tim Snyder IBM Data Management Solutions Consulting I/T Specialist , U2 Professional Services [EMAIL PROTECTED] -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
Re: UNCLASSIFIED RE: Unidata "Flashbasic"
Mike, UniVerse does have some capabilities you may have forgotten about. Using RAID, you can generate program/subroutine timings (#) and instruction counting ($). Take a look at the RAID information in the BASIC book to see if they help. Regards, LeRoy F. Dreyfuss Advanced Technical Services - UniVerse IBM U2 Data Management Solutions Tel: 303-672-1254 Fax: 303-294-4832 Mobile: 720-341-4317 External email: [EMAIL PROTECTED] WWW: http://www.ibm.com/software/data/u2/support www.ibm.com/software/data/u2/support - Open, Query, Update, Search - Online! HENDERSON MICHAEL MR "'U2 Users Discussion List'" Sent by: <[EMAIL PROTECTED]> u2-users-bounces@ cc oliver.com Subject UNCLASSIFIED RE: Unidata 03/19/2004 12:46 "Flashbasic" PM Please respond to U2 Users Discussion List Tim, -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Timothy Snyder > Sent: Saturday, 20 March 2004 05:59 > To: U2 Users Discussion List > Subject: RE: Unidata "Flashbasic" [snip] > > Piece of cake! Compile and run with the -G option. Pity that's a UniData-only feature. It'd be really nice to have the same functionality in UniVerse as well! Mike > It's documented in the Administering UniData manuals in > the chapter on Monitoring and Tuning UniData. > > > Tim Snyder > IBM Data Management Solutions > Consulting I/T Specialist , U2 Professional Services > The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
UNCLASSIFIED RE: Unidata "Flashbasic"
Tim, -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Timothy Snyder > Sent: Saturday, 20 March 2004 05:59 > To: U2 Users Discussion List > Subject: RE: Unidata "Flashbasic" [snip] > > Piece of cake! Compile and run with the -G option. Pity that's a UniData-only feature. It'd be really nice to have the same functionality in UniVerse as well! Mike > It's documented in the Administering UniData manuals in > the chapter on Monitoring and Tuning UniData. > > > Tim Snyder > IBM Data Management Solutions > Consulting I/T Specialist , U2 Professional Services > The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
It was easier to document than I thought... 1) Decide what program(s) to 'profile': You would probably only profile the header program FIRST, then see what called subroutines are taking a while in total, then switch your profiling to THAT subroutine only. The profiler generates A LOT of data, so you don't want to profile all 35,000,000 lines of code you've written in a single sitting! 2) Compile the programs you want to target with a -G option BASIC BP PROGTOTEST -G 3) Run the program using the -G option. RUN BP PROGTOTEST -G Note: If your PROGTOTEST is an embedded subroutine, no problem, you would type RUN BP MASTERPROG -G , and the -G option would start profiling on the MASTERPROG in 'summary', but would do 'detail' profiling on the program PROGTOTEST as you compiled it with the -G option. 4) Shell to the account you are working in and find files marked 'profile.NNN' and 'profile.elapse.NNN', where NNN = PID. These are NT or *nix files - not VOC entries. So you can't see them until you go to to OS level for the account you are in. The profile.NNN shows the time in actual CPU usage... It shows %time of time spent in the listed routine, cumulative time in secs(*more on this in a moment), seconds spent on this routine, calls to this routine, routine name The profile.elapse.NNN shows the time on the CLOCK, so if you had to key data in to a subroutine, you can expect to see it near the top of the % of time occupied. %time spent in the listed routine, cumulative seconds spent to date on the funtions (*more on this in a moment), Raw Seconds spent, # calls to this routine, routine name. The Cumulative time is not sequential: You may see data like this: %time CumSec Seconds Calls Name 10.03.00 3.00 1d:\account\_ROUTINEC 10.06.00 3.00 1d:\account\_ROUTINEA 6.78.00 2.00 1d:\account\_ROUTINEB See - the CumSecs is not the time elapsed for the ORDER the routines processed in, but the Cumulative time for the routines in the order of %time spent. Also - if you have not compiled a routine with a -G option, the WHOLE ROUTINE shows up on one line, as shown above. However, if you had keyed ROUTINEC with a -G option, you would see this instead: %time CumSec Seconds Calls Name 10.03.00 3.00 1d:\account\_ROUTINEA 6.75.00 2.00 1d:\account\_ROUTINEB 5.06.50 1.50 6d:\account\_ROUTINEC:1000 2.57.25 .75 1d:\account\_ROUTINEC:10 2.58.00 .75 1d:\account\_ROUTINEC:100 Where the # after the colon is the internal subroutine label being exectuted. In this case, I can see subroutine 1000 is called 6 times in the program, so that works out to be .25 seconds a use. Not much to fix there compared to 10 and 100 at .75 each, UNLESS I didn't know subroutine 1000 was being called 6 times! As I said, you can find out SO much about your code running this - you may realize that optimizing one or two sections of a program will have a large impact. As well, once you get a printout of what programs are using what amount of time, it will lead you to do a -G on them - in the example above, I can see I should also profile ROUTINEA to see if I can hammer out some time from the routine. Once you are done with profiling, you should recompile the program WITHOUT the -G option - this will produce the smaller object code again since it will be built without the 'profile' handles. Hope that helps someone! David Wolverton -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Wolverton Sent: Friday, March 19, 2004 12:30 PM To: 'U2 Users Discussion List' Subject: RE: Unidata "Flashbasic" I'll do it before the weekend is over... It's *very* cool, and useful too - what a great combo! DW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wendy Smoak Sent: Friday, March 19, 2004 10:49 AM To: U2 Users Discussion List Subject: RE: Unidata "Flashbasic" David Wolverton wrote: > if you > compile a routine with UniData's Profiler Option 'on', the really > interesting thing is that you can see where the system is spending a > lot of time, or doing a lot of recursion - you can see clock time > spent, CPU time spent, and number of times the subroutine was called. Would you be willing to post a HOWTO? Where do you set this option, what does the output look like? This sounds very interesting but is yet another thing that would take me half a day to figure out. If you sketch out the basics I'll fill in the details and put it on the Wiki. -- Wendy Smoak Application Systems Analyst, Sr. ASU IA Information Resources Management -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
www . pickwiki . com -Original Message- Behalf Of Marlene Yokoyama Whats the Wiki?? -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
Wiki (was RE: Unidata "Flashbasic")
Marlene Yokoyama > Whats the Wiki?? http://www.pickwiki.com Anyone can edit any of the pages or add new ones. Just SquashWordsTogether and it will create a link. ;) -- Wendy Smoak Application Systems Analyst, Sr. ASU IA Information Resources Management -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
I'll do it before the weekend is over... It's *very* cool, and useful too - what a great combo! DW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wendy Smoak Sent: Friday, March 19, 2004 10:49 AM To: U2 Users Discussion List Subject: RE: Unidata "Flashbasic" David Wolverton wrote: > if you > compile a routine with UniData's Profiler Option 'on', the really > interesting thing is that you can see where the system is spending a > lot of time, or doing a lot of recursion - you can see clock time > spent, CPU time spent, and number of times the subroutine was called. Would you be willing to post a HOWTO? Where do you set this option, what does the output look like? This sounds very interesting but is yet another thing that would take me half a day to figure out. If you sketch out the basics I'll fill in the details and put it on the Wiki. -- Wendy Smoak Application Systems Analyst, Sr. ASU IA Information Resources Management -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
Whats the Wiki?? >>> [EMAIL PROTECTED] 3/19/2004 8:49:02 AM >>> David Wolverton wrote: > if you > compile a routine with UniData's Profiler Option 'on', the really > interesting thing is that you can see where the system is > spending a lot of > time, or doing a lot of recursion - you can see clock time > spent, CPU time > spent, and number of times the subroutine was called. Would you be willing to post a HOWTO? Where do you set this option, what does the output look like? This sounds very interesting but is yet another thing that would take me half a day to figure out. If you sketch out the basics I'll fill in the details and put it on the Wiki. -- Wendy Smoak Application Systems Analyst, Sr. ASU IA Information Resources Management -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
Wendy Smoak wrote on 03/19/2004 11:49:02 AM: > David Wolverton wrote: > > if you > > compile a routine with UniData's Profiler Option 'on', the really > > interesting thing is that you can see where the system is > > spending a lot of > > time, or doing a lot of recursion - you can see clock time > > spent, CPU time > > spent, and number of times the subroutine was called. > > Would you be willing to post a HOWTO? Where do you set this option, > what does the output look like? This sounds very interesting but is yet > another thing that would take me half a day to figure out. > > If you sketch out the basics I'll fill in the details and put it on the > Wiki. > Piece of cake! Compile and run with the -G option. It's documented in the Administering UniData manuals in the chapter on Monitoring and Tuning UniData. Tim Snyder IBM Data Management Solutions Consulting I/T Specialist , U2 Professional Services Office (717) 545-6403 (rolls to cell phone) [EMAIL PROTECTED] -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
I'd be interested in this, too. It sounds very useful. Thanks to you both! Dave -Original Message- Behalf Of Wendy Smoak Would you be willing to post a HOWTO? Where do you set this option, what does the output look like? This sounds very interesting but is yet another thing that would take me half a day to figure out. If you sketch out the basics I'll fill in the details and put it on the Wiki. -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
David Wolverton wrote: > if you > compile a routine with UniData's Profiler Option 'on', the really > interesting thing is that you can see where the system is > spending a lot of > time, or doing a lot of recursion - you can see clock time > spent, CPU time > spent, and number of times the subroutine was called. Would you be willing to post a HOWTO? Where do you set this option, what does the output look like? This sounds very interesting but is yet another thing that would take me half a day to figure out. If you sketch out the basics I'll fill in the details and put it on the Wiki. -- Wendy Smoak Application Systems Analyst, Sr. ASU IA Information Resources Management -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: Unidata "Flashbasic"
No - there's no additional compile step I'm aware of... You're forced to use 'best practices' to optimize a program - but if you compile a routine with UniData's Profiler Option 'on', the really interesting thing is that you can see where the system is spending a lot of time, or doing a lot of recursion - you can see clock time spent, CPU time spent, and number of times the subroutine was called. I found it immensely useful to find areas of programs I could optimize further to get the most 'bang for my buck' - it also led me to find a subroutine I called many times that had a file open within it - by fixing that one issue, I saved 30% on one routine... YMMV... David W. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Raymond de Bourbon Sent: Friday, March 19, 2004 8:39 AM To: 'U2 Users' Subject: Unidata "Flashbasic" Does Unidata have an option similar to D3 that enables one to "Flashcompile" a basic program into native machine code? I have a program that I need to squeeze the optimal performance out of.. Regards Raymond de Bourbon -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users