hugo/transform
bep f1fec88c30 Improve abs url replacement speed
This commit replaces the multuple `bytes.Containts` and `bytes.Replace` with a custom replacer that does one pass through the document and exploits the fact that there are two common prefixes we search for, `src=` and `href=`.

This is both faster and consumes less memory. There may be even better algos to use here, but we must leave some room for improvements for future versions.

This should also make it possible to solve #816.

```
benchmark              old ns/op     new ns/op     delta
BenchmarkAbsUrl        25795         22597         -12.40%
BenchmarkXmlAbsUrl     17187         11166         -35.03%

benchmark              old allocs     new allocs     delta
BenchmarkAbsUrl        60             33             -45.00%
BenchmarkXmlAbsUrl     30             16             -46.67%

benchmark              old bytes     new bytes     delta
BenchmarkAbsUrl        5844          4167          -28.70%
BenchmarkXmlAbsUrl     3754          2069          -44.89%
```

Fixes #894
2015-02-16 08:24:42 -05:00
..
absurl.go Improve abs url replacement speed 2015-02-16 08:24:42 -05:00
absurlreplacer.go Improve abs url replacement speed 2015-02-16 08:24:42 -05:00
chain.go transform chain using BBP 2015-01-30 11:39:06 -08:00
chain_test.go Improve abs url replacement speed 2015-02-16 08:24:42 -05:00
livereloadinject.go Fixed #301. LiveReload works on any port now. 2014-05-28 19:01:24 -04:00