java与C#执行速度的比较

本文通过在Windows 7 X64系统上对比Eclipse Luna中的Java代码、NetBeans 8.02中的Java代码以及Visual Studio 2013中的C#代码的执行速度,探讨了Java和C#在实际运行时的性能差异。实验结果显示,Eclipse下的Java代码运行最快,Visual Studio 2013中的C#代码最慢,可能是因为C#在该环境下进行了系统虚拟化。然而,使用Release模式编译并直接运行exe文件,C#的速度会有显著提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



大家在谈论编程时往往涉及到选用哪种语言比较顺手,就个人的经验来看,选择语言的关键有两点:其一,这个语言能不能用较少的代码来完成自己想要达成的目标;其二,编译出来的代码,执行速度怎样?前者关乎一门语言的功能设置。能完成的功能往往与复杂性成正比。如C与C++,功能强大,但编程效率欠高,做大型开发时,维护不易。java与C#在这方面优势明显。构建快,重构性好,扩充性好,易维护。代码成功率高。就这两门面向对象的语言来考察,不难发现,各自的优势与劣势。C#出自微软,在windows下开发较方便,但与windows耦合太过紧密,移植性变差。java在windows下的开发本地程序不是最佳选择,但代码的重用度高;换而言之就是代码可轻易转为其它平台上的程序。一次付出,终生享用。再来看看性能的比较。在win7 X64 Intel 3.4G双核,8G RAM 系统中,运行以下程序:

Eclipse(Luna)中代码:(条件:jdk1.8.0_45 for x64)

 public static void main(String[] args) throws IOException {
  long y=0;
  long z =0;
  final int A =2000000000;  //20亿
  final int B = 100000000;      //1亿
  for(long i =1;i<=A;i++){
   z=z+i;
   if(i%B==0){
    y=i /B;
    System.out.println("这是"+y+"亿。");
   }
  }
  System.out.println(z);
  System.out.println("结束!");
  }

netbeansIDE 8.02中:(条件:jdk1.8.0_45 for x64)

    public static void main(String[] args) {
        long y = 0;
        long z = 0;
        final int A =2000000000;  //20亿
        final int B = 100000000;      //1亿
        for (long i = 1; i <= A; i++) {
            z = z + i;
            if (i % B == 0) {
                y = i / B;
                System.out.println("这是"+y + "亿");
            }
        }
        System.out.println(z);
        System.out.println("计算结束。");
    }

Visual Studio 2013中C#代码(设置为CPU x64平台编译):

  static void Main(string[] args)
        {
            long y = 0;
            long  z = 0;
            int A = 2000000000;
            int B = 100000000;
       for (long i = 1; i <= A; i++)
           {
               z = z + i;
               if (i % B == 0)
               {
                   y = i / B;
                   Console.WriteLine("这是{0}亿", y);
               }
           }
            Console.WriteLine(z);
            Console.WriteLine("计算结束。");
            Console.ReadKey();
        }

通过比较,不难发现,eclipse下运行奇快,表现令人吃惊!

NetBeans还行,不慢。

让人难以理解的是占尽资源优势的visual studio 2013里的C#为何会那么慢?

分析得出结论:visual studio 2013或许是把amd64系统虚拟化为x86系统,然后再运行?

就像eclipse一样,让人意外!慢--得--让人意外!


不过需要说明的是如果用release设置编译,直接运行exe文件,速度还是很快的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值