This is the way to bypass RegExp parsing on template load. Instead of
parsing the original template on every request, we keep its internal
representation (a serialized array, essentially) and load it instead.

Think about template compilation in Smarty. Only Sigma does not compile
templates to PHP code.

What about data?

No data caching is taking place. If you want to do this, consider using
some of the PEAR's cache packages.

Is the cached version regenerated when the template changes?

Yes.

Is there any TTL setting?

No. Cached version is considered valid until the source template changes.

Any way to flush the cache?

Yes, just delete all the files in the cache dir.

Does this give significant performance gains?

Yes. The answer is based on personal experience.

If you are going to perform some benchmarks, then use some real-world
complex templates, not artificial ones. The performance gain will be
greater with bigger and more complex (dozens of blocks) ones.

Cache usage

Caching is completely transparent. To take advantage of this feature you only have to either pass a second parameter to the constructor or call a setCacheRoot() method later.