|
1 Gross Dynamic Footprint Reports |
|
2 Chris Waterson <waterson@netscape.com> |
|
3 November 16, 2000 |
|
4 |
|
5 This is a short primer on how to run the ``gross dynamic footprint'' |
|
6 reports. |
|
7 |
|
8 Win32 |
|
9 ----- |
|
10 |
|
11 I've tried this on Win2K. Should work on NT, probably not 98. |
|
12 |
|
13 1. Configure your machine with a ``standard'' mozilla build |
|
14 environment, as described at: |
|
15 |
|
16 http://www.mozilla.org/build/win32.html |
|
17 |
|
18 Specifically, you'll need the Cygnus tools (GNU make, awk, sed), which |
|
19 can be downloaded from: |
|
20 |
|
21 http://sourceware.cygnus.com/cygwin/download.html |
|
22 |
|
23 2. Install the Win32 version of GNUplot, avaialable from: |
|
24 |
|
25 ftp://ftp.dartmouth.edu/pub/gnuplot/gnuplot3.7cyg.zip |
|
26 |
|
27 3. Configure a web server with the ``buster.cgi'' CGI script contained |
|
28 in this directory. |
|
29 |
|
30 4. Pull and build a ``release'' build. Besides the normal Win32 flags |
|
31 described on the Win32 build instructions, be sure that you've set the |
|
32 following: |
|
33 |
|
34 set BUILD_OPT=1 |
|
35 set MOZ_DEBUG= |
|
36 |
|
37 That is, MOZ_DEBUG should be unset. |
|
38 |
|
39 5. To collect data and build the dynamic footprint graph, type the |
|
40 following command from the mozilla/tools/footprint directory: |
|
41 |
|
42 make --unix -fwin32-gdf.mk \ |
|
43 BUSTER_URL="http://myserver/cgi-bin/buster.cgi?refresh=10" |
|
44 |
|
45 (Replace ``myserver'' with the name of the webserver where you |
|
46 installed ``buster.cgi'' in step 3, above.) |
|
47 |
|
48 This should: |
|
49 |
|
50 - Build ``wm.exe'', which will spy on memory usage. |
|
51 - Run the winEmbed program over the top 100 URLs (from top100.txt) |
|
52 to generate a file called ``winEmbed.dat'' |
|
53 - Run mozilla over the top 100 URLs to generate a file called |
|
54 ``mozilla.dat'' |
|
55 - Use gnuplot to create a PNG image file called win32-gdf.png |
|
56 |
|
57 Linux |
|
58 ----- |
|
59 |
|
60 1. Configure your machine with a ``standard'' mozilla build |
|
61 environment, as described at: |
|
62 |
|
63 http://www.mozilla.org/build/unix.html |
|
64 |
|
65 2. Install GNUplot, which is available as an RPM on RedHat-6.2 CDs |
|
66 (probably others, as well). |
|
67 |
|
68 3. Configure a web server with the ``buster.cgi'' CGI script contained |
|
69 in this directory. |
|
70 |
|
71 4. Pull and build a ``release build''. Here are the settings you |
|
72 should use in your .mozconfig file: |
|
73 |
|
74 ac_add_options --enable-optimize |
|
75 ac_add_options --disable-debug |
|
76 ac_add_options --enable-strip-libs |
|
77 |
|
78 5. To collect data and build the dynamic footprint graph, type the |
|
79 following command from the mozilla/tools/footprint directory: |
|
80 |
|
81 make -flinux-gdf.mk \ |
|
82 BUSTER_URL="http://myserver/cgi-bin/buster.cgi?refresh=10" |
|
83 |
|
84 (Replace ``myserver'' with the name of the webserver where you |
|
85 installed ``buster.cgi'' in step 3, above.) |
|
86 |
|
87 Details, details, details |
|
88 ------------------------- |
|
89 |
|
90 1. When running these tests, you'll probably want to use predictable |
|
91 cache settings. You can modify $(DIST)/bin/defaults/pref/all.js to |
|
92 tweak settings that will be used by [win|gtk]Embed (these programs |
|
93 ignore profile-specific settings AFAIK). For example, I've used these |
|
94 to try to cull out cache usage altogether: |
|
95 |
|
96 pref("browser.cache.disk_cache_size", 0); |
|
97 pref("browser.cache.enable", false); |
|
98 pref("browser.cache.disk.enable", false); |
|
99 pref("browser.cache.memory_cache_size", 0); |
|
100 pref("browser.cache.disk_cache_ssl", false); |
|
101 |
|
102 I think the image cache has a pref that you can use to shut it off as |
|
103 well. Haven't found it yet. |
|
104 |
|
105 2. If you collect data using Mozilla (as Win32 will do, by default), I |
|
106 recommend using a clean profile for consistency's sake. Otherwise, |
|
107 results will vary based on random stuff like how big your bookmarks |
|
108 are, how big your global history is, whether or not you've started |
|
109 mail, etc. |
|
110 |
|
111 3. I removed the ``plugin downloader plugin'' libnullplugin.so, as |
|
112 well as all other plugins, from $(DIST)/bin/plugins so that no plugins |
|
113 would be loaded. |