Tobi Lutke
|
3799d4c488
|
avoid allocating seen={} hash in Utils.to_s/inspect when not needed
|
2026-03-11 09:02:42 -04:00 |
|
Tobi Lutke
|
c4186a16fc
|
update autoresearch.sh: 3-run best-of, skip liquid-spec for speed
|
2026-03-11 09:01:57 -04:00 |
|
Tobi Lutke
|
b90d7f0a08
|
optimize Context init: avoid unnecessary array wrapping for environments
|
2026-03-11 08:56:45 -04:00 |
|
Tobi Lutke
|
405e3dca48
|
use frozen EMPTY_ARRAY/EMPTY_HASH for Context @filters/@disabled_tags
|
2026-03-11 08:55:55 -04:00 |
|
Tobi Lutke
|
69430e9a88
|
replace INTEGER_REGEX/FLOAT_REGEX with byte-level parse_number
|
2026-03-11 08:54:31 -04:00 |
|
Tobi Lutke
|
79840b1eaa
|
replace SIMPLE_CONDITION regex with manual byte parser in if/elsif lax_parse
|
2026-03-11 08:52:49 -04:00 |
|
Tobi Lutke
|
4cda1a578c
|
fast-path slice_collection: skip copy for full Array without offset/limit
|
2026-03-11 08:50:34 -04:00 |
|
Tobi Lutke
|
d574f193dc
|
add invoke_two fast path for single-arg filter invocation, avoids splat chain
|
2026-03-11 08:49:37 -04:00 |
|
Tobi Lutke
|
76ae8f13e9
|
fast-path find_variable: check top scope first before find_index
|
2026-03-11 08:48:16 -04:00 |
|
Tobi Lutke
|
526af22574
|
add invoke_single fast path for no-arg filter invocation, avoids splat alloc
|
2026-03-11 08:47:21 -04:00 |
|
Tobi Lutke
|
03a1977ffe
|
fast-path simple if truthiness: use byte scanner before SIMPLE_CONDITION regex
|
2026-03-11 08:36:28 -04:00 |
|
Tobi Lutke
|
b03adefb1c
|
update autoresearch.md progress log
|
2026-03-11 08:35:43 -04:00 |
|
Tobi Lutke
|
2e207e6844
|
replace WhitespaceOrNothing regex with byte-level blank_string? check
|
2026-03-11 08:34:15 -04:00 |
|
Tobi Lutke
|
e5933fc6e4
|
avoid array allocation in parse_tag_token: return tag_name, store markup/newlines as class ivars
|
2026-03-11 08:33:19 -04:00 |
|
Tobi Lutke
|
1882edb1e1
|
clean up filter parsing: Lexer fallback for args, no-arg fast scan stays
|
2026-03-11 08:31:30 -04:00 |
|
Tobi Lutke
|
83037f978b
|
autoresearch.md: add strategic direction toward single-pass scanner architecture
|
2026-03-11 08:29:12 -04:00 |
|
Tobi Lutke
|
ad98d1f329
|
add security constraint to autoresearch.md, fix strict mode gate
|
2026-03-11 08:26:40 -04:00 |
|
Tobi Lutke
|
9fd7cec564
|
split filter parsing: scan no-arg filters directly, only invoke Lexer when args present
|
2026-03-11 08:26:04 -04:00 |
|
Tobi Lutke
|
2543fdc1a1
|
autoresearch: add autoresearch.md/sh, increase benchmark warmup to 20 iterations
|
2026-03-11 08:23:51 -04:00 |
|
Tobi Lutke
|
17daac92da
|
extend fast-path to handle quoted string literal variables (262 more fast-pathed)
|
2026-03-11 08:20:39 -04:00 |
|
Tobi Lutke
|
283961d6c9
|
skip filter arg splat for no-arg filters, trim render loop comments
|
2026-03-11 08:06:23 -04:00 |
|
Tobi Lutke
|
db434923d0
|
hoist write score check out of render loop: skip increment_write_score when no limits active
|
2026-03-11 08:04:40 -04:00 |
|
Tobi Lutke
|
b86143eb0e
|
use frozen EMPTY_ARRAY for disabled_tags in Variable
|
2026-03-11 07:47:51 -04:00 |
|
Tobi Lutke
|
58d2514521
|
return [tag_name, markup, newlines] from parse_tag_token: avoid 2 whitespace string allocs
|
2026-03-11 07:45:15 -04:00 |
|
Tobi Lutke
|
82407092cc
|
use getbyte dispatch instead of start_with? in parse_for_document
|
2026-03-11 07:44:12 -04:00 |
|
Tobi Lutke
|
544d8f1c17
|
avoid empty array allocation in evaluate_filter_expressions for no-arg filters
|
2026-03-11 07:43:09 -04:00 |
|
Tobi Lutke
|
cfa0dfe3ca
|
replace For tag Syntax regex with manual byte-level parser
|
2026-03-11 07:39:36 -04:00 |
|
Tobi Lutke
|
2d3b856b36
|
expose expression_cache/string_scanner via attr_reader, skip regex in filter args without colon
|
2026-03-11 07:38:16 -04:00 |
|
Tobi Lutke
|
8a92a4e451
|
unified fast-path Variable parsing: handle both plain lookups and filter chains without full Lexer pass for name
|
2026-03-11 07:36:29 -04:00 |
|
Tobi Lutke
|
f8b015646a
|
fast-path render for filter-less variables: skip render method overhead
|
2026-03-11 07:33:18 -04:00 |
|
Tobi Lutke
|
6bcc2936a2
|
skip TagAttributes scan in for tag when no colon present
|
2026-03-11 07:32:39 -04:00 |
|
Tobi Lutke
|
fe7a2f5aa8
|
fast-path simple if conditions: skip ExpressionsAndOperators scan for single conditions
|
2026-03-11 07:31:26 -04:00 |
|
Tobi Lutke
|
3939d74531
|
replace SIMPLE_VARIABLE regex with byte-level scanner to avoid MatchData
|
2026-03-11 07:30:34 -04:00 |
|
Tobi Lutke
|
25f9224c85
|
fast-path simple variable parsing: skip Lexer/Parser for plain dot-separated lookups
|
2026-03-11 07:29:47 -04:00 |
|
Tobi Lutke
|
5da223275a
|
use frozen EMPTY_ARRAY for Variable filters when no filters present
|
2026-03-11 07:28:04 -04:00 |
|
Tobi Lutke
|
1a79cf6266
|
fast-path variable_lookups: skip mutable string alloc when no dot/bracket follows
|
2026-03-11 07:26:40 -04:00 |
|
Tobi Lutke
|
c1113ad2f8
|
fast-path String in render_obj_to_output, avoid Utils.to_s dispatch for common case
|
2026-03-11 07:24:30 -04:00 |
|
Tobi Lutke
|
fa412245f7
|
short-circuit parse_number with first-byte check before regex
|
2026-03-11 07:23:41 -04:00 |
|
Tobi Lutke
|
d79b9fa254
|
avoid unnecessary strip allocation in Expression.parse, use byteslice for string literals
|
2026-03-11 07:23:08 -04:00 |
|
Tobi Lutke
|
d291e63006
|
use equal? for frozen array comparison in Lexer, skip whitespace with \s+
|
2026-03-11 07:21:55 -04:00 |
|
Tobi Lutke
|
2b78e4bf72
|
use getbyte instead of string indexing in whitespace_handler and create_variable
|
2026-03-11 07:19:26 -04:00 |
|
Tobi Lutke
|
7aded8e61f
|
add auto/bench.sh: unit tests + liquid-spec + perf benchmark
|
2026-03-11 07:17:01 -04:00 |
|
Tobi Lutke
|
97e6893c1a
|
replace VariableParser regex scan with manual byte parser in VariableLookup
|
2026-03-11 07:14:14 -04:00 |
|
Tobi Lutke
|
3329b09dd4
|
replace FullToken regex with manual byte parsing in parse_for_document
|
2026-03-11 07:12:38 -04:00 |
|
Tobi Lutke
|
4ea835ae04
|
add quick benchmark script for autoresearch
|
2026-03-11 07:10:28 -04:00 |
|
 Gray GilmoreandGitHub
|
5fa36267aa
|
Merge pull request #2054 from Shopify/gg-fix-rubocop-offenses
Fix rubocop offenses in test file
|
2026-03-06 13:28:54 -08:00 |
|
Gray Gilmore
|
a72b604680
|
Fix rubocop offenses in test file
|
2026-03-06 13:27:05 -08:00 |
|
 Gray GilmoreandGitHub
|
3e76244cd2
|
Merge pull request #2050 from bakura10/squish-filter
Add squish filter
|
2026-03-06 13:22:18 -08:00 |
|
Michaël Gallego
|
d589c51697
|
Add squish filter
|
2026-02-19 10:03:52 +09:00 |
|
 CP ClermontandGitHub
|
d897899f66
|
Merge pull request #2036 from Shopify/cp-fix-rubocop
Update the specs to new signature and fix CI
|
2026-01-14 09:14:01 -05:00 |
|