@@ -828,6 +828,66 @@ mod test_map {
828828 }
829829}
830830
831+ #[ cfg( test) ]
832+ mod bench_map {
833+ use super :: * ;
834+ use prelude:: * ;
835+ use rand:: { weak_rng, Rng } ;
836+ use extra:: test:: BenchHarness ;
837+
838+ #[ bench]
839+ fn bench_iter_small ( bh : & mut BenchHarness ) {
840+ let mut m = TrieMap :: < uint > :: new ( ) ;
841+ let mut rng = weak_rng ( ) ;
842+ for _ in range ( 0 , 20 ) {
843+ m. insert ( rng. gen ( ) , rng. gen ( ) ) ;
844+ }
845+
846+ bh. iter ( || for _ in m. iter ( ) { } )
847+ }
848+
849+ #[ bench]
850+ fn bench_iter_large ( bh : & mut BenchHarness ) {
851+ let mut m = TrieMap :: < uint > :: new ( ) ;
852+ let mut rng = weak_rng ( ) ;
853+ for _ in range ( 0 , 1000 ) {
854+ m. insert ( rng. gen ( ) , rng. gen ( ) ) ;
855+ }
856+
857+ bh. iter ( || for _ in m. iter ( ) { } )
858+ }
859+
860+ #[ bench]
861+ fn bench_lower_bound ( bh : & mut BenchHarness ) {
862+ let mut m = TrieMap :: < uint > :: new ( ) ;
863+ let mut rng = weak_rng ( ) ;
864+ for _ in range ( 0 , 1000 ) {
865+ m. insert ( rng. gen ( ) , rng. gen ( ) ) ;
866+ }
867+
868+ bh. iter ( || {
869+ for _ in range ( 0 , 10 ) {
870+ m. lower_bound ( rng. gen ( ) ) ;
871+ }
872+ } ) ;
873+ }
874+
875+ #[ bench]
876+ fn bench_upper_bound ( bh : & mut BenchHarness ) {
877+ let mut m = TrieMap :: < uint > :: new ( ) ;
878+ let mut rng = weak_rng ( ) ;
879+ for _ in range ( 0 , 1000 ) {
880+ m. insert ( rng. gen ( ) , rng. gen ( ) ) ;
881+ }
882+
883+ bh. iter ( || {
884+ for _ in range ( 0 , 10 ) {
885+ m. upper_bound ( rng. gen ( ) ) ;
886+ }
887+ } ) ;
888+ }
889+ }
890+
831891#[ cfg( test) ]
832892mod test_set {
833893 use super :: * ;
0 commit comments