#!/usr/bin/python -tt # -*- coding: utf-8 -*- import sys import timeit from kitchen.text.misc import str_eq as kitchen from yum.i18n import str_eq as yum reps = 24274562 #reps = 10000000 datasets={'eq bytes': ('a', 'a'), 'eq unicode': (u'a', u'a'), 'eq mixed': ('a', u'a'), 'no bytes': ('a', 'b'), 'no unicode': (u'a', u'b'), 'no mixed': ('a', u'b'), 'no mixed 2': (u'a', 'b'), 'eq high_b': ('é', 'é'), 'eq high_u': (u'é', u'é'), 'eq high_m': (u'é', 'é'), 'no high_b': ('é', 'á'), 'no high_u': (u'é', u'á'), 'no high_m': ('é', u'á'), } def invoke_yum(foo1, foo2): for i in xrange(0, reps): if yum(foo1, foo2): pass def invoke_kitchen(foo1, foo2): for i in xrange(0, reps): if kitchen(foo1, foo2): pass if __name__ == '__main__': print '%-13s %15s %15s' % (' ', 'yum', 'kitchen') for i in datasets.keys(): a = timeit.Timer('invoke_yum(datasets["%s"][0], datasets["%s"][1])' % (i, i), 'from __main__ import datasets, invoke_yum') b = timeit.Timer('invoke_kitchen(datasets["%s"][0], datasets["%s"][1])' % (i, i), 'from __main__ import datasets, invoke_kitchen') print '%-13s %15s %15s' % (i, a.timeit(1), b.timeit(1))