bench.rs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. // // #![feature(test)]
  2. // extern crate murmur3_sys;
  3. // extern crate test;
  4. // use std::io::Cursor;
  5. // use test::Bencher;
  6. // extern crate murmur3;
  7. // use murmur3::*;
  8. // use murmur3_sys::MurmurHash3_x86_32;
  9. // #[bench]
  10. // fn bench_32(b: &mut Bencher) {
  11. // let string: &[u8] =
  12. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  13. // b.bytes = string.len() as u64;
  14. // b.iter(|| {
  15. // let mut tmp = Cursor::new(&string[0..string.len()]);
  16. // murmur3_32(&mut tmp, 0)
  17. // });
  18. // }
  19. // #[bench]
  20. // fn bench_32_slice(b: &mut Bencher) {
  21. // let string: &[u8] =
  22. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  23. // b.bytes = string.len() as u64;
  24. // b.iter(|| {
  25. // let tmp = &string[0..string.len()];
  26. // murmur3_32_of_slice(tmp, 0);
  27. // });
  28. // }
  29. // #[bench]
  30. // fn bench_c_32(b: &mut Bencher) {
  31. // let string: &[u8] =
  32. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  33. // b.bytes = string.len() as u64;
  34. // b.iter(|| {
  35. // unsafe {
  36. // let output: [u8; 4] = [0; 4];
  37. // MurmurHash3_x86_32(
  38. // string.as_ptr() as _,
  39. // string.len() as i32,
  40. // 0,
  41. // output.as_ptr() as *mut _,
  42. // );
  43. // output[0]
  44. // };
  45. // });
  46. // }
  47. // #[bench]
  48. // fn bench_x86_128(b: &mut Bencher) {
  49. // let string: &[u8] =
  50. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  51. // b.bytes = string.len() as u64;
  52. // b.iter(|| {
  53. // let mut tmp = Cursor::new(&string[0..string.len()]);
  54. // murmur3_x86_128(&mut tmp, 0)
  55. // });
  56. // }
  57. // #[bench]
  58. // fn bench_c_x86_128(b: &mut Bencher) {
  59. // let string: &[u8] =
  60. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  61. // b.bytes = string.len() as u64;
  62. // b.iter(|| {
  63. // let output: [u8; 16] = [0; 16];
  64. // unsafe {
  65. // murmur3_sys::MurmurHash3_x86_128(
  66. // string.as_ptr() as _,
  67. // string.len() as i32,
  68. // 0,
  69. // output.as_ptr() as *mut _,
  70. // );
  71. // }
  72. // output[0]
  73. // });
  74. // }
  75. // #[bench]
  76. // fn bench_x64_128(b: &mut Bencher) {
  77. // let string: &[u8] =
  78. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  79. // b.bytes = string.len() as u64;
  80. // b.iter(|| {
  81. // let mut tmp = Cursor::new(&string[0..string.len()]);
  82. // murmur3_x64_128(&mut tmp, 0)
  83. // });
  84. // }
  85. // #[bench]
  86. // fn bench_c_x64_128(b: &mut Bencher) {
  87. // let string: &[u8] =
  88. // test::black_box(b"Lorem ipsum dolor sit amet, consectetur adipisicing elit");
  89. // b.bytes = string.len() as u64;
  90. // b.iter(|| {
  91. // let output: [u8; 16] = [0; 16];
  92. // unsafe {
  93. // murmur3_sys::MurmurHash3_x64_128(
  94. // string.as_ptr() as _,
  95. // string.len() as i32,
  96. // 0,
  97. // output.as_ptr() as *mut _,
  98. // );
  99. // }
  100. // output[0]
  101. // });
  102. // }