Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines | New: Database administration forum
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

demo: call speed
* compile: cob -xg testcall.cbl testcal1.cbl
*          cob -zg testcal2.cbl
*          cob -zg timer.cbl

$set mfoo
$set sourceformat(free)
*     The only case speeded up by these was Entry.
$SET NOBOUND OPT(2) NOTRUNC IBMCOMP
$SET NOCHECK NOPARAMCOUNTCHECK FASTCALL NOREENTRANT
$SET NOSERIAL  NOFIXOPT FASTLINK


identification division
. program-id. testcall
*  author. Robert Wagner

*                       Testing speed of a call.
* Results: time per call in nanoseconds, minus loop overhead
* 0. Loop overhead   16
* 1. Perform               8
* 2. Nested program  44
* 3. Static link        214
* 4. ENTRY            313
* 5. Dynamic link   4684
* 6. OO dynamic    5484
* 6. OO static         535

. class-control
.     timer is class 'timer'

. data division
. working-storage section
. 01  repeat-factor value 100000000 comp    pic s9(15)
. 01  testcal2  value 'testcal2'            pic  x(08)
. 01  parameter value 'abc'                 pic  x(03)
. 01  loop-overhead  value zero             pic  9999

. 01  timer-variables
.     05  a-timer                           object reference
.     05  elapsed-time             comp     pic s9(09)
.     05  elapsed-time-edited               pic  zzzz
. linkage section
. 01  input-parameter                       pic  x(03)

. procedure division.
invoke timer 'new' returning a-timer

display '0. Loop overhead ' with no advancing
perform timer-on
perform repeat-factor times
*      continue *> runs the same with or without this
end-perform
perform timer-off
move elapsed-time-edited to loop-overhead

display '1. Perform       ' with no advancing
perform timer-on
perform repeat-factor times
set address of input-parameter to address of parameter
perform a-paragraph
end-perform
perform timer-off

display '2. Nested program' with no advancing
perform timer-on
perform repeat-factor times
call 'test-call-3' using parameter
end-perform
perform timer-off

display '3. Static link   ' with no advancing
divide 10 into repeat-factor
perform timer-on
perform repeat-factor times
call 'testcal1' using parameter
end-perform
perform timer-off

display '4. ENTRY         ' with no advancing
perform timer-on
perform repeat-factor times
call 'entry-procedure' using parameter
end-perform
perform timer-off


display '5. Dynamic link  ' with no advancing
divide 10 into repeat-factor
perform timer-on
perform repeat-factor times
call testcal2 using parameter
end-perform
perform timer-off

display '6. OO            ' with no advancing
perform timer-on
perform repeat-factor times
invoke a-timer 'test-call-4' using parameter
end-perform
perform timer-off

goback

. a-paragraph.
continue
. end-paragraph

. entry 'entry-procedure' using input-parameter
goback

. timer-on.
invoke a-timer 'start'
. timer-off.
invoke a-timer 'stop' returning elapsed-time
compute elapsed-time-edited rounded =
(elapsed-time * (1000000000 / repeat-factor) / 100)
- loop-overhead
display elapsed-time-edited

. identification division
. program-id.  test-call-3
. data division
. linkage section
. 01  input-parameter pic x(03)

. procedure division using input-parameter
.   goback
. end program test-call-3

. end program testcall

Report this thread to moderator Post Follow-up to this message
Old Post
Robert Wagner
05-25-04 06:30 PM


Sponsored Links




Last Thread Next Thread Next
Search this forum -> 
Post New Thread

Cobol archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 03:38 AM.

 
Free MCSE Braindumps | Real Estate Topics

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.