# Revision history [back]

Hi

maybe there exist cells where variables are declared elsewhere in your notebook. because I have to modify slightly your code !. anyway now the time is about 3 or 4 seconds for my PC.

import time
p = 115792089210356248762697446949407573530086143415290314195533631308867097853951
order = 115792089210356248762697446949407573529996955224135760342422259061068512044369
b = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
F = GF(p)
E = EllipticCurve(F, [-3,b])
runs = 10000
G = E.abelian_group()

F2 = GF(order)
exponent = [F2.random_element() for i in range(runs)]

t1 = time.time()
e=0
e1 = [G.random_element() for i in range(runs)]
e2 = [G.random_element() for i in range(runs)]
for i in range(runs):
e = Integer(exponent[i])*e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"

t1 = time.time()
for i in range(runs):
e = e1[i]+e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"


Hi

maybe there exist cells where variables are declared elsewhere in your notebook. because I have to modify slightly your code !. anyway now the time is about 3 or 4 seconds for my PC.PC.[edited I misplaced the first t1 ;-) ]

import time
p = 115792089210356248762697446949407573530086143415290314195533631308867097853951
order = 115792089210356248762697446949407573529996955224135760342422259061068512044369
b = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
F = GF(p)
E = EllipticCurve(F, [-3,b])
runs = 10000
G = E.abelian_group()

F2 = GF(order)
exponent = [F2.random_element() for i in range(runs)]

t1 = time.time()
e=0
e1 = [G.random_element() for i in range(runs)]
e2 = [G.random_element() for i in range(runs)]
t1 = time.time()
for i in range(runs):
e = Integer(exponent[i])*e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"

t1 = time.time()
for i in range(runs):
e = e1[i]+e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"


Hi

maybe there exist cells where variables are declared elsewhere in your notebook. because I have to modify slightly your code !. anyway now the time is about 3 or 4 seconds for my PC.[edited I misplaced the first t1 ;-) ], but maybe that's not what you wanted to evaluate ?]

import time
p = 115792089210356248762697446949407573530086143415290314195533631308867097853951
order = 115792089210356248762697446949407573529996955224135760342422259061068512044369
b = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
F = GF(p)
E = EllipticCurve(F, [-3,b])
runs = 10000
G = E.abelian_group()

F2 = GF(order)
exponent = [F2.random_element() for i in range(runs)]

e=0
e1 = [G.random_element() for i in range(runs)]
e2 = [G.random_element() for i in range(runs)]
t1 = time.time()
for i in range(runs):
e = Integer(exponent[i])*e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"

t1 = time.time()
for i in range(runs):
e = e1[i]+e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"


Hi

maybe there exist cells where variables are declared elsewhere in your notebook. because I have to modify slightly your code !. anyway now the time is about 3 or 4 seconds for my PC.[edited I misplaced the first t1 ;-) , but maybe that's what I did it's not what you wanted to evaluate ?]

import time
p = 115792089210356248762697446949407573530086143415290314195533631308867097853951
order = 115792089210356248762697446949407573529996955224135760342422259061068512044369
b = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
F = GF(p)
E = EllipticCurve(F, [-3,b])
runs = 10000
G = E.abelian_group()

F2 = GF(order)
exponent = [F2.random_element() for i in range(runs)]

e=0
e1 = [G.random_element() for i in range(runs)]
e2 = [G.random_element() for i in range(runs)]
t1 = time.time()
for i in range(runs):
e = Integer(exponent[i])*e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"

t1 = time.time()
for i in range(runs):
e = e1[i]+e2[i]
t2 = time.time()
print  "Time per operation = ", (t2 - t1)/runs , " seconds"