• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DatenMetzgerX / babel-plugin-parallel-es / 82
94%

Build:
DEFAULT BRANCH: master
Ran 04 Nov 2016 08:47AM UTC
Jobs 1
Files 14
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
82

Pull #14

travis-ci

web-flow
Optimize environment access for transitive functions

In the current solution, transitive functions used an additional function parameter environment that contained the variables accessed by the transitive function from the outer scope. This approach has the benefit to be stateless, however, requires that this additional argument is added for every call. As its not possible to identify all call sites of a transitive function without a very sophisticated data flow analysis, a wrapper has been introduced that adds the additional environment variable (fix function declaration instead of identifing the call sites). This requires that the arguments for every call are copied into a new array into which also the environment variable is pushed what has a significant --- negative --- impact on performance. Besides, it also may break functions that uses arguments to identify if an optional argument is present or not.

The new approach uses module-globals for the variables used inside of parallel-functions from the outer scope. These variables are initialized in the entry function (the one that is called from parallel) and reset to undefined when the function completed (successful or not). This requires less code rewriting and has a significant better performance than the existing approach (mandelbrot computed in 24s instead of 33s)
Pull Request #14: Optimize environment access for transitive functions

405 of 432 relevant lines covered (93.75%)

117.82 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
100.0
src/function-extractor/transpile-parallel-functor-state.ts
Jobs
ID Job ID Ran Files Coverage
1 82.1 04 Nov 2016 08:47AM UTC 0
93.75
Travis Job 82.1
Source Files on build 82
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #82
  • Pull Request #14
  • PR Base - master (#80)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc