相关疑难解决方法(0)

Java比C快2倍(作为C++的子集)

下面的代码是一种非常低效的乘法算法.它被写成测试目的.我相信我已经用不同的语言编写了相同的代码.

正下方是运行代码的结果.

OS: Windows 7
language: C (as a subset of C++)

compiler: Visual C++
optimization option: /Ox /Oi /Ot /Oy /GL
running time (seconds): 40 +/- 1

compiler: MinGW/gcc
optimization option: -O3 march=native
running time (seconds): 81 +/- 1

compiler: MinGW/g++
optimization option: -O3 march=native
running time (seconds): 82 +/- 1

language: Java

compiler: Oracle JDK
VM: Oracle JVM
running time (seconds): 18 +/- 1
Run Code Online (Sandbox Code Playgroud)

我相信我在我的C代码中做了一些糟糕的事情,完全优化的编译器无法以任何方式优化.如果有任何大问题请告诉我.我正在计划一个项目,其中有一部分涉及大量的计算.我决定在C中编写这个核心计算部分,但是有了这种结果,我宁可用Java编写所有东西; 它更容易,甚至更快?我仍然相信C,所以如果我的代码中有任何问题,请告诉我.我的期望是Java版本应该慢1.5倍或更慢,但它在某种程度上优于C.

TEST.C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

typedef signed char …
Run Code Online (Sandbox Code Playgroud)

c c++ java optimization performance

-2
推荐指数
1
解决办法
454
查看次数

标签 统计

c ×1

c++ ×1

java ×1

optimization ×1

performance ×1