Ran each three times and used the lowest timing for each. Timings taken on a g-2vcpu-8gb digital ocean instance using the time command. Input value of 10 given to each.
import sys
import random
u = int(sys.argv[1]) # Get an input number from the command line
r = random.randint(0, 10000) # Get a random number 0 <= r < 10k
a = [0] * 10000 # Array of 10k elements initialized to 0
for i in range(10000): # 10k outer loop iterations
for j in range(100000): # 100k inner loop iterations, per outer loop iteration
a[i] = a[i] + u # Simple sum
a[i] = a[i] + r # Add a random value to each element in array
print(a[r]) # Print out a single element from the arra
var u = Number(process.argv[2]); // Get an input number from the command line
var r = Math.floor(Math.random() * 10000); // Get a random number 0 <= r < 10k
var a = new Int32Array(10000); // Array of 10k elements initialized to 0
for (let i = 0; i < 10000; i++) { // 10k outer loop iterations
for (let j = 0; j < 100000; j++) { // 100k inner loop iterations, per outer loop iteration
a[i] = a[i] + u; // Simple sum
}
a[i] += r; // Add a random value to each element in array
}
console.log(a[r]); // Print out a single element from the array
package main
import (
"fmt"
"math/rand"
"strconv"
"os"
)
func main() {
input, e := strconv.Atoi(os.Args[1]) // Get an input number from the command line
if e != nil { panic(e) }
u := int32(input)
r := int32(rand.Intn(10000)) // Get a random number 0 <= r < 10k
var a[10000]int32 // Array of 10k elements initialized to 0
//for i := range a { a[i] = 0 };
for i := 0; i < 10000; i++ { // 10k outer loop iterations
for j := 0; j < 100000; j++ { // 100k inner loop iterations, per outer loop iteration
a[i] = a[i] + u // Simple sum
}
a[i] += r // Add a random value to each element in array
}
fmt.Println(a[r]) // Print out a single element from the array
}
#include "stdio.h"
#include "stdlib.h"
#include "stdint.h"
int main (int argc, char** argv) {
int u = atoi(argv[1]); // Get an input number from the command line
int r = rand() % 10000; // Get a random integer 0 <= r < 10k
int32_t a[10000] = {0}; // Array of 10k elements initialized to 0
for (int i = 0; i < 10000; i++) { // 10k outer loop iterations
for (int j = 0; j < 100000; j++) { // 100k inner loop iterations, per outer loop iteration
a[i] = a[i] + u; // Simple sum
}
a[i] += r; // Add a random value to each element in array
}
printf("%d\n", a[r]); // Print out a single element from the array
}