mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-22 21:32:31 +00:00
python-3.6.zip added from Github
README.cosmo contains the necessary links.
This commit is contained in:
parent
75fc601ff5
commit
0c4c56ff39
4219 changed files with 1968626 additions and 0 deletions
350
third_party/python/Tools/pybench/Lists.py
vendored
Normal file
350
third_party/python/Tools/pybench/Lists.py
vendored
Normal file
|
@ -0,0 +1,350 @@
|
|||
from pybench import Test
|
||||
|
||||
class SimpleListManipulation(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 5* (6 + 6 + 6)
|
||||
rounds = 130000
|
||||
|
||||
def test(self):
|
||||
|
||||
l = []
|
||||
append = l.append
|
||||
|
||||
for i in range(self.rounds):
|
||||
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
x = l[0]
|
||||
x = l[1]
|
||||
x = l[2]
|
||||
x = l[3]
|
||||
x = l[4]
|
||||
x = l[5]
|
||||
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
x = l[0]
|
||||
x = l[1]
|
||||
x = l[2]
|
||||
x = l[3]
|
||||
x = l[4]
|
||||
x = l[5]
|
||||
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
x = l[0]
|
||||
x = l[1]
|
||||
x = l[2]
|
||||
x = l[3]
|
||||
x = l[4]
|
||||
x = l[5]
|
||||
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
x = l[0]
|
||||
x = l[1]
|
||||
x = l[2]
|
||||
x = l[3]
|
||||
x = l[4]
|
||||
x = l[5]
|
||||
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
x = l[0]
|
||||
x = l[1]
|
||||
x = l[2]
|
||||
x = l[3]
|
||||
x = l[4]
|
||||
x = l[5]
|
||||
|
||||
if len(l) > 10000:
|
||||
# cut down the size
|
||||
del l[:]
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
l = []
|
||||
append = l.append
|
||||
|
||||
for i in range(self.rounds):
|
||||
pass
|
||||
|
||||
class ListSlicing(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 25*(3+1+2+1)
|
||||
rounds = 800
|
||||
|
||||
def test(self):
|
||||
|
||||
n = list(range(100))
|
||||
r = list(range(25))
|
||||
|
||||
for i in range(self.rounds):
|
||||
|
||||
l = n[:]
|
||||
|
||||
for j in r:
|
||||
|
||||
m = l[50:]
|
||||
m = l[:25]
|
||||
m = l[50:55]
|
||||
l[:3] = n
|
||||
m = l[:-1]
|
||||
m = l[1:]
|
||||
l[-1:] = n
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
n = list(range(100))
|
||||
r = list(range(25))
|
||||
|
||||
for i in range(self.rounds):
|
||||
for j in r:
|
||||
pass
|
||||
|
||||
class SmallLists(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 5*(1+ 6 + 6 + 3 + 1)
|
||||
rounds = 80000
|
||||
|
||||
def test(self):
|
||||
|
||||
for i in range(self.rounds):
|
||||
|
||||
l = []
|
||||
|
||||
append = l.append
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
l[:3] = [1,2,3]
|
||||
m = l[:-1]
|
||||
m = l[1:]
|
||||
|
||||
l[-1:] = [4,5,6]
|
||||
|
||||
l = []
|
||||
|
||||
append = l.append
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
l[:3] = [1,2,3]
|
||||
m = l[:-1]
|
||||
m = l[1:]
|
||||
|
||||
l[-1:] = [4,5,6]
|
||||
|
||||
l = []
|
||||
|
||||
append = l.append
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
l[:3] = [1,2,3]
|
||||
m = l[:-1]
|
||||
m = l[1:]
|
||||
|
||||
l[-1:] = [4,5,6]
|
||||
|
||||
l = []
|
||||
|
||||
append = l.append
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
l[:3] = [1,2,3]
|
||||
m = l[:-1]
|
||||
m = l[1:]
|
||||
|
||||
l[-1:] = [4,5,6]
|
||||
|
||||
l = []
|
||||
|
||||
append = l.append
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
append(2)
|
||||
append(3)
|
||||
append(4)
|
||||
|
||||
l[0] = 3
|
||||
l[1] = 4
|
||||
l[2] = 5
|
||||
l[3] = 3
|
||||
l[4] = 4
|
||||
l[5] = 5
|
||||
|
||||
l[:3] = [1,2,3]
|
||||
m = l[:-1]
|
||||
m = l[1:]
|
||||
|
||||
l[-1:] = [4,5,6]
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
for i in range(self.rounds):
|
||||
pass
|
||||
|
||||
class SimpleListComprehensions(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 6
|
||||
rounds = 20000
|
||||
|
||||
def test(self):
|
||||
|
||||
n = list(range(10)) * 10
|
||||
|
||||
for i in range(self.rounds):
|
||||
l = [x for x in n]
|
||||
l = [x for x in n if x]
|
||||
l = [x for x in n if not x]
|
||||
|
||||
l = [x for x in n]
|
||||
l = [x for x in n if x]
|
||||
l = [x for x in n if not x]
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
n = list(range(10)) * 10
|
||||
|
||||
for i in range(self.rounds):
|
||||
pass
|
||||
|
||||
class NestedListComprehensions(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 6
|
||||
rounds = 20000
|
||||
|
||||
def test(self):
|
||||
|
||||
m = list(range(10))
|
||||
n = list(range(10))
|
||||
|
||||
for i in range(self.rounds):
|
||||
l = [x for x in n for y in m]
|
||||
l = [y for x in n for y in m]
|
||||
|
||||
l = [x for x in n for y in m if y]
|
||||
l = [y for x in n for y in m if x]
|
||||
|
||||
l = [x for x in n for y in m if not y]
|
||||
l = [y for x in n for y in m if not x]
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
m = list(range(10))
|
||||
n = list(range(10))
|
||||
|
||||
for i in range(self.rounds):
|
||||
pass
|
Loading…
Add table
Add a link
Reference in a new issue