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.
Philp.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); }
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org