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

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

Build:
Build:
LAST BUILD BRANCH: v0.1.2
DEFAULT BRANCH: master
Repo Added 30 Sep 2016 04:35PM UTC
Files 14
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

LAST BUILD ON BRANCH optimize-environment-access-of-transitive-functions
branch: optimize-environment-access-of-transitive-functions
CHANGE BRANCH
x
Reset
  • optimize-environment-access-of-transitive-functions
  • add-readme
  • environment-support
  • first-version
  • function-extraction
  • integrate-worker-rewriter
  • master
  • migrate-to-yarn
  • npm-ignore
  • optimize-calling-function-with-environment
  • support-for-es6-imports
  • upgrade-dependencies
  • v0.0.10
  • v0.0.11
  • v0.0.12
  • v0.0.5
  • v0.0.6
  • v0.0.7
  • v0.0.8
  • v0.0.9
  • v0.1.0
  • v0.1.1
  • v0.1.2

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

Relevant lines Covered
Build:
Build:
432 RELEVANT LINES 405 COVERED LINES
117.82 HITS PER LINE
Source Files on optimize-environment-access-of-transitive-functions
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
81 optimize-environment-access-of-transitive-functions 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 appro... push 04 Nov 2016 08:47AM UTC DatenMetzgerX travis-ci pending completion  
See All Builds (70)
  • Repo 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

© 2025 Coveralls, Inc