bezier
bezier copied to clipboard
Consider caching Curve hodograph() and concavity()
This way we can avoid re-computing the first and second node differences if they will be used many times.
(I am leaning heavily on not doing this.)
Places that could benefit:
To evaluate usage we can add non-caching private Curve._hodograph/_concavity
as in the code removed in 1f3ec1a724306610b3fba918406aab086db63ad8:
commit 1f3ec1a724306610b3fba918406aab086db63ad8
Author: Danny Hermes <[email protected]>
Date: Fri Jan 13 00:57:32 2017 -0800
Removing accidentally added code from last commit.
diff --git a/src/bezier/curve.py b/src/bezier/curve.py
index e9334df..94e8c7f 100644
--- a/src/bezier/curve.py
+++ b/src/bezier/curve.py
@@ -114,7 +114,6 @@ class Curve(_base.Base):
'_degree', '_start', '_end', '_root', # From constructor
'_length', '_edge_index', '_next_edge', # Empty defaults
'_previous_edge', # Empty defaults
- '_calls', # TEMP
)
def __init__(self, nodes, degree, start=0.0, end=1.0,
@@ -130,7 +129,6 @@ class Curve(_base.Base):
self._edge_index = None
self._next_edge = None
self._previous_edge = None
- self._calls = 0 # TEMP
@classmethod
def from_nodes(cls, nodes, start=0.0, end=1.0, root=None, _copy=True):
@@ -772,9 +770,3 @@ class Curve(_base.Base):
point, 'Shape expected:', (1, self._dimension))
return _curve_helpers.locate_point(self, point)
-
- def _hodograph(self, s):
- self._calls += 1
- print('::: Calls - {} :::'.format(self._calls))
- return _curve_helpers.evaluate_hodograph(
- self._nodes, self._degree, s)