RE: UNCLASSIFIED RE: Unidata "Flashbasic"

2004-03-25 Thread Dennis Bartlett
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"

2004-03-22 Thread Raymond de Bourbon
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"

2004-03-19 Thread HENDERSON MICHAEL MR
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"

2004-03-19 Thread Timothy Snyder





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"

2004-03-19 Thread Leroy Dreyfuss





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"

2004-03-19 Thread HENDERSON MICHAEL MR
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"

2004-03-19 Thread David Wolverton
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"

2004-03-19 Thread Dave Tabor
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")

2004-03-19 Thread Wendy Smoak
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"

2004-03-19 Thread David Wolverton
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"

2004-03-19 Thread Marlene Yokoyama
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"

2004-03-19 Thread Timothy Snyder





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"

2004-03-19 Thread Dave Tabor
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"

2004-03-19 Thread Wendy Smoak
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"

2004-03-19 Thread David Wolverton
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