|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6912 (0x1b00) Types: TextFileVerbose Names: »xepasclib«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system └─⟦6b41451d2⟧ └─⟦this⟧ »xepasclib«
nntpasclib = edit ntpascallib ; code for time meassurements l./b.a20,b30,d50,f10,/, r/p10/p15/, l./d46=20;additional errorinf/, l1, i/ d47 = 24 ; double word for time stamps /, l./p8=8/, l1, i/ p10 = 16 ; length of procedure table entries p12 = 12 ; double word containing processing time p14 = 14 ; activation counter /, l./m68:h68/, l1, i/ m51: h51 ; mode bits /, l./g1: ; init:/, l./rlw2 66/, i/ ; time stamp main program !! dl w1 110 ; current time ss w1 x3+d47 ; - old time rl. w2 b0. ; address( proc table ) aa w1 x2+p12 ; add delta ds w1 x2+p12 al w0 1 rs w0 x2+p14 ; # calls := 1 !!!! /, l./a10: ; terminate:/, l./;outchar(newline);/, l1, i? rl. w0 (m51.) ; get mode bits so w0 1<8 ; skip if mode listing jl. a14. b. c15 , q10 w. ; print heading al. w0 c9. ; jl. w3 (m31.) ; outtext( 'performance meassurement ... ') jl. w3 q8. ; print ( '----------------------------' ) rl. w2 b0. ; get start of procedure table ; compute total run time and total number of calls al w3 0 dl. w1 c0. q1: aa w1 x2+p12 ; add time wa w3 x2+p14 ; add # calls al w2 x2+p10 se. w2 (b2.) ; until top of procedures jl. q1. ds. w1 c0. ; save sum rs. w3 c1. ; print table rl. w1 b0. q2: rs. w1 b22. ; repeat rl w0 x1+p8 ; start of routine error table rs. w0 b24. jl. w3 m1. ; get start line rs. w0 b12. al. w2 b16. ; get routine name q3: jl. w3 m1. lo. w0 b17. rs w0 x2 al w2 x2+2 se. w2 b16.+8 jl. q3. al. w0 b16. ; outtext(routinename) jl. w3 (m31.) rl. w0 b12. ; get start line jl. w3 (m32.) ; outinteger( start line ) 32<12 + 5 rl. w2 b22. ; current proc table entry rl w0 x2+p14 ; jl. w3 (m32.); outinteger( # calls ) 32<12 + 10 rl w0 x2+p14 ; # calls wm. w0 c3. ; * 100000 wd. w0 c1. ; div sum of calls al w3 0 wd. w0 c4. ; div 1000 rs. w3 c2. ; temp := fraction part jl. w3 (m32.); outinteger( call % ) 1<23+ 32<12 + 8 al w2 46 jl. w3 (m26.); outchar( . ) rl. w0 c2. jl. w3 (m32.) ; outinteger(%-fraction) 48<12 + 3 ; rl. w2 b22. rl w3 x2+p14 ; average per call se w3 0 jl. q4. al. w0 c6. ; outtext(' ------') jl. w3 (m31.) jl. q5. ; skip q4: dl w1 x2+p12 ; time wd w1 6 ; div # calls al w0 0 ; nb: time per call < 13 min wd. w1 c8. ; div 10000 rs. w0 c2. ; save fraction al w0 x1 jl. w3 (m32.) ; outinteger 32<12 + 9 al w2 46 jl. w3 (m26.) ; outchar( . ) rl. w0 c2. jl. w3 (m32.) ; outinteger( fraction ) 48<12 + 4 q5: rl. w2 b22. ; module total dl w0 x2+p12 wd. w0 c8. ; div 10000 rs. w3 c2. ; save fraction jl. w3 (m32.) ; outinteger( time in seconds ) 32<12 + 8 al w2 46 jl. w3 (m26.) rl. w0 c2. jl. w3 (m32.) ; outinteger( fraction ) 48<12 + 4 ; percent of total dl. w1 c0. ; total time wd. w1 c11. ; div 10 rs. w1 c2. ; units of ms rl. w2 b22. rl w0 x2+p12 ; only low bits wm. w0 c8. ; * 10000 wd. w0 c2. al w3 0 wd. w0 c4. ; div 1000 rs. w3 c2. ; save fraction jl. w3 (m32.) ; outintger( % of total ) 32<12 + 10 al w2 46 jl. w3 (m26.) ; outchar ( . ) rl. w0 c2. jl. w3 (m32.) ; outinteger( fraction ) 48<12 + 3 al w2 10 ; nl jl. w3 (m26.) ; writeln rl. w1 b22. al w1 x1+p10 se. w1 (b2.) ; until top of procedures jl. q2. ; output totals jl. w3 q8. ; --------------------- al. w0 c10. jl. w3 (m31.) ; outtext('<nl>Totals') rl. w0 c1. jl. w3 (m32.) ; outinteger( total calls ) 32<12 + 17 dl. w0 c0. ; total time wd. w0 c1. ; div # calls al w3 0 wd. w0 c8. ; div 10000, convert to seconds rs. w3 c2. jl. w3 (m32.) ; outinteger( average per call ) 32<12 + 21 al w2 46 jl. w3 (m26.) ; outchar ( . ) rl. w0 c2. jl. w3 (m32.) ; outinteger( fraction ) 48<12 + 4 dl. w0 c0. ; total time wd. w0 c8. ; div 10000 rs. w3 c2. jl. w3 (m32.) ; outinteger( time in seconds ) 32<12 + 8 al w2 46 jl. w3 (m26.) ; outchar( . ) rl. w0 c2. jl. w3 (m32.) ; outinteger(fraction) 48<12 + 4 al w2 10 jl. w3 (m26.) ; outnl jl. a14. ; pass the constants ; procedure printline , destroy all regs q8: rs. w3 c2. ; save return al w1 81 ; line length q9: rs. w1 c7. ; save counter al w2 45 ; '-' jl. w3 (m26.) ; repeat outchar('-') rl. w1 c7. al w1 x1-1 se w1 0 ; until w1 = 0 jl. q9. al w2 10 jl. w3 (m26.) ; outnl jl. (c2.) ; return ; constants and variables 0 c0: 0 ; total time c1: 0 ; total number of calls c2: 0-0-0 ; work c7: 0-0-0 ; work c3: 100000 c4: 1000 c5: 100 c11: 10 c6: <: ------<0>:> c8: 10000 c9: <:<12><10>Performance meassurement summary for PASCAL program :<10><10>:> <: Name Line Called % of calls Average (sec) Total (sec) % of time<10><10><0>:> c10: <:<10> Totals:<0>:> e. a14: ?, f clear temp ntpascallib rename nntpasclib . ntpascallib end «eof»