You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Related to #16, my Lambda is still timing out on that ≤1000 lines x ≤400 characters file.
I have read my profiler output more carefully, and found what I think is the core performance issue: PropertiesEditor calls this.parseLines() on every .insert() call.
On the first insert, parse the first line.
On the second insert, parse the first and second lines.
On the third insert, parse the first, second, and third lines.
…
On the Nth insert, parse lines 0...N.
I would submit a PR, but I'm not yet sure what the right approach is to fixing this. (Maybe an intermediate PropertiesBuilder that only parses at the end?)
WORKAROUND: Since I am not editing a .properties file, but rather generating a brand new one, I can avoid PropertiesEditor, and instead just linearly generate my own output, using the functions in properties-file/escape.
The text was updated successfully, but these errors were encountered:
Related to #16, my Lambda is still timing out on that ≤1000 lines x ≤400 characters file.
I have read my profiler output more carefully, and found what I think is the core performance issue:
PropertiesEditor
callsthis.parseLines()
on every.insert()
call.On the first
insert
, parse the first line.On the second
insert
, parse the first and second lines.On the third
insert
, parse the first, second, and third lines.…
On the Nth
insert
, parse lines 0...N.This is Shlemiel the painter's algorithm.
I would submit a PR, but I'm not yet sure what the right approach is to fixing this. (Maybe an intermediate
PropertiesBuilder
that only parses at the end?)WORKAROUND: Since I am not editing a .properties file, but rather generating a brand new one, I can avoid
PropertiesEditor
, and instead just linearly generate my own output, using the functions inproperties-file/escape
.The text was updated successfully, but these errors were encountered: