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)
#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