def __init__(self,size):
self.first = None
last = None
for i in range(size):
current = Person(i)
if self.first == None : self.first = current
if last != None :
last.next = current
current.prev = last
last = current
self.first.prev = last
last.next = self.first
有点像蟒蛇:
def __init__(self,size):
chain = [Person(i) for i in range(size)]
self.first = chain[0]
chain = zip(chain, chain[1:].append(chain[0]))
for p,n in chain:
p.next = n
n.prev = p
testee. language arbitrary-precision integers run-time
1. Java java.math.BigInteger JRE 6.13
2. .NET System.Numerics.BigInteger MS CLR 4.0
3. Python long Active Python 2.6.2.2
4. Squeak BigInt Squeak 3.10.2
5. .NET Mono.Math.BigInteger MS CLR 4.0
results:
1) 2) 3) 4) 5)
10.000! 343 ms 137 ms 91 ms 1.200 ms 169 ms
20.000! 1.480 ms 569 ms 372 ms 1.457 ms 701 ms
30.000! 3.424 ms 1.243 ms 836 ms 3.360 ms 1.675 ms
40.000! 6.340 ms 2.101 ms 1.975 ms 6.738 ms 3.042 ms
50.000! 10.493 ms 3.763 ms 3.658 ms 10.019 ms 5.242 ms
60.000! 15.586 ms 7.683 ms 5.788 ms 14.241 ms 10.000 ms