|
|
@@ -10,13 +10,13 @@ import itertools |
|
|
|
|
|
|
|
from nilmdb.interval import Interval, DBInterval, IntervalSet, IntervalError |
|
|
|
|
|
|
|
from test_helpers import * |
|
|
|
from testutil.helpers import * |
|
|
|
import unittest |
|
|
|
|
|
|
|
# set to False to skip live renders |
|
|
|
do_live_renders = False |
|
|
|
def render(iset, description = "", live = True): |
|
|
|
import renderdot |
|
|
|
import testutil.renderdot as renderdot |
|
|
|
r = renderdot.RBTreeRenderer(iset.tree) |
|
|
|
return r.render(description, live and do_live_renders) |
|
|
|
|
|
|
@@ -341,18 +341,19 @@ class TestIntervalTree: |
|
|
|
render(iset, "In-order insertion") |
|
|
|
|
|
|
|
class TestIntervalSpeed: |
|
|
|
@unittest.skip("this is slow") |
|
|
|
#@unittest.skip("this is slow") |
|
|
|
def test_interval_speed(self): |
|
|
|
import yappi |
|
|
|
import time |
|
|
|
import aplotter |
|
|
|
import testutil.aplotter as aplotter |
|
|
|
import random |
|
|
|
import math |
|
|
|
|
|
|
|
print |
|
|
|
yappi.start() |
|
|
|
speeds = {} |
|
|
|
for j in [ 2**x for x in range(5,20) ]: |
|
|
|
limit = 10 # was 20 |
|
|
|
for j in [ 2**x for x in range(5,limit) ]: |
|
|
|
start = time.time() |
|
|
|
iset = IntervalSet() |
|
|
|
for i in random.sample(xrange(j),j): |
|
|
|