Скорость Голанга против JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Скорость Голанга против Java

Сообщение Anonymous »

Я написал программу на Java и ее эквивалент на Go. Выполнение моей Java-программы занимает около 5,95 секунды, а программа Go — около 41,675789791 секунды. Хотя скорость Go сравнима с C или C++, поскольку он компилируется как C, тогда почему существует такая большая разница в производительности? Программы следующие:

Программа Go

package main

import (
"math"
"fmt"
"time"
)

func main() {
fmt.Printf("vvalue is %v", testFun(10, 16666611, 1000000000))
}

func fun(x float64) float64 {
return math.Pow(x, 2) - x
}

func testFun(first float64, second float64, times int) float64 {
var i = 0
var result float64 = 0
var dx float64
dx = (second - first) / float64(times)
for ; i < times; i++ {
result += fun(first + float64(i) * dx)
}
return result * dx
}


Программа Java

public class Test {
public static void main(String[] args) {
Test test = new Test();
double re = test.testFun(10, 16666611, 1000000000);
System.out.println(re);
}

private double testFun(double first, double second, long times) {
int i = 0;
double result = 0;
double dx = (second - first) / times;
for (; i < times; i++) {
result += fun(first + i * dx);
}
return result * dx;
}

private double fun(double v) {
return Math.pow(v, 2) - v;
}
}


Подробнее здесь: https://stackoverflow.com/questions/518 ... ng-vs-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»