TIL writing one billion elements to an array using python3 takes a jarring 172 seconds. The good news is -OO
makes it a bit faster at 80 seconds. pypy3
is even faster at 2.3 seconds.
The bad news is it takes Java 0.25 seconds.
import time
capacity = 1000000000
arr = [-1] * capacity
start = time.time()
for i in range(capacity): arr[i] = i
for i in range(capacity): arr[i] = -1
print(time.time() - start, 'seconds')
final int SIZE = 1_000_000_000;
int[] bigArray = new int[SIZE];
long startWrite = System.nanoTime();
for (int i = 0; i < SIZE; i++) { bigArray[i] = i; }
for (int i = 0; i < SIZE; i++) { bigArray[i] = -1; }
long endWrite = System.nanoTime();
double elapsedSeconds = (endWrite - startWrite) / 1e9;
System.out.printf("%.2f seconds%n", elapsedSeconds);