94 lines
2.2 KiB
Python
94 lines
2.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
from collections import Counter
|
|
import sys, re, os, enum, itertools, timeit
|
|
from functools import partial, partialmethod
|
|
from time import sleep
|
|
from dataclasses import dataclass, field
|
|
from operator import itemgetter
|
|
from defl import log, cl, Dath, Time, Run, sp, ShQu
|
|
from defl._typing_ import *
|
|
from defl._typing_ import T, F, N, U
|
|
from defl._rich_ import *
|
|
from defl._pydantic_ import *
|
|
import defl
|
|
|
|
number = 500_000
|
|
repeat = 5
|
|
|
|
|
|
# == loop
|
|
def test_loop_comprehension():
|
|
code = [
|
|
'output = []',
|
|
'lst1= [1, 3, 5, 7, 9, 11]',
|
|
'lst2=[2, 4, 6, 8, 10, 12]',
|
|
'output = [(a, b) for a in lst1 for b in lst2]',
|
|
]
|
|
code = '\n'.join(code)
|
|
res = timeit.repeat(code, number=number, repeat=repeat)
|
|
res = sum(res) / len(res)
|
|
print(res)
|
|
|
|
|
|
def test_loop_forLoop():
|
|
code = [
|
|
'output = []',
|
|
'lst1= [1, 3, 5, 7, 9, 11]',
|
|
'lst2=[2, 4, 6, 8, 10, 12]',
|
|
'for a in lst1:',
|
|
' for b in lst2:',
|
|
' output.extend((a, b))',
|
|
]
|
|
code = '\n'.join(code)
|
|
res = timeit.repeat(code, number=number, repeat=repeat)
|
|
res = sum(res) / len(res)
|
|
print(res)
|
|
|
|
|
|
# == concatinate
|
|
|
|
|
|
def test_createList_declare():
|
|
code = [
|
|
'output = [1,2,4,5,6,7,8,9]',
|
|
]
|
|
code = '\n'.join(code)
|
|
res = timeit.repeat(code, number=number, repeat=repeat)
|
|
res = sum(res) / len(res)
|
|
print(res)
|
|
|
|
|
|
def test_createList_concatinate():
|
|
code = [
|
|
'output = [1,2] + [4,5] + [6,7] + [8,9]',
|
|
]
|
|
code = '\n'.join(code)
|
|
res = timeit.repeat(code, number=number, repeat=repeat)
|
|
res = sum(res) / len(res)
|
|
print(res)
|
|
|
|
|
|
def test_createList_unpack():
|
|
code = [
|
|
'output = [*[1,2], *[4,5], *[6,7], *[8,9]]',
|
|
]
|
|
code = '\n'.join(code)
|
|
res = timeit.repeat(code, number=number, repeat=repeat)
|
|
res = sum(res) / len(res)
|
|
print(res)
|
|
|
|
|
|
def test_createList_extend():
|
|
code = [
|
|
'output = []',
|
|
'output.extend([1,2])',
|
|
'output.extend([4,5])',
|
|
'output.extend([6,7])',
|
|
'output.extend([8,9])',
|
|
]
|
|
code = '\n'.join(code)
|
|
res = timeit.repeat(code, number=number, repeat=repeat)
|
|
res = sum(res) / len(res)
|
|
print(res)
|