@@ -308,6 +308,7 @@ pub mod raw {
308
308
mod test {
309
309
use super :: * ;
310
310
use prelude:: * ;
311
+ use bh = extra:: test:: BenchHarness ;
311
312
312
313
#[ test]
313
314
fn test ( ) {
@@ -347,4 +348,84 @@ mod test {
347
348
assert_eq!(to_managed([@" abc", @" 123 "]), @[@" abc", @" 123 " ] ) ;
348
349
assert_eq!( to_managed( [ @[ 42 ] ] ) , @[ @[ 42 ] ] ) ;
349
350
}
351
+
352
+ #[ bench]
353
+ fn bench_capacity( b: & mut bh) {
354
+ let x = @[ 1 , 2 , 3 ] ;
355
+ do b. iter {
356
+ capacity( x) ;
357
+ }
358
+ }
359
+
360
+ #[ bench]
361
+ fn bench_build_sized( b: & mut bh) {
362
+ let len = 64 ;
363
+ do b. iter {
364
+ build_sized( len, |push| for i in range( 0 , 1024 ) { push( i) } ) ;
365
+ }
366
+ }
367
+
368
+ #[ bench]
369
+ fn bench_build( b: & mut bh) {
370
+ do b. iter {
371
+ for i in range( 0 , 95 ) {
372
+ build( |push| push( i) ) ;
373
+ }
374
+ }
375
+ }
376
+
377
+ #[ bench]
378
+ fn bench_append( b: & mut bh) {
379
+ let lhs = @[ 7 , ..128 ] ;
380
+ let rhs = range( 0 , 256 ) . to_owned_vec( ) ;
381
+ do b. iter {
382
+ append( lhs, rhs) ;
383
+ }
384
+ }
385
+
386
+ #[ bench]
387
+ fn bench_map( b: & mut bh) {
388
+ let elts = range( 0 , 256 ) . to_owned_vec( ) ;
389
+ do b. iter {
390
+ map( elts, |x| x* 2 ) ;
391
+ }
392
+ }
393
+
394
+ #[ bench]
395
+ fn bench_from_fn( b: & mut bh) {
396
+ do b. iter {
397
+ from_fn( 1024 , |x| x) ;
398
+ }
399
+ }
400
+
401
+ #[ bench]
402
+ fn bench_from_elem( b: & mut bh) {
403
+ do b. iter {
404
+ from_elem( 1024 , 0u64 ) ;
405
+ }
406
+ }
407
+
408
+ #[ bench]
409
+ fn bench_to_managed_move( b: & mut bh) {
410
+ do b. iter {
411
+ let elts = range( 0 , 1024 ) . to_owned_vec( ) ; // yikes! can't move out of capture, though
412
+ to_managed_move( elts) ;
413
+ }
414
+ }
415
+
416
+ #[ bench]
417
+ fn bench_to_managed( b: & mut bh) {
418
+ let elts = range( 0 , 1024 ) . to_owned_vec( ) ;
419
+ do b. iter {
420
+ to_managed( elts) ;
421
+ }
422
+ }
423
+
424
+ #[ bench]
425
+ fn bench_clone( b: & mut bh) {
426
+ let elts = to_managed( range( 0 , 1024 ) . to_owned_vec( ) ) ;
427
+ do b. iter {
428
+ elts. clone( ) ;
429
+ }
430
+ }
350
431
}
0 commit comments