Skip to content

Releases: PerimeterX/restringer

v1.8.0 Performance Overhaul

23 Jun 18:30
579d41b
Compare
Choose a tag to compare

What's Changed

  • v1.8.0 Performance Overhaul by @BenBaryoPX in #81
    Major refactor around loop optimizations and VM resource sharing.

Remove redundant iterations over the AST array. No more candidates (except for where it makes sense) - instead the logic is executed on the first iteration over the AST array.
Replace builtin iterations methods like [].filter and [].forEach with a for loop with an index iterator to remove the function creation overhead.
Replace !![].filter().length tests with [].some. The same for [].find => [].some if the value is used as a boolean.
Replace for-of loops with for loops with an index iterator to remove the array size calculation overhead.
Replace generateFlatAST with parseCode where there's no need for node enrichment.
Reorder test in if clauses to make the 'cheaper' tests first, reducing the cost of failing the tests early.
Add a flushing mechanism to the cache object. Can be used in expesive modules where a lot of costly cache is used.
Extract VM creation from evalInVm and allow modules to save, re-use, and share execution context. This removes the overhead of creating a VM on each execution, while also allows to finally run context code 1 time and use it for localized executions that require that context.

Full Changelog: v1.7.3...v1.8.0

v1.7.3

20 Jun 16:52
30ae09d
Compare
Choose a tag to compare
v1.7.3 Flast performance update (#80)

* Update flast and obfuscation detector

* Adjust test results since the module still needs to be adjusted to the flAST fixes

* 1.7.3

v1.7.2 Faster flAST (1.4.0)

18 Jun 20:33
b17f89c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.7.1...v1.7.2

v1.7.1

06 Jun 07:50
ced997b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.7.0...v1.7.1

v1.7.0

04 Apr 10:22
2515f3e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.6...v1.7.0

v1.6.6

22 Mar 16:57
f503dd1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.5...v1.6.6

v1.6.5

29 Jan 10:42
521907f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.3...v1.6.5

v1.6.3

15 Jan 15:57
792cfa6
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.2...v1.6.3

v1.6.2

08 Jan 16:02
5b9f781
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.1...v1.6.2

v1.6.1

04 Jan 11:20
f7e8df8
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.0...v1.6.1