58 lines
1.4 KiB
Bash
58 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Funzione per calcolare la media
|
|
calculate_mean() {
|
|
local sum=0
|
|
for time in "$@"; do
|
|
sum=$(echo "$sum + $time" | bc)
|
|
done
|
|
echo "scale=2; $sum / $#" | bc
|
|
}
|
|
|
|
# Funzione per calcolare la deviazione standard
|
|
calculate_std_dev() {
|
|
local mean=$1
|
|
shift
|
|
local sum=0
|
|
for time in "$@"; do
|
|
sum=$(echo "$sum + ($time - $mean)^2" | bc)
|
|
done
|
|
echo "scale=2; sqrt($sum / $#)" | bc
|
|
}
|
|
|
|
# Esegui 100 test con Bun
|
|
bun_times=()
|
|
for i in {1..100}; do
|
|
start_time=$(date +%s%3N) # Ottieni il tempo in millisecondi
|
|
bun run only.js > /dev/null
|
|
end_time=$(date +%s%3N)
|
|
elapsed_time=$((end_time - start_time))
|
|
bun_times+=($elapsed_time)
|
|
done
|
|
|
|
# Calcola la media e deviazione standard per Bun
|
|
bun_mean=$(calculate_mean "${bun_times[@]}")
|
|
bun_std_dev=$(calculate_std_dev "$bun_mean" "${bun_times[@]}")
|
|
|
|
# Esegui 100 test con Node
|
|
node_times=()
|
|
for i in {1..100}; do
|
|
start_time=$(date +%s%3N)
|
|
node only.js > /dev/null
|
|
end_time=$(date +%s%3N)
|
|
elapsed_time=$((end_time - start_time))
|
|
node_times+=($elapsed_time)
|
|
done
|
|
|
|
# Calcola la media e deviazione standard per Node
|
|
node_mean=$(calculate_mean "${node_times[@]}")
|
|
node_std_dev=$(calculate_std_dev "$node_mean" "${node_times[@]}")
|
|
|
|
# Stampa i risultati
|
|
echo "Bun Execution Results:"
|
|
echo "Mean Time (ms): $bun_mean"
|
|
echo "Standard Deviation: $bun_std_dev"
|
|
echo ""
|
|
echo "Node Execution Results:"
|
|
echo "Mean Time (ms): $node_mean"
|
|
echo "Standard Deviation: $node_std_dev"
|