def test_feature_get_speed(self): count = 1000 total = 0 f = None for i in range(count): t0 = timeit.default_timer() new_f = nodetools.get_feature_from_nodes(self.nodes, self.complete_feature_keys) t1 = timeit.default_timer() total += t1-t0 if i > 1: self.assertEqual(f, new_f) f = new_f unsafe_time = total/count print("Unsafe get: \t{0}".format(unsafe_time)) total = 0 for i in range(count): t0 = timeit.default_timer() new_f, a, b = nodetools.get_feature_from_nodes_with_breakdown(self.nodes, self.complete_feature_keys) t1 = timeit.default_timer() total += t1-t0 if i > 1: self.assertEqual(f, new_f) f = new_f safe_time = total/count print("Safe get: \t\t{0}".format(safe_time))
def get_feature_for_all_nodes(self, feature_keys): """ Gets feature value for all boundary nodes in world (unordered) in a list :param feature_keys: list of feature keys (see SpatialNode class for explanation) :return: list of feature values for all boundary nodes, or False if """ return nodetools.get_feature_from_nodes(self.all_boundary_nodes, feature_keys)