1 | initial version |

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"
```

2 | No.2 Revision |

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"

3 | No.3 Revision |

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"
```

4 | No.4 Revision |

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"
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.