Piccolo has been ported to Go.
The original Python script is still in place, but will no longer be updated.
This entry is the first one published with the new
Here's a speed comparison between the Python and the Go code for a full republish, i.e. every HTML file needs to be rewritten. First for the old Python code:
$ ./bin/piccolo real 0m57.491s user 0m46.415s sys 0m1.312s
And now the Go code:
$ ./bin/picc real 0m4.460s user 0m1.588s sys 0m1.096s
And incremental publishing is under a second:
$ ./bin/picc real 0m0.476s user 0m0.404s sys 0m0.068s
Note that incremental isn't a very good description since the program is still parsing close to 1,000 XML files in that last run. I obviously have some performance improvements I can make.