Esempio n. 1
0
def test():
    ''' basic testing method '''
    print('build in memory check')
    cms = CountMinSketch(width=100000, depth=7)
    # add elements
    for i in range(100):
        tmp = 100 * (i + 1)
        cms.add(str(i), tmp)

    print(cms.check(str(0), 'min'))
    print(cms.check(str(0), 'mean'))
    print(cms.check(str(0), 'mean-min'))
    cms.export('./dist/py_test.cms')

    print('import from disk check')
    cmsf = CountMinSketch(filepath='./dist/py_test.cms')
    if cms.width != cmsf.width:
        print('width does not match!')
    if cms.depth != cmsf.depth:
        print('depth does not match!')

    print(cmsf.check(str(0), 'min'))
    print(cmsf.check(str(0), 'mean'))
    print(cmsf.check(str(0), 'mean-min'))

    try:
        print('\n\nTest invalid initialization')
        cms_ex = CountMinSketch()
    except SyntaxError as ex:
        print(ex)
Esempio n. 2
0
    #print('CMS Create Time: ' + str(today.strftime("%X")) + ' ' + str(today.strftime("%f")))
    #CMS Create
    for stock_trade_line in stock_trade_lines:
        stock_trade_record_count = stock_trade_record_count + 1
        stock_symbol = stock_trade_line[0].strip()

        sketch_starttime = time.process_time()
        add1 = stock_trade_frq_cms.add(stock_symbol)
        sketch_endtime = time.process_time()
        sketch_time = sketch_time + (sketch_endtime - sketch_starttime)

    cms_sketch_name = output_dir + stock_etf + "_trade_" + time_interval + str(no_of_record) + '.cms'

    sketch_endtime2 = time.process_time()
    stock_trade_frq_cms.export(cms_sketch_name)
    cms_endtime = time.process_time()
    cms_endtime2 = time.asctime(time.localtime(time.time()))

    sketch_save_time = cms_endtime - sketch_endtime2
    stock_trade_file.close()

    stock_trade_frq_cms = CountMinSketch(filepath=cms_sketch_name)

    #print('CMS Membership Check Time: ' + str(today.strftime("%X")) + ' ' + str(today.strftime("%f")))
    #CMS Membership Check
    check_stock_symbol_file = open(check_stock_symbol_filename, "r")
    check_stock_symbol_count = 0
    not_present_count = 0
    present_count = 0
    sketch_query_time = 0