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

DatenMetzgerX / babel-plugin-parallel-es / 81
94%
master: 94%

Build:
Build:
LAST BUILD BRANCH: v0.1.2
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
81

push

travis-ci

DatenMetzgerX
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)

90 of 90 new or added lines in 7 files covered. (100.0%)

405 of 432 relevant lines covered (93.75%)

117.82 hits per line

Jobs
ID Job ID Ran Files Coverage
1 81.1 04 Nov 2016 08:47AM UTC 0
93.75
Travis Job 81.1
Source Files on build 81
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #81
  • e029393a on github
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