[WM] Webmake performance

Oliver Strutynski olistrut.gmx.net
Mon Nov 18 13:48:03 GMT 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is pretty long posting, so bear with me...

On Monday 18 November 2002 15:56, Duncan Cameron wrote:
> What happens if you generate your site, and then generate it again
> without changing anything?

Even if I immediately regenerate the site, webmake still processes all files. 
I am using a really simple webmake file now with no perl code at all...

> You can try running with the -D switch to try to find out what Webmake
> thinks that it is doing.

I used -L3. Retrying with -D right now... Does not add much...

It does not explicitly say that it opens the file, but gives a lot of 
information that indicates that it is in fact processing these files and when 
I added an additional dbg message to the particular open command and it 
wasprinted once for every file.

Webmake _does_ say, that it has cached information about the file and does not 
regenerate it and there are messages indicating that webmake unloads the 
cached data, however I am certain that webmake opens and processes every 
single file on each run.

So let's look at Main.pm: In depend_check the programm loops over the 
dependencies and checks every single one of them. So I added some more 
debugging output and apparently webmake does not find any dependencies for my 
test files. This is fine (they have no external dependencies except for the 
webmake file), but webmake assumes that it needs to rebuild the file if there 
are no (known) dependencies. (after executing the loop, $foundadep is set to 
0, as is $needrebuild). The log output however prints a dependency to the 
file itself, so shouldn't there be at least one stored in the database? (Or 
shouldn't webmake just remember that the file has no external dependencies?)

Oh, I am using webmake 2.2 if that makes any difference.

Here's what -L3 -D outputs for a single file (the line marked with ** is the 
debugging output I added to the .pm source file). This output was generated 
before I added more output to Main.pm:

16:17:21 debug: clearing "this.*" metadata for out/themen/t1/test1174.html
16:17:21 debug: dependency: OUT:themen/t1/test1174.html: simple.wmk
16:17:21 debug: dependency: page_template: simple.wmk
16:17:21 debug: parsing metadata in "page_template"
16:17:21 debug: set "__MainContentName" (transient)
16:17:21 debug: dependency: themen/t1/test1174.html: 
file:templates/themen/t1/test1174.html
16:17:21 debug: ${themen/t1/test1174.html}: add ref from url 
out/themen/t1/test1174.html
16:17:21 debug: caching metadata 'themen/t1/test1174.html.url' = 
'out/themen/t1/test1174.html'
16:17:21 debug: updating last used on ${themen/t1/test1174.html}: 1205
** 16:17:21 debug: Opening file templates/themen/t1/test1174.html
16:17:21 debug: parsing metadata in "themen/t1/test1174.html"
16:17:21 debug: set metadata title == "this.title", 
"themen/t1/test1174.html.title"
16:17:21 debug: caching metadata 'themen/t1/test1174.html.title' = 'Title 
Document 1'
16:17:21 debug: set metadata section == "this.section", 
"themen/t1/test1174.html.section"
16:17:21 debug: caching metadata 'themen/t1/test1174.html.section' = 
'themen:t1'
16:17:21 debug: set metadata heading == "this.heading", 
"themen/t1/test1174.html.heading"
16:17:21 debug: caching metadata 'themen/t1/test1174.html.heading' = 'Heading 
Document 1'
16:17:21 debug: set metadata description == "this.description", 
"themen/t1/test1174.html.description"
16:17:21 debug: caching metadata 'themen/t1/test1174.html.description' = 
'Description Document 1'
16:17:21 debug: set "__MainContentName" (transient)
16:17:21 debug: updating last used on ${themen/t1/test1174.html}: 1205
16:17:21 debug: dependency: themen/t1/test1174.html.title: 
file:templates/themen/t1/test1174.html
16:17:21 debug: dependency: themen/t1/test1174.html.heading: 
file:templates/themen/t1/test1174.html
16:17:21 debug: not making (text has not changed): out/themen/t1/test1174.html

++ End of Output ++

- -- 
_____________________________________________________________________
 Oliver Strutynski                       oliver.strutynski at in.tum.de
                                                    olistrut at gmx.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE92V87uUAlUEFqtKYRArGVAKDXkPX3Nq1x5wNKF+tL2/ky7nap1QCgx2ia
/gRx6d4aG0MxuPrYsgR2f5g=
=wmK3
-----END PGP SIGNATURE-----





More information about the Webmake-talk mailing list