Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (1) — Inferno 3rd Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prof(1)

cprof(1)

prof(2)

prof(3)

WM-CPROF(1)

NAME

wm/cprof − graphic coverage profiling of limbo programs

SYNOPSIS

wm/cprof [ -er ] [ -m modname ] ... [ cmd arg ...  ]

DESCRIPTION

Wm/cprof is a graphical coverage profiling tool which shows which lines of limbo source have not been executed. It can accumulate results over a series of runs if so desired. 

The -r options indicates that the profiling results should be recorded. Any profiled dis file of the form <name>.dis will have the raw profiling results stored in a file named <name>.prf. If this file already existed before the run, the results will be added to this file. 

The -m option lists the module names which are to be profiled. If none are given, all the modules loaded by the kernel will be profiled. The name may be the actual name of the module or its path name. 

The -e option profiles the module that is loaded first in any following command. In this case there is no need to give a -m option as this is added automatically. 

Any remaining arguments are assumed to specify a command and set of arguments to the command. If this is the case, wm/cprof will automatically start profiling, run the command to completion and then stop profiling before optionally recording the results and showing the profile statistics. 

If no command is given to profile, then wm/cprof will show the profile statistics from any existing recorded results in .prf files instead. 

Wm/cprof displays the profile statistics graphically. Code that has not been executed is shown in white against a red background. Code whose corresponding dis instructions have not been wholly executed are shown in red against a white background. Typically a line of code such as  x = !x; might show only partial execution if x has changed value from 1 to 0 but not vice-verse. 

The top of the text window names the module along with any modules before and after it in the list. If a module has 100% coverage this is stated as well. To help find unexecuted code, use the find icon in the menu bar. To move to the next or go back to any other profiled modules, use the arrow icons in the menu bar. The last icon, the reload icon, pops up a menu of profiled modules to choose from. 

wm/cprof calls cprof to do the actual work. 

EXAMPLE

To profile a particular command wm/cprof /dis/math/sieve 100 To profile the same command but restrict attention to its own module (Partitions).   wm/cprof -m Sieve /dis/math/sieve 100 A shorter version of the above  wm/cprof -e /dis/math/sieve 100 Make 3 runs recording results as we go using cprof for simplicity  cprof -e -r /dis/math/sieve 100  cprof -e -r /dis/math/sieve 1000  cprof -e -r /dis/math/sieve 10000 Now look at the cumulative results graphically  wm/cprof -m /dis/math/sieve.dis

SOURCE

/appl/wm/cprof.b

SEE ALSO

prof(1), cprof(1), prof(2), prof(3)

BUGS

Wm/cprof cannot profile compiled limbo programs. 
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026