BENCHMARK_F(GroupByScanBase, group_by_tpc_c_delivery_mat_memcpy) { auto result = gs->execute()->getResultTable(); MaterializingScan *ms = new MaterializingScan(true); ms->setEvent("NO_PAPI"); ms->addInput(result); ms->execute()->getResultTable(); }
BENCHMARK_F(SortScanBase, simple_sort_scan_sorted_int_mat) { sc->setSortField(0); auto result = sc->execute()->getResultTable(); MaterializingScan *ms = new MaterializingScan(false); ms->setEvent("NO_PAPI"); ms->addInput(result); auto result_mat = ms->execute()->getResultTable(); }
BENCHMARK_F(SortScanBase, simple_sort_scan_string_mat_memcpy) { sc->setSortField(4); auto result = sc->execute()->getResultTable(); MaterializingScan *ms = new MaterializingScan(true); ms->setEvent("NO_PAPI"); ms->addInput(result); auto result_mat = ms->execute()->getResultTable(); }
BENCHMARK_F(ProjectionScanBase, project_new_order_tpcc_district_mat) { //SELECT d_next_o_id, d_tax FROM district //materialized auto result = ps->execute()->getResultTable(); MaterializingScan *ms = new MaterializingScan(false); ms->setEvent("NO_PAPI"); ms->addInput(result); auto result_mat = ms->execute()->getResultTable(); }
BENCHMARK_F(HashJoinBase, stock_level_hash_join_mat_memcpy) { auto hashedColumn = hb->execute()->getResultHashTable(); hjp->addInput(hashedColumn); auto result = hjp->execute()->getResultTable(); MaterializingScan *ms = new MaterializingScan(true); ms->setEvent("NO_PAPI"); ms->addInput(result); auto result_mat = ms->execute()->getResultTable(); }
TEST_F(MaterializingScanTests, basic_materializing_scan_test) { auto t = io::Loader::shortcuts::load("test/lin_xxs.tbl"); auto no_p = (storage::PointerCalculator*) nullptr; ProjectionScan ps; ps.addInput(t); ps.addField(0); ps.setProducesPositions(true); ps.execute(); const auto &t2 = ps.getResultTable(); ASSERT_NE(no_p, dynamic_cast<const storage::PointerCalculator*>(t2.get())); MaterializingScan ms; ms.addInput(t2); ms.addField(0); ms.execute(); const auto &result = ms.getResultTable(); ASSERT_EQ(no_p, dynamic_cast<const storage::PointerCalculator*>(result.get())); ASSERT_EQ(100u, result->size()); ASSERT_EQ(1u, result->columnCount()); }