[m-rev.] for review: deep profiling on the web page

Zoltan Somogyi zs at cs.mu.OZ.AU
Thu Aug 2 16:34:59 AEST 2001


On 02-Aug-2001, David Jeffery <dgj at cs.mu.OZ.AU> wrote:
> I have installed the php documentation too ("apt-get install php3-doc").
> It is available as html in /usr/doc/php3-doc/

Thanks. I had a look at it, but did not find anything that would tell me
why I got syntax errors on the simple code I cut-and-pasted into globals.inc
from Pete's post.

Here is the interdiff for the changes I have made in response to review
comments. The new page looks good in both Netscape and lynx, and the links
to the demos work, so I will commit this tomorrow if there are no objections.

Zoltan.

diff -u deep_demo.inc deep_demo.inc
--- deep_demo.inc
+++ deep_demo.inc
@@ -16,12 +16,16 @@
 because Mercury programs make much greater use of polymorphism
 than C programs do.
 
+<p>
+
 For example, the most expensive predicates in the Mercury compiler are
 the predicates for searching 2-3-4 trees and for inserting into 2-3-4 trees.
 However, these predicates are called (indirectly)
 from many hundreds of places in the Mercury compiler,
 some of which handle bigger trees than others.
 
+<p>
+
 We designed the deep profiler specifically to meet the needs
 of programs written in programming languages such as Mercury,
 programs whose characteristics include
@@ -69,16 +73,22 @@
 having the instrumented program record its profiling data in a file,
 and postprocessing the contents of this file.
 
+<p>
+
 You can ask for a program to be compiled with deep profiling instrumentation
-by compiling it in a grade that includes the grade component "profdeep",
-e.g. asm_fast.gc.profdeep.
-Deep profiling is not compatible with the old Mercury profiling grades,
+by using the `--deep-profiling' option to `mmc',
+or by including `GRADEFLAGS = --deep-profiling' in your `Mmakefile'.
+However, please note that
+deep profiling is not compatible with the old Mercury profiling grades,
 and it is not (yet) implemented for grades (such as hlc grades)
 that use the compiler's MLDS back end.
 
+<p>
+
 Programs compiled with deep profiling can generate large amounts of data,
 since deep profiling yields very detailed information.
-We have therefore implemented the postprocessing program as a web server.
+We have therefore implemented the postprocessing program
+as a CGI-based web service.
 Its input is a stream of requests,
 with each request specifying a data file,
 the part the user wants to view,
@@ -98,13 +108,13 @@
 
 <ul>
 <li>
-<a href = "http://venus.cs.mu.oz.au/cgi-bin/mdprof\??echo $root?/information/deep_demo/make_hlds.data">mmc -O2 make_hlds.m</a>:
+<a href = "http://venus.cs.mu.oz.au/cgi-bin/mdprof?/home/mercury5/w3/information/deep_demo/make_hlds.data">mmc -O2 make_hlds.m</a>:
 the profiled executable is the Mercury compiler,
 and during the profiling run, it task was to compile make_hlds.m,
 the largest module (about 8300 lines) in its own source code.
 Though large, this module is straightforward to compile.
 <li>
-<a href = "http://venus.cs.mu.oz.au/cgi-bin/mdprof\??echo $root?/information/deep_demo/eliza.data">mmc -O2 eliza.m</a>:
+<a href = "http://venus.cs.mu.oz.au/cgi-bin/mdprof?/home/mercury5/w3/information/deep_demo/eliza.data">mmc -O2 eliza.m</a>:
 the profiled executable is the Mercury compiler,
 and during the profiling run, it task was to compile eliza.m,
 the Mercury implementation of the classic "AI" program,
@@ -112,7 +122,7 @@
 Though small (625 lines), this module contains some constructs
 that stress the Mercury compiler.
 <li>
-<a href = "http://venus.cs.mu.oz.au/cgi-bin/mdprof\??echo $root?/information/deep_demo/monte.data">monte</a>:
+<a href = "http://venus.cs.mu.oz.au/cgi-bin/mdprof?/home/mercury5/w3/information/deep_demo/monte.data">monte</a>:
 the profiled executable is a program that
 calculates the volume of a 3D shape using Monte Carlo methods.
 This program uses higher order constructs quite intensively.
only in patch2:
--- include/menubar.inc	2001/04/03 06:44:48	1.15
+++ include/menubar.inc	2001/08/02 06:30:16
@@ -20,6 +20,8 @@
     <BR>
     <a href="<?echo $root?>/information/papers.html">Papers</a>
     <BR>
+    <a href="<?echo $root?>/information/deep_demo.html">Deep profiler demo</a>
+    <BR>
    &nbsp<a href="<?echo $root?>/information/developer.html">Developers</a>
     <BR>
    &nbsp<a href="<?echo $root?>/information/events.html">Events</a>
only in patch2:
--- include/information.inc	2001/03/29 00:23:57	1.2
+++ include/information.inc	2001/08/02 06:30:16
@@ -46,6 +46,10 @@
         Papers and presentations on Mercury</a>
 
         <li>
+        <a href = "information/deep_demo.html">
+        An overview and demo of the Mercury deep profiler</a>
+
+        <li>
         <a href = "information/related.html">
         Related projects</a>
 
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list