@@ -828,6 +828,66 @@ mod test_map {
828
828
}
829
829
}
830
830
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
+
831
891
#[ cfg( test) ]
832
892
mod test_set {
833
893
use super :: * ;
0 commit comments