Two comments:

1) Since we're open source now, I would encourage everybody to post their proposed changes to libmicro here for review and discussion. Also remember that everybody who contributes such changes needs to have a Contributor Agreement signed and faxed in (Sun employees are essentially already covered, so this just applies to non-Sun employees). That Contributor Agreement can be found here:

   http://opensolaris.org/os/about/sun_contributor_agreement/

2) I would also encourage us to keep the performance stuff together in the same forum (with separate threads).

Mike

Phil Harman wrote:
Dan,

Great stuff. Thanks! I think we will be spinning a 0.3.1 sometime within the next couple of weeks, and your changes will certainly be included. I've got a few changes to make to the bench script (like putting close_tcp last, maybe reintroducing -B for some cases, and so on). There's also the 'volatile int' change for setcontext, plus some other minor cosmetic stuff.

Phil

p.s. All: please remember to put "libMicro" in the subject line ... or maybe we need our own forum?



Dan Price wrote:

(Whenever I hear "multiview" I can't help but think of a pinball game I
used to play which had a voice which would, at the appropriate moment,
yell in a hacky transylvanian accent: "multiball -- MultiBall --
MULTIBALL -- HAHAHAHA!")

Anyway, here are some diffs to fix a number of html problems; this brings
us up to XHTML 1.0 Transitional compliance.  Some minor stylesheet
tricks also yields a (to me) much cleaner output.

I also fixed an annoying bug in the coloring algorithm which could cause
very large result differences to show up as white instead of bright
green.  The new output is also roughly 35% smaller in terms of number
of characters output due to use of stylesheets and elimination of
whitespace.

       -dp

--- multiview    Wed Aug 17 19:20:09 2005
+++ multiview.new    Thu Aug 18 11:05:30 2005
@@ -76,12 +76,20 @@
} END { - - printf("<html>\n"); + printf("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n"); + printf("\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n");
+    printf("<html xmlns=\"http://www.w3.org/1999/xhtml\";>\n");
    printf("<head>\n");
- printf("<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">\n");
-    printf("<meta name=\"author\" content=\"autogen\">\n");
+ printf("<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\" />\n");
+    printf("<meta name=\"author\" content=\"autogen\" />\n");
    printf("<title>multiview comparison</title>\n")
+    printf("<style type=\"text/css\">\n");
+    printf("body { font-family: sans-serif; }\n");
+    printf("table { border-collapse: collapse; }\n");
+ printf("td { padding: 0.1em; border: 1px solid #ccc; text-align: right; }\n");
+    printf("td.header { text-align: left; }\n");
+    printf("pre { margin-top: 0em; margin-bottom: 0em; }\n");
+    printf("</style>\n");
    printf("</head>\n");
printf("<body bgcolor=\"#ffffff\" link=\"#0000ee\" vlink=\"#cc0000\" alink=\"#0000ee\">\n");
    printf("<table border=\"1\" cellspacing=\"1\">\n");
@@ -88,19 +96,20 @@
    printf("<tbody>\n");
    for(i = 1; i <= header_count; i++) {
        hname = headers[i];
-        printf("<tr><td>%s</td>\n", hname);
+        printf("<tr><td class=\"header\">%s</td>\n", hname);
- for (j = 1; j <= ARGC; j++) {
-            printf("<td>%s</td>\n", header_data[hname, ARGV[j]]);
+        for (j = 1; j < ARGC; j++) {
+            sub("^[\t ]+", "", header_data[hname, ARGV[j]]);
+ printf("<td class=\"header\">%s</td>\n", header_data[hname, ARGV[j]]);
        }
+        printf("</tr>\n");
    }
-    printf("</tr>\n");
    printf("<tr>\n");
-    printf("<td><b>BENCHMARK</b><br></td>\n");
-    printf("<td align=\"right\"><b>USECS</b><br></td>\n");
+    printf("<th>BENCHMARK</th>\n");
+    printf("<th align=\"right\">USECS</th>\n");

for (i = 2; i < ARGC; i++) - printf("<td align=\"right\"><b>USECS [percentage]</b><br></td>\n");
+        printf("<th align=\"right\">USECS [percentage]</th></tr>\n");

    for(i = 1; i < benchmark_count; i++) {
      for(j = 1; j < benchmark_count; j++) {
@@ -117,17 +126,17 @@
        a = benchmark_data[name, ARGV[1]];

        printf("<tr>\n");
-        printf("<td align=\"right\">%25s</td>\n", name);
+        printf("<td>%s</td>\n", name);
        if (a > 0)
-            printf("<td align=\"right\">%25.5f</td>\n", a);
+            printf("<td>%f</td>\n", a);
        else {
            if (a < 0)
- printf("<td align=\"right\" bgcolor=\"#ff0000\">%25s</td>\n", "ERRORS");
+                printf("<td bgcolor=\"#ff0000\">%s</td>\n", "ERRORS");
else - printf("<td align=\"right\">%25s</td>\n", "missing");
+                printf("<td>%s</td>\n", "missing");
for (j = 2; j < ARGC; j++) - printf("<td align=\"right\">%25s</td>\n", "not computed");
+                printf("<td>%s</td>\n", "not computed");
            continue;
        }

@@ -141,20 +150,20 @@
                if (factor <= 1)
                  percentage = 100/factor - 100;
- printf("<td align=\"right\" bgcolor=\"%s\"><pre>%11.5f[%#+7.1f%%]</td>\n", + printf("<td bgcolor=\"%s\"><pre>%11.5f[%#+7.1f%%]</pre></td>\n", bgcolor, b, percentage);
            }
else if (b < 0) - printf("<td align=\"right\" bgcolor=\"#ff0000\">%25s</td>\n", "ERRORS");
+                printf("<td bgcolor=\"#ff0000\">%s</td>\n", "ERRORS");
            else
-                printf("<td align=\"right\">%25s</td>\n", "missing");
+                printf("<td>%25s</td>\n", "missing");
}
        printf("</tr>\n");

    }
-    printf("</tbody></table><br></body></html>\n");
+    printf("</tbody></table></body></html>\n");

}
@@ -169,7 +178,7 @@
        r = colorcalc(.2, value, .9, 0, 255);
        g = colorcalc(.2, value, .9, 153, 255);
        b = colorcalc(.2, value, .9, 0, 255);
-        bgcolor=sprintf("#%2x%2x%2x",  r, g, b);
+        bgcolor=sprintf("#%2.2x%2.2x%2.2x",  r, g, b);
    }
    else if (value < 1.1)
        bgcolor="#ffffff";
@@ -177,8 +186,9 @@
        r = 255;
        g = colorcalc(1.1, value, 5, 255, 0);
        b = colorcalc(1.1, value, 5, 255, 0);
-        bgcolor=sprintf("#%2x%2x%2x",  r, g, b);
+        bgcolor=sprintf("#%2.2x%2.2x%2.2x",  r, g, b);
    }
+
    return (bgcolor);
}



------------------------------------------------------------------------

_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to