Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. fn main() {
  2. let arr: Vec<u64> = vec![1;100];
  3. let iter_count: u64 = 10000000000;
  4.  
  5. let sum_fns = [sum_array1, sum_array2, sum_array3];
  6.  
  7. //let mut total_sum: u64 = 0;
  8. for sum_array_fn in &sum_fns {
  9. let t = std::time::Instant::now();
  10. for _ in 0..iter_count {
  11. sum_array_fn(&arr[..]);
  12. //total_sum += sum_array_fn(&arr[..]);
  13. }
  14. println!("{}", t.elapsed().as_millis());
  15. }
  16. //println!("total_sum: {}", total_sum);
  17. }
  18.  
  19.  
  20.  
  21. fn sum_array1(array: &[u64]) -> u64 {
  22. assert!(array.len() == 100);
  23. array[0] + array[1] + array[2] + array[3] + array[4] + array[5] + array[6] + array[7] + array[8] + array[9] + array[10] + array[11] + array[12] + array[13] + array[14] + array[15] + array[16] + array[17] + array[18] + array[19] + array[20] + array[21] + array[22] + array[23] + array[24] + array[25] + array[26] + array[27] + array[28] + array[29] + array[30] + array[31] + array[32] + array[33] + array[34] + array[35] + array[36] + array[37] + array[38] + array[39] + array[40] + array[41] + array[42] + array[43] + array[44] + array[45] + array[46] + array[47] + array[48] + array[49] + array[50] + array[51] + array[52] + array[53] + array[54] + array[55] + array[56] + array[57] + array[58] + array[59] + array[60] + array[61] + array[62] + array[63] + array[64] + array[65] + array[66] + array[67] + array[68] + array[69] + array[70] + array[71] + array[72] + array[73] + array[74] + array[75] + array[76] + array[77] + array[78] + array[79] + array[80] + array[81] + array[82] + array[83] + array[84] + array[85] + array[86] + array[87] + array[88] + array[89] + array[90] + array[91] + array[92] + array[93] + array[94] + array[95] + array[96] + array[97] + array[98] + array[99]
  24. }
  25.  
  26. fn sum_array2(array: &[u64]) -> u64 {
  27. assert!(array.len() == 100);
  28. let mut sum = 0;
  29. for v in array.iter() {
  30. sum += v;
  31. }
  32. sum
  33. }
  34.  
  35. fn sum_array3(array: &[u64]) -> u64 {
  36. assert!(array.len() == 100);
  37. array.iter().sum()
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement