File: testclone.py

package info (click to toggle)
python-meld3 0.6.5-3.1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 420 kB
  • sloc: python: 2,897; ansic: 319; makefile: 58
file content (47 lines) | stat: -rw-r--r-- 1,333 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import meld3
import time
import timeit

parent = meld3._MeldElementInterface('parent', {})
clonable = meld3._MeldElementInterface('root', {})
child1 = clonable.makeelement('child1', {})
child2 = clonable.makeelement('child2', {})
clonable.append(child1)
child1.append(child2)

for x in range(0, 10):
    new = child2.makeelement('tag%s'%x, {'x'+str(x):1})
    child2.append(new)

for x in range(0, 10):
    new = child1.makeelement('tag%s'%x, {'x'+str(x):1})
    child1.append(new)

NUM = 1000

def dotimeit(timer, name):
    repeat = 100
    number = 100
    result = timer.repeat(repeat, number)
    best = min(result)
    usec = best * 1e6 / number
    msec = usec / 1000
    print "%s best of %d: %.*g msec per loop" % (name, repeat, 8, msec)

t = timeit.Timer("meld3.chelper.clone(clonable, parent)",
                 "from __main__ import meld3, clonable, parent")
dotimeit(t, "C DF")

t = timeit.Timer("meld3.chelper.bfclone(clonable, parent)",
                 "from __main__ import meld3, clonable, parent")
dotimeit(t, "C BF")

t = timeit.Timer("meld3.pyhelper.clone(clonable, parent)",
                 "from __main__ import meld3, clonable, parent")
dotimeit(t, "Py DF")

t = timeit.Timer("meld3.pyhelper.bfclone(clonable, parent)",
                 "from __main__ import meld3, clonable, parent")
dotimeit(t, "Py BF")