postcss/postcss — pull request #126 by brainopia (2014-11-09 13:55:43+00:00)
Title: Optimize tokenizer

Let's start with eye candy :smiley_cat:

```
[13:54:18] Running suite Bootstrap [/root/postcss/benchmark/general.js]...
[13:54:24] Rework x 23.56 ops/sec ±2.23% (43 runs sampled)
[13:54:29] PostCSS x 76.61 ops/sec ±1.58% (82 runs sampled)
[13:54:35] CSSOM x 52.48 ops/sec ±0.25% (70 runs sampled)
[13:54:40] Mensch x 30.20 ops/sec ±1.32% (55 runs sampled)
[13:54:47] Gonzales x 6.85 ops/sec ±2.23% (22 runs sampled)
[13:54:53] Gonzales PE x 6.06 ops/sec ±1.10% (21 runs sampled)
[13:55:00] Stylecow x 6.82 ops/sec ±4.55% (22 runs sampled)
[13:55:00] Fastest test is PostCSS at 1.46x faster than CSSOM

PostCSS: 13 ms
CSSOM: 19 ms (1.5 times slower)
Mensch: 33 ms (2.5 times slower)
Rework: 42 ms (3.3 times slower)
Gonzales: 146 ms (11.2 times slower)
Stylecow: 147 ms (11.2 times slower)
Gonzales PE: 165 ms (12.6 times slower)
```

Back to the real world. There are few things to finish before merging.

This is a very-very dirty version of tokenizer, so we need to clean it up.
And restore support for safe error handling and change parser to use new location info from tokens (@ai knows what I'm talking about) :8ball:

It can be tuned a bit more if a need arises.