Skip to content

Commit 033c41f

Browse files
committed
refactor some code for clarity
1 parent 644a7ee commit 033c41f

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

cpp/benchmarks/string/convert_datetime.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,29 +39,30 @@ using Types = nvbench::type_list<cudf::timestamp_D,
3939
template <class DataType>
4040
void bench_convert_datetime(nvbench::state& state, nvbench::type_list<DataType>)
4141
{
42-
auto const num_rows = static_cast<cudf::size_type>(state.get_int64("num_rows"));
43-
auto const data_type = cudf::data_type(cudf::type_to_id<DataType>());
44-
auto const from_ts = state.get_string("dir") == "from";
42+
auto const num_rows = static_cast<cudf::size_type>(state.get_int64("num_rows"));
43+
auto const from_ts = state.get_string("dir") == "from";
4544

46-
auto const ts_col = create_random_column(data_type.id(), row_count{num_rows});
47-
cudf::column_view input(ts_col->view());
45+
auto const data_type = cudf::data_type(cudf::type_to_id<DataType>());
46+
auto const ts_col = create_random_column(data_type.id(), row_count{num_rows});
4847

4948
auto format = std::string{"%Y-%m-%d %H:%M:%S"};
49+
auto s_col = cudf::strings::from_timestamps(ts_col->view(), format);
50+
auto sv = cudf::strings_column_view(s_col->view());
51+
5052
auto stream = cudf::get_default_stream();
5153
state.set_cuda_stream(nvbench::make_cuda_stream_view(stream.value()));
5254

5355
if (from_ts) {
5456
state.add_global_memory_reads<DataType>(num_rows);
55-
state.add_global_memory_writes<int8_t>((format.size() + 2) * num_rows); // +2 for 4-digit year
56-
state.exec(nvbench::exec_tag::sync,
57-
[&](nvbench::launch& launch) { cudf::strings::from_timestamps(input, format); });
57+
state.add_global_memory_writes<int8_t>(sv.chars_size(stream));
58+
state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) {
59+
cudf::strings::from_timestamps(ts_col->view(), format);
60+
});
5861
} else {
59-
auto source = cudf::strings::from_timestamps(input, format);
60-
auto view = cudf::strings_column_view(source->view());
61-
state.add_global_memory_reads<int8_t>(view.chars_size(stream));
62+
state.add_global_memory_reads<int8_t>(sv.chars_size(stream));
6263
state.add_global_memory_writes<DataType>(num_rows);
6364
state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) {
64-
cudf::strings::to_timestamps(view, data_type, format);
65+
cudf::strings::to_timestamps(sv, data_type, format);
6566
});
6667
}
6768
}
@@ -70,4 +71,4 @@ NVBENCH_BENCH_TYPES(bench_convert_datetime, NVBENCH_TYPE_AXES(Types))
7071
.set_name("datetime")
7172
.set_type_axes_names({"DataType"})
7273
.add_string_axis("dir", {"to", "from"})
73-
.add_int64_axis("num_rows", {1 << 10, 1 << 15, 1 << 20, 1 << 25});
74+
.add_int64_axis("num_rows", {1 << 16, 1 << 18, 1 << 20, 1 << 22});

0 commit comments

Comments
 (0)