Removed SequenceABC

This commit is contained in:
2022-09-15 12:48:05 +02:00
parent bb461f5fba
commit ae3192b63c
6 changed files with 75 additions and 104 deletions

View File

@@ -3,11 +3,10 @@ import timeit
import unittest
from cpl_query.enumerable import Enumerable
from cpl_query.extension.list import List
from cpl_query.iterable import Iterable
VALUES = 1000
COUNT = 100
COUNT = 50
class PerformanceTestCase(unittest.TestCase):
@@ -19,27 +18,26 @@ class PerformanceTestCase(unittest.TestCase):
self.values.append(i)
i += 1
# def test_range(self):
# default = timeit.timeit(lambda: list(self.values), number=COUNT)
# enumerable = timeit.timeit(lambda: Enumerable(int, self.values), number=COUNT)
# iterable = timeit.timeit(lambda: Iterable(int, self.values), number=COUNT)
#
# print(f'd: {default}')
# print(f'e: {enumerable}')
# print(f'i: {iterable}')
#
# self.assertLess(default, enumerable)
# self.assertLess(default, iterable)
def test_range(self):
default = timeit.timeit(lambda: list(self.values), number=COUNT)
enumerable = timeit.timeit(lambda: Enumerable(int, self.values), number=COUNT)
iterable = timeit.timeit(lambda: Iterable(int, self.values), number=COUNT)
print(f'd: {default}')
print(f'i: {iterable}')
print(f'e: {enumerable}')
self.assertLess(default, enumerable)
self.assertLess(default, iterable)
def test_where_single(self):
print(Enumerable(int, self.values).where(lambda x: x == COUNT).single_or_default())
# default = timeit.timeit(lambda: [x for x in list(self.values) if x == 50], number=COUNT)
# enumerable = timeit.timeit(lambda: Enumerable(int, self.values).where(lambda x: x == 50).single(), number=COUNT)
# iterable = timeit.timeit(lambda: Iterable(int, self.values).where(lambda x: x == 50).single(), number=COUNT)
#
# print(f'd: {default}')
# print(f'e: {enumerable}')
# print(f'i: {iterable}')
#
# self.assertLess(default, enumerable)
# self.assertLess(default, iterable)
default = timeit.timeit(lambda: [x for x in list(self.values) if x == 50], number=COUNT)
iterable = timeit.timeit(lambda: Iterable(int, self.values).where(lambda x: x == 50).single(), number=COUNT)
enumerable = timeit.timeit(lambda: Enumerable(int, self.values).where(lambda x: x == 50).single(), number=COUNT)
print(f'd: {default}')
print(f'i: {iterable}')
print(f'e: {enumerable}')
self.assertLess(default, enumerable)
self.assertLess(default, iterable)