示例#1
0
def test_save(number):
    """
        Сохранение JSON документа много раз.
        Документ: doc = {'Key1dsfdsf': {'Key2sdfsdfsdf':[1,2,3], 'Key3dfgfdgfdg':'New Year'}}
    """
    res = []
    for i in xrange(number):
        d = copy.deepcopy(doc)
        start = time.time()
        save(d)
        duration = time.time() - start
        friq = 1.0 / duration
        res.append((duration, friq))
    print "Doc amount %d" % storage.entities.count()
    duration, friq = tuple([average(vals) for vals in zip(*res)])
    return duration, friq
示例#2
0
doc = copy.deepcopy(document)

def test_find(filter):
    print filter
    start = time.time()
    d = find(filter)
    duration = time.time() - start
    friq = 1.0 / duration

    assert d is not None
    print len(d)
#    assert len(d) == 8

    return duration, friq

numbers = [100, 1000, 10000, 100000, 1000000, 4000000]

for num in numbers:
    res = []
    storage.entities.remove()
    for n in range(num):
        d = copy.deepcopy(doc)
        d['a']['c'] = {'d':[1,2,3], 'e':n}
        save(d)
    print 'Doc amount %d' % storage.entities.count()
    for i in range(3):
        res.append(test_find({'$and':[{'a.c.e':{'$gt': num/2 - 40},},
                {'a.c.e':{'$lt': num/2 + 40}}]}))
    duration, friq = tuple([average(vals) for vals in zip(*res)])
    print 'Test filter documents. Documents amount: %d; Duration: %f; Friquency: %f' %\
          (num, duration, friq)