for i in range(0, 1000): key = 92106429 + randint(0, 9000) while key in records: key = 92106429 + randint(0, 9000) records[key] = [ key, randint(0, 20), randint(0, 20), randint(0, 20), randint(0, 20) ] query.insert(*records[key]) print('inserted', records[key]) for key in records: record = query.select(key, [1, 1, 1, 1, 1])[0] error = False for i, column in enumerate(record.columns): if column != records[key][i]: error = True if error: print('select error on', key, ':', record, ', correct:', records[key]) else: print('select on', key, ':', record) for key in records: updated_columns = [None, None, None, None, None] for i in range(1, grades_table.num_columns): value = randint(0, 20) updated_columns[i] = value original = records[key].copy()
[None, randrange(0, 100), None, None, None], [None, None, randrange(0, 100), None, None], [None, None, None, randrange(0, 100), None], [None, None, None, None, randrange(0, 100)], ] update_time_0 = process_time() for i in range(0, 10000): query.update(choice(keys), *(choice(update_cols))) update_time_1 = process_time() print("Updating 10k records took: \t\t\t", update_time_1 - update_time_0) # Measuring Select Performance select_time_0 = process_time() for i in range(0, 10000): query.select(choice(keys), [1, 1, 1, 1, 1]) select_time_1 = process_time() print("Selecting 10k records took: \t\t\t", select_time_1 - select_time_0) # Measuring Aggregate Performance agg_time_0 = process_time() for i in range(0, 10000, 100): query.sum(i, 100, randrange(0, 5)) agg_time_1 = process_time() print("Aggregate 10k of 100 record batch took:\t", agg_time_1 - agg_time_0) # Measuring Delete Performance delete_time_0 = process_time() for i in range(0, 10000): query.delete(906659671 + i) delete_time_1 = process_time()
grades_table.index.create_index(4) for i in range(0, 1000): key = 92106429 + i records[key] = [key, randint(0, 20), randint(0, 20), randint(0, 20), randint(0, 20)] query.insert(*records[key]) keys = sorted(list(records.keys())) print("Insert finished") for c in range(5): _keys = list(set(records[record][c] for record in records)) index = {v: [records[record] for record in records if records[record][c] == v] for v in _keys} for key in _keys: results = query.select(key, c, [1, 1, 1, 1, 1]) error = False if len(results) != len(index[key]): error = True if not error: for record in index[key]: if record not in results: error = True break if error: print('select error on', key, ', column', c,':', results, ', correct:', index[key]) print("Select finished") for _ in range(10): for key in keys: updated_columns = [None, None, None, None, None]