biocore/empress

Precompute constant in arc approximation function

Open

#438 opened on Oct 29, 2020

 (0 comments) (0 reactions) (0 assignees)JavaScript (32 forks)auto 404
good first issueperformance

Repository metrics

Stars
 (56 stars)
PR merge metrics
 (PR metrics pending)

Description

Discussed with @kwcantrell earlier today. In the following function:

https://github.com/biocore/empress/blob/26f1b02caa004c7db5e4e281681804b34f124622/empress/support_files/js/empress.js#L595-L598

It should be possible to rewrite the first line as

var numSamples = Math.floor(Math.abs(19.09859 * totalAngle));

... since the 60 / pi value will always be the same. This may save us some time, since in theory this function is called once for every internal node when doing the circular layout; Kalen brought up that if JS' interpreter is smart enough it may already be doing this behind the scenes, but at least this way we will make the code a bit clearer.

When we make this change, we should also add a comment explaining things / linking to this issue so the person reading the code knows where the 19.09859... figure came from.

Contributor guide