基本类
PYTHON
import time
start_time = time.time()
n = int(input())
jie = 1
sum = 0
i = 1
while n >= i:
jie = jie * i
sum = sum + jie
i = i + 1
print(sum)
end_time = time.time()
print("程序执行时间为:", end_time - start_time, "秒")
执行结果
程序执行时间为: 0.00101470947265625 秒
JAVA
public static void main(String[] args) {
double st = System.nanoTime() / 1000000000.0;
long jie = 1;
long sum = 0;
for (int i = 1; i <= 4000; i++) {
jie = jie * i;
sum = sum + jie;
}
System.out.println(sum);
double et = System.nanoTime() / 1000000000.0;
System.out.println("程序执行时间为:" + (et - st) + "秒");
}
执行结果
程序执行时间为:1.868999097496271E-4秒
结论
JAVA的执行要比PYTHON快。
大数据工具类
PYTHON
使用了基于C语言编写的工具类,这里以NumPy为例。
import time
import numpy as np
start_time = time.time()
for j in range(10):
big_data = np.random.randint(0, 1000000, size=1000000)
# 计算数组的平均值
mean_value = np.mean(big_data)
print(mean_value)
# 计算数组的标准差
std_deviation = np.std(big_data)
print(std_deviation)
# 对数组进行排序
#sorted_data = np.sort(big_data)
#print(sorted_data)
# 计算每个元素的平方
squared_data = np.square(big_data)
print(squared_data)
end_time = time.time()
print("程序执行时间为:", end_time - start_time, "秒")
执行结果
程序执行时间为: 0.10068464279174805 秒
JAVA
public static void main(String[] args) {
double st = System.nanoTime() / 1000000000.0;
for (int i = 0; i < 10; i++) {
bigData();
}
double et = System.nanoTime() / 1000000000.0;
System.out.println("程序执行时间为:" + (et - st) + "秒");
}
public static void bigData() {
Random random = new Random();
int[] randomArray = new int[1000000];
for (int i = 0; i < 1000000; i++) {
randomArray[i] = random.nextInt(1000000);
}
System.out.println(calculateAverage(randomArray));
System.out.println(calculateStandardDeviation(randomArray));
square(randomArray);
}
public static double calculateAverage(int[] arr) {
if (arr == null || arr.length == 0) {
throw new IllegalArgumentException("数组为空");
}
int sum = 0;
for (int num : arr) {
sum += num;
}
return (double) sum / arr.length;
}
public static double calculateStandardDeviation(int[] numbers) {
double mean = calculateAverage(numbers);
double sumOfSquaredDifferences = 0.0;
for (int number : numbers) {
sumOfSquaredDifferences += Math.pow(number - mean, 2);
}
return Math.sqrt(sumOfSquaredDifferences / numbers.length);
}
public static void square(int[] numbers) {
for (int i = 0; i < numbers.length; i++) {
numbers[i] = numbers[i] * numbers[i];
}
}
执行结果
程序执行时间为:0.12971409992314875秒
结论
PYTHON的执行要比JAVA快,并且执行的内容越多差距越大。