@author: icejoywoo
    @date: 15/12/6
"""

import perf


def even_filter_lc():
    """ list comprehension
    """
    return [i for i in xrange(1000) if i % 2 == 0]


def even_filter_2():
    """ built-in filter function
    """
    return filter(lambda x: x % 2 == 0, xrange(1000))


def even_filter():
    r = []
    for i in xrange(1000):
        if i % 2 == 0:
            r.append(i)
    return r


if __name__ == '__main__':
    print perf.perf(even_filter)
    print perf.perf(even_filter_2)
    print perf.perf(even_filter_lc)
        return d.get(k, None)

    return wrapper

query = query_wrapper()


def query_wrapper_e():
    d = [None]

    def wrapper(k):
        try:
            return d[0].get(k, None)
        except AttributeError:
            d[0] = dict([line.split() for line in dict_string.split('\n')])
            return d[0].get(k, None)

    return wrapper

query_e = query_wrapper_e()


def test(f):
    for k in 'ABCDEFG':
        f(k)


if __name__ == '__main__':
    print perf.perf(test, query)
    print perf.perf(test, query_e)
Esempio n. 3
0
    for i in l:
        if i not in words_tuple:
            f.append(i)
    return f


def in_dict():
    f = []
    for i in l:
        if i not in words_dict:
            f.append(i)
    return f


def in_set():
    f = []
    for i in l:
        if i not in words_set:
            f.append(i)
    return f


if __name__ == '__main__':
    print perf.perf(in_string)

    print perf.perf(in_list)
    print perf.perf(in_tuple)

    print perf.perf(in_dict)
    print perf.perf(in_set)
Esempio n. 4
0
#!/usr/bin/env python2.7
# encoding: utf-8

"""
    @brief: 
    @author: icejoywoo
    @date: 15/12/6
"""

import dis

import perf


def while_true():
    while True:
        break


def while_1():
    while 1:
        break


if __name__ == '__main__':
    print perf.perf(while_true)
    print perf.perf(while_1)

    print dis.dis(while_true)
    print dis.dis(while_1)
"""

import re

import perf

s = ("Note that there is a significant advantage in Python to adding a number "
     "to itself instead of multiplying it by two or shifting it left by one bit. "
     "In C on all modern computer architectures, each of the three arithmetic "
     "operations are translated into a single machine instruction which executes "
     "in one cycle, so it doesn't really matter which one you choose.")

words = re.split(r'\W', s)


def string_add():
    r = ''
    for w in words:
        r += w + ' '
    return r


def string_join():
    return ' '.join(words)


if __name__ == '__main__':
    print perf.perf(string_add)
    print perf.perf(string_join)

Esempio n. 6
-1
#!/usr/bin/env python2.7
# encoding: utf-8

"""
    @brief: 
    @author: icejoywoo
    @date: 15/12/7
"""

import string

import perf


def lower_with_import():
    import string
    return string.lower('Python')


def lower_without_import():
    return string.lower('Python')


if __name__ == '__main__':
    print perf.perf(lower_with_import)
    print perf.perf(lower_without_import)
Esempio n. 7
-1
#!/usr/bin/env python2.7
# encoding: utf-8

"""
    @brief: 
    @author: icejoywoo
    @date: 15/12/6
"""

import perf


if __name__ == '__main__':
    print perf.perf(range, 10000)
    print perf.perf(xrange, 10000)
        r.append(upper(i))
    return r


def upper_common_lc():
    """ list comprehension
    """
    return [str.upper(i) for i in s]


def upper_common_lc_2():
    """ list comprehension
    """
    return [i.upper() for i in s]


def upper_without_dots_lc():
    """ list comprehension
    """
    upper = str.upper
    return [upper(i) for i in s]


if __name__ == '__main__':
    print perf.perf(upper_common)
    print perf.perf(upper_without_dots)

    print perf.perf(upper_common_lc)
    print perf.perf(upper_common_lc_2)
    print perf.perf(upper_without_dots_lc)