Commit Graph

14 Commits

Author SHA1 Message Date
Ben Kimock 1403de85a2 Include the cost of shifts in insert/remove benchmarks (#268)
Thanks!
2021-10-09 17:08:35 -07:00
Matt Brubeck c76756b473 Deprecate and hide ExtendFromSlice trait
This trait is only needed for internal benchmarking and should not have
been public.  It will be removed in version 2.0.
2020-04-22 13:50:48 -07:00
Andre Bogus aabaee0a82 bench and optimize from_slice
This adds "bench_from_slice(_vec)(_small)" benches, renaming the previous
versions to "bench_from_iter*" (because they were using `From<&[T]>`, which
calls `FromIterator` internally) and optimizes the `from_slice` constructor
considerably.

Before:
```
test bench_from_slice                  ... bench:          42 ns/iter (+/- 0)
test bench_from_slice_small            ... bench:          12 ns/iter (+/- 0)
```
After:
```
test bench_from_slice                  ... bench:          27 ns/iter (+/- 0)
test bench_from_slice_small            ... bench:           8 ns/iter (+/- 0)
```
2018-08-22 22:14:23 +02:00
arthurprs 759549e59f Add return type to remove_noinline 2018-05-22 19:37:41 +02:00
Jef 5c3a66cb9e Roll in improvements from #94 2018-05-22 13:17:43 +02:00
Jef cd002392ed Add benchmarks for smallvec when it's on the stack 2018-05-18 11:50:43 +02:00
Jef 65a42f3a1c Add benchmarks for Vec to compare to SmallVec 2018-05-17 17:27:10 +02:00
Dan Kaplun ae82dc2ec2 Add smallvec! macro 2018-04-06 00:40:55 -04:00
Nipunn Koorapati 82ee158e68 Add a benchmark for from_slice
Because it seems like good practice.
2017-03-14 12:10:18 -07:00
Nipunn Koorapati 2a8859106c Add bench insert_from_slice 2017-01-24 23:35:00 -08:00
Nipunn Koorapati 24f52bd44c Add benchmark for extend_from_slice 2017-01-24 23:34:59 -08:00
Nipunn Koorapati 15c41c87a1 Implement insert_slice for SmallVec
Add benchmark for insert_many
2016-09-21 00:33:27 -07:00
Nipunn Koorapati 59f5ea6057 Use a #noinline wrapper from the benchmarks to get consistent results 2016-09-12 00:48:00 -07:00
Nipunn Koorapati 0e963993b7 Move benchmarks to benches module
This ensures that the benchmarks are in a separate crate and linked
against the smallvec dynamic library rather than being compiled
together.
2016-09-12 00:31:48 -07:00