Shopify/liquid-c — pull request #13 by pushrax (2014-10-16 20:34:33+00:00)
Title: Strict variable parsing

This is the first iteration of the strict C lexer and variable parser. Currently, there is a tight coupling between a few of the methods and Ruby, but this is expected to go away in the future.

Feel free to start reviewing, though this is heavily a WIP and we'll continue making changes tomorrow.

```
/Users/jli/.rbenv/versions/2.1.0/bin/ruby ./performance.rb bare benchmark lax

Running benchmark for 20 seconds (with 5 seconds warmup).

Calculating -------------------------------------
parse: 4 i/100ms
-------------------------------------------------
parse: 46.0 (±4.3%) i/s - 920 in 20.045934s
/Users/jli/.rbenv/versions/2.1.0/bin/ruby ./performance.rb c benchmark lax

Running benchmark for 20 seconds (with 5 seconds warmup).

Calculating -------------------------------------
parse: 7 i/100ms
-------------------------------------------------
parse: 78.7 (±2.5%) i/s - 1575 in 20.036520s
```

~40% less time spent in parsing, and is very reproducible.

Paired with @xthexder

@Shopify/webscale @Shopify/liquid