Samuel
fd5e3e87c7
Optimize range iteration
...
For loops support a range syntax for iterating a fixed number of times,
which looks like this.
```liquid
{% for i in range (1..100) %}
...
{% endfor %}
```
Previously, we converted these ranges to arrays using `to_a`, which
initialized an array containing each number in the range. Since all we
use these ranges for is iteration, this is far less efficient than
using a range iterator.
Doing this means that iterating over ranges now takes O(1) rather than O(n)
memory. See the PR for more benchmarks.
* Remove to_a cast on ranges
* Add ReversableRange iterator
* Add custom range-specific slicing logic
2019-07-09 10:57:39 -04:00
Ashwin Maroli
1c577c5b62
Don't attempt to install stackprof gem on JRuby
2019-04-24 11:31:20 +05:30
Florian Weingarten
c67b77709d
rake memory_profile:run
2019-04-17 19:09:26 +01:00
Richard Monette
06c4789dc5
update Rubocop for trailing comma styles
2019-03-19 11:05:05 -04:00
Dylan Thacker-Smith
04d552fabb
Gemfile: Use https rather than git protocol to fetch liquid-c
2018-02-01 07:08:19 -05:00
Dylan Thacker-Smith
5106466a2d
Add a regression test for a liquid-c trim mode bug ( #972 )
2018-01-25 10:55:01 -05:00
Justin Li
a7c5e247c8
Bump rubocop
2017-11-22 11:59:06 -05:00
Dylan Thacker-Smith
48a6d86ac2
Use stackprof to test to lack of object allocations ( #896 )
2017-05-12 09:20:51 -04:00
Jerry Liu
85463e1753
add benchmark-ips to benchmark group in Gemfile
2017-01-20 16:04:42 -05:00
Kevin Wojniak
9bfd04da2d
Update liquid-c
2016-09-10 09:23:15 -07:00
Florian Weingarten
5876dff326
Bump LiquidC for whitespace changes
2016-08-11 13:21:39 -04:00
Dylan Thacker-Smith
4f81c0a658
Lock rubocop version to avoid CI failures from new releases.
2015-09-25 19:42:35 -04:00
Dylan Thacker-Smith
c535af021a
Rename options instance variable in Variable and Tag.
2015-07-08 19:59:44 -04:00
Justin Li
9cf0d264e1
Require RuboCop v0.32.0 or later
2015-07-06 15:58:36 -04:00
Florian Weingarten
01420e8014
fix gem platforms
2015-06-08 18:38:40 +00:00
Florian Weingarten
e2323332cd
Run tests with latest liquid/c gem
2015-06-08 18:38:35 +00:00
Florian Weingarten
3372ca8136
Rubocop
2015-05-14 14:37:18 +00:00
Florian Weingarten
a74d40f1e5
benchmark/ips
2014-08-11 19:22:06 +00:00
Jason Hiltz-Laforge
fd8c30070a
Adding tests, spy dependency
2014-07-16 15:05:45 +00:00
Jean Boussier
1372274fca
Do not intall stackprof under jruby nor rubinius
2014-06-28 16:09:14 -04:00
Dylan Thacker-Smith
f373b1003d
Use stackprof for profiling.
2014-03-14 10:03:50 -04:00