+[[!meta date="2009-10-15 18:42:46 -0400"]]
+
Ikiwiki is a wiki compiler, which means that, unlike a traditional wiki,
all the work needed to display your wiki is done up front. Where you can
see it and get annoyed at it. In some ways, this is better than a wiki
Are you building your wiki by running a command like this?
- ikiwiki -setup my.setup
+ ikiwiki --setup my.setup
If so, you're always telling ikiwiki to rebuild the entire site, from
scratch. But, ikiwiki is smart, it can incrementally update a site,
building only things affected by the changes you make. You just have to let
it do so:
- ikiwiki -setup my.setup -refresh
+ ikiwiki --setup my.setup --refresh
Ikiwiki automatically uses an incremental refresh like this when handing
a web edit, or when run from a [[rcs]] post-commit hook. (If you've
configured the hook in the usual way.) Most people who have run into this
-problem got in the habit of running `ikiwiki -setup my.setup` by hand
+problem got in the habit of running `ikiwiki --setup my.setup` by hand
when their wiki was small, and found it got slower as they added pages.
## use the latest version
command. Obviously, more files will make it take longer.
You can avoid this scanning overhead, if you're using git, by setting
- `only_committed_changes`. This makes ikiwiki -refresh query git for
+ `only_committed_changes`. This makes ikiwiki --refresh query git for
changed files since the last time, which tends to be a lot faster.
However, it only works if all files in your wiki are committed to git
(or stored in the [[/plugins/transient]] underlay).
* Install [[!cpan Devel::NYTProf]]
* `PERL5OPT=-d:NYTProf`
-* `export PER5OPT`
+* `export PERL5OPT`
* Now run ikiwiki as usual, and it will generate a `nytprof.out` file.
* Run `nytprofhtml` to generate html files.
* Those can be examined to see what parts of ikiwiki are being slow.