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

wooga / github-changelog-lib / 27 / 3
91%
master: 91%

Build:
DEFAULT BRANCH: master
Ran 27 Apr 2021 12:59PM UTC
Files 22
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 Mar 2020 08:10AM UTC coverage: 62.598% (-30.3%) from 92.92%
27.3

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)

159 of 254 relevant lines covered (62.6%)

0.63 hits per line

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