MCPcopy Create free account
hub / github.com/apache/arrow-rs / array_from_vec_decimal_benchmark

Function array_from_vec_decimal_benchmark

arrow/benches/array_from.rs:120–171  ·  view source on GitHub ↗
(c: &mut Criterion)

Source from the content-addressed store, hash-verified

118}
119
120fn array_from_vec_decimal_benchmark(c: &mut Criterion) {
121 // bench decimal32 array
122 // create option<i32> array
123 let size: usize = 1 << 15;
124 let mut rng = rand::rng();
125 let mut array = vec![];
126 for _ in 0..size {
127 array.push(Some(rng.random_range::<i32, _>(0..99999999)));
128 }
129 c.bench_function("decimal32_array_from_vec 32768", |b| {
130 b.iter(|| decimal32_array_from_vec(array.as_slice()))
131 });
132
133 // bench decimal64 array
134 // create option<i64> array
135 let size: usize = 1 << 15;
136 let mut rng = rand::rng();
137 let mut array = vec![];
138 for _ in 0..size {
139 array.push(Some(rng.random_range::<i64, _>(0..9999999999)));
140 }
141 c.bench_function("decimal64_array_from_vec 32768", |b| {
142 b.iter(|| decimal64_array_from_vec(array.as_slice()))
143 });
144
145 // bench decimal128 array
146 // create option<i128> array
147 let size: usize = 1 << 15;
148 let mut rng = rand::rng();
149 let mut array = vec![];
150 for _ in 0..size {
151 array.push(Some(rng.random_range::<i128, _>(0..9999999999)));
152 }
153 c.bench_function("decimal128_array_from_vec 32768", |b| {
154 b.iter(|| decimal128_array_from_vec(array.as_slice()))
155 });
156
157 // bench decimal256array
158 // create option<into<decimal256>> array
159 let size = 1 << 10;
160 let mut array = vec![];
161 let mut rng = rand::rng();
162 for _ in 0..size {
163 let decimal = i256::from_i128(rng.random_range::<i128, _>(0..9999999999999));
164 array.push(Some(decimal));
165 }
166
167 // bench decimal256 array
168 c.bench_function("decimal256_array_from_vec 32768", |b| {
169 b.iter(|| decimal256_array_from_vec(array.as_slice()))
170 });
171}
172
173fn array_from_vec_benchmark(c: &mut Criterion) {
174 c.bench_function("array_from_vec 128", |b| b.iter(|| array_from_vec(128)));

Callers

nothing calls this directly

Calls 7

decimal32_array_from_vecFunction · 0.85
decimal64_array_from_vecFunction · 0.85
pushMethod · 0.45
iterMethod · 0.45
as_sliceMethod · 0.45

Tested by

no test coverage detected