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

wooga / github-changelog-lib / 25 / 4
91%
master: 91%

Build:
DEFAULT BRANCH: master
Ran 03 Sep 2020 12:21PM UTC
Files 11
Run time 2s
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

05 Feb 2020 07:09AM UTC coverage: 91.339% (-1.7%) from 92.991%
25.4

push

jenkins

Improve fiter commit algorithm (#4)

## Description

Implements #3 

The commit filter algorithm in the `DefaultChangeDetector` had an exponential complexity (it was searching multiple times the same paths from nodes to same nodes). This was sufficient for most normal wdk repos or other repos that heavily used only PR's.  But unfortunately it was taking too long on a busy repo like for example a game repo like @wooga/switchcraft .

This  PR changes the algorithm a bit in order to memoize the already computed paths.  It also adds a performance test on a worst-case scenario with 30 merges. (2^30 -> 1 billion OPS)

This reduced the complexity from O( E(branching factor)^V(nodes) ) to O( V^2+E) ). Also to be able to re-use multiple paths to the same head with various iterating base's, I reversed the traversal order. (from base->head), reducing the complexity even more to O(V+E)

## Changes
* ![IMPROVE] Adds memoization to commit filter algorithm to reduce complexity to O(V+E)

232 of 254 relevant lines covered (91.34%)

0.91 hits per line

Source Files on job 25.4
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25
  • 47c3b4a4 on github
  • Prev Job for on master (#23.1)
  • Next Job for on master (#1.1)
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