golang编程语言和java的性能对比

这篇文章主要介绍了golang、java性能的对比,需要的朋友可以参考下!

1.先说Go吧,因为我个人最近正在用,感觉很不错

package main
import "fmt"
func main(){
  fmt.Println(fibonacci(34))
}
func fibonacci(i int) int{
  if(i<2){
    return i;
  }
  return fibonacci(i-2) + fibonacci(i-1);
}
复制代码

先用 Go1.7看看:

复制代码

代码如下:

qiangjian@localhost:/works/learnCPP$ go version && time go build fib.go && time ./fib

go version go1.7.5 darwin/amd64real 0m0.206s

user 0m0.165s

sys 0m0.059s

real 0m0.052s

user 0m0.045s

sys 0m0.004s

然后,再看看1.8的:

代码如下:

qiangjian@localhost:/works/learnCPP$ go18 version && time go18 build fib.go && time ./fib

go version go1.8 darwin/amd64real 0m0.204s

user 0m0.153s

sys 0m0.062s

real 0m0.051s

user 0m0.045s

sys 0m0.003s

感觉看不出差异,但官方1.8在GC、Compile等方面优化提升了20%,可能是这demo太简单了吧。

2.再来写Java,虽然它很火,感觉太臃肿了

class Fib{
  public  static void main(String[] args){
    System.out.println(fibonacci(34));
 
  }
 
  static int fibonacci( int i){
    if(i<2) return i;
    return fibonacci(i-2) + fibonacci(i-1);
  }
}
复制代码

编译、运行的结果是:

qiangjian@localhost:/works/learnCPP$ java -version && time javac Fib.java && time java Fib 
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
real  0m0.952s
user  0m1.302s
sys   0m0.144s
real  0m0.150s
user  0m0.123s
sys   0m0.025s
复制代码

性能还行, Compile时间和c++/go比就太low了。



转载于:https://juejin.im/post/5cb053876fb9a068ac3def9c

根据引用中提到的文章,《golang java 对比_golang编程语言java性能对比》,可以进一步了解GolangJava在并发情况下的性能对比。引用中的文章《GolangJava各方面使用对比(下)》也提供了对GolangJava的比较。根据这些参考内容,我们可以得出以下结论: Golang相对于Java在并发方面具有更好的性能Golang通过goroutine和channel的机制实现高效的并发编程,而Java的线程模型在大量并发情况下可能会导致性能下降。Golang的并发模型可以更好地利用多核处理器,并且具有更低的内存占用。 此外,Golang还通过垃圾回收机制和快速编译等特性提供了更高的性能Golang的垃圾回收机制可以在运行时自动回收不再使用的内存,而Java的垃圾回收机制可能会导致一些性能损失。另外,Golang的编译器可以快速编译代码,并且生成的可执行文件相对较小,这也有助于提高性能。 然而,需要注意的是,性能对比不仅仅取决于编程语言本身,还与具体的应用场景和实现方式有关。在某些特定的应用领域中,Java可能具有更好的性能。因此,在选择编程语言时,应根据具体需求和场景来进行评估和选择。 总而言之,根据参考内容,Golang相对于Java在并发方面具有更好的性能,并且通过垃圾回收机制和快速编译等特性提供了更高的性能。但是,在具体应用场景中,还需根据需求和场景来进行评估和选择。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GolangJava的并发性能对比](https://blog.csdn.net/yehuijun/article/details/126223686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [GolangJava各方面使用对比(上)](https://blog.csdn.net/pbrlovejava/article/details/108920137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值