MCPcopy Create free account
hub / github.com/comaps/comaps / UNIT_TEST

Function UNIT_TEST

libs/drape/drape_tests/vertex_buffer_tests.cpp:29–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27}
28
29UNIT_TEST(VertexBuffer_Benchmark)
30{
31 using ValueT = gpu::TextOutlinedStaticVertex;
32 // using ValueT = gpu::TextDynamicVertex
33 ValueT objs[] = {
34 {{1, 1}, {2, 2}, {3, 3}},
35 {{4, 4}, {5, 5}, {6, 6}},
36 {{7, 7}, {8, 8}, {9, 9}},
37 };
38
39 // Very comfortable for buffer_vector<ValueT, kUpperBound>.
40 uint32_t constexpr kUpperBound = 128;
41 std::vector<uint32_t> sizes = GenerateSizes(16, kUpperBound);
42
43 uint64_t t1, t2, t3, t4;
44 {
45 base::Timer timer;
46 for (uint32_t sz : sizes)
47 {
48 std::vector<ValueT> v;
49 for (size_t i = 0; i < sz; ++i)
50 v.push_back(objs[i % std::size(objs)]);
51 }
52 t1 = timer.ElapsedMilliseconds();
53 }
54
55 {
56 base::Timer timer;
57 for (uint32_t sz : sizes)
58 {
59 buffer_vector<ValueT, kUpperBound> v;
60 for (size_t i = 0; i < sz; ++i)
61 v.push_back(objs[i % std::size(objs)]);
62 }
63 t2 = timer.ElapsedMilliseconds();
64 }
65
66 {
67 base::Timer timer;
68 for (uint32_t sz : sizes)
69 {
70 boost::container::small_vector<ValueT, kUpperBound> v;
71 for (size_t i = 0; i < sz; ++i)
72 v.push_back(objs[i % std::size(objs)]);
73 }
74 t3 = timer.ElapsedMilliseconds();
75 }
76
77 {
78 base::Timer timer;
79 for (uint32_t sz : sizes)
80 {
81 std::vector<ValueT> v;
82 v.reserve(sz);
83 for (size_t i = 0; i < sz; ++i)
84 v.push_back(objs[i % std::size(objs)]);
85 }
86 t4 = timer.ElapsedMilliseconds();

Callers

nothing calls this directly

Calls 5

GenerateSizesFunction · 0.85
sizeFunction · 0.85
ElapsedMillisecondsMethod · 0.80
push_backMethod · 0.45
reserveMethod · 0.45

Tested by

no test coverage detected