Example #1
0
def test_inevitable_info(N):
    def outputs(i):
        time.sleep(1)
        print i
    transaction.set_num_threads(N)
    for x in xrange(N):
        transaction.add(outputs, x)
    transaction.run()
Example #2
0
def test_conflicts_dict(N):
    for i in xrange(10000):
        def f(i):
            key = 'key'
            if key not in global_dict:
                global_dict[key] = 0
            global_dict[key] += i
        transaction.add(f, i)
    transaction.set_num_threads(N)
    transaction.run()
Example #3
0
def test_conflicts_global(N):
    for i in xrange(10000):
        def f(i):
            global global_counter
            if global_counter is None:
                global_counter = 0
            global_counter += i
        transaction.add(f, i)
    transaction.set_num_threads(N)
    transaction.run()
Example #4
0
def test_scaling_transaction(N):
    transaction.set_num_threads(N)
    for x in tested_primes:
        transaction.add(is_prime, x)
    transaction.run()
Example #5
0
import sys
import transaction

from utils import is_prime


def print_all_primes(N):
    primes = []
    def maybe_add_prime(n):
        if is_prime(n):
            primes.append(n)
    for x in xrange(N):
        transaction.add(maybe_add_prime, x)
    transaction.run()
    print sorted(primes[-10:])
    #import pdb; pdb.set_trace()


if __name__ == '__main__':
    n_threads, N = map(int, sys.argv[1:3])
    transaction.set_num_threads(n_threads)
    print N, 'running on', n_threads, 'threads'
    print_all_primes(N)