#!/usr/bin/env python
# encoding: utf-8
"""
test1.py

A very simple benchmarking for the mac...

Created by David Rodrigues on 2008-03-07.
Copyright (c) 2008 Sixhat Pirate Parts. All rights reserved.
"""

import sys
import os
import time
from itertools import count, islice, izip

def t1():
	"""docstring for t1"""
	st=time.time()
	a=0
	for it in range(10000000):
		a=a+it
	print "T1 (sum up to 10000000): %s" % (time.time()-st)
	return

def t2():
	"""docstring for t2"""
	st=time.time()
	f=open('test.txt','w')
	for it in range(4000000):
		f.write(str(it)+'\n')
	f.close()
	os.unlink('test.txt')
	print "T2 (write 4000000 lines to test.txt): %s" % (time.time()-st)
	return

def nsieve(m, c=0):
    a = [True] * (m + 1)
    iu = m // 2
    for i, x in izip(count(2), islice(a, 2, None)):
        if x:
            c += 1
            if i <= iu:
                a[i + i :: i] = (False, ) * ((m - i) // i)
    print 'Primes up to %8d %8d' % (m, c)

def t3():
	st=time.time()
	for k in 0, 1, 2:
	    nsieve((1 << (int(10) - k)) * 10000)
	print "T3 (Sieve Test): %s" % (time.time()-st)

def main():
	st=time.time()
	t1()
	t2()
	t3()
	print "Total: %s" % (time.time()-st)

if __name__ == '__main__':
	main()

