`
jinvasshole
  • 浏览: 763851 次
文章分类
社区版块
存档分类
最新评论

Java与C#执行效率之不科学比较

 
阅读更多

中午吃饭,闲来无事,分别用Java和C#实现了一个计算PI值的类,执行次数相同,为了避免一些偶然误差,姑设置了一个比较大的计算次数100000000,1亿次!

Java代码如下:

import java.util.*;

public class CalcPI
{
public static final int COUNT=100000000;
public static void main(String[] args)
{
long start=System.currentTimeMillis();
Random random=new Random(start);
int inside=0;
for(int i=0;i<COUNT;i++)
{
double cx=random.nextDouble();
double cy=random.nextDouble();
double distance=Math.sqrt((cx*cx)+(cy*cy));
if(distance<1.0)
{
++inside;
}

}
double pi=4*(double)inside/(double)COUNT;
long end=System.currentTimeMillis();
long lastTime=end-start;
System.out.println ("pi="+pi);
System.out.println ("所用时间:"+lastTime+"ms");
}
}

C#代码如下:

using System;

public class CalcPI
{
public const int Count=100000000;
public static void Main(string[] args)
{
DateTime start=DateTime.Now;
Random random=new Random(start.Millisecond);
int Inside=0;
for(int i=0;i<Count;i++)
{
double cx=random.NextDouble();
double cy=random.NextDouble();
double distance=Math.Sqrt((cx*cx)+(cy*cy));
if(distance<1.0)
{
++Inside;
}
}
double pi=4*(double)Inside/(double)Count;
DateTime end=DateTime.Now;
TimeSpan diff=end-start;
Console.WriteLine("pi={0}",pi);
Console.WriteLine("消耗时间:{0}ms",diff.TotalMilliseconds);
}

}

最后执行效果的画面:

执行结果图

从这个结果来看,好像在执行浮点运算方面,Java不如C#,不知道代码方面有没有需要改进,让测试更科学、公平的地方。而且好像C#最后的结果也比Java得到的结果更理想。

分享到:
评论

相关推荐

    Java to C# Converter

    Java to C# Converter 转换的效果很好,我实在是没有分了.收1分吧. Demo版的只能转换 试用演示版的Java文件夹转换到C#转换器2000行的代码片段转换到200行一次。 官方网站 ...有需要其他转换器的可以给我留言,我可以...

    解决java 与C# MD5 不一致问题 代码

    解决java 与C# MD5 不一致问题

    java与c#MD5加密方法得到不一致解决办法

    java与c#MD5加密方法得到不一致解决办法,MD5加密后得到不一致结果

    Java和C#的比较

    Java和C#的比较 Java和C#的比较 Java和C#的比较 Java和C#的比较 Java和C#的比较

    java与c#比较

    很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区别都在什么地方呢?我们从今天开始,会从各个角度来对比...

    java和C#比较

    java和C#比较 Java和C#都是一门面向对象的语言,Java更多地借鉴了C++的优点,而摒弃了它的一些不太容易被人掌握的知识点(有些不能说是缺点),并且增加了一些自己的特点,而C#则是更多地借鉴了Java的优点,而增加了...

    论C#与Java之异同

    2001年的时候,Dare Obasanjo写过一篇文章,名为《论C#与Java之异同(Comparison of Microsoft's C# Programming Language to Sun Microsystems' Java Programming Language)》,该文以其详尽与精确成为了同类文章...

    java与C#的区别

    java与C#区别的文档解释,可供学习者,了解

    java调用c#样例

    利用Jacob库从java调用c# dll的样例程序,实现了从java调用c# dll的简单方案,供大家学习参考。

    Java访问c#开发的webservice

    由于国内大多数计算机安装的是Windows系列操作系统,所以使用c#开发webservice不仅开发效率高,而且部署和维护很方便。 本文详细介绍了java如何调用c#开发的webservice。 本文的开发环境为:windows10、vs2012 Jdk...

    C#与JAVA的比较

    C#与JAVA的相同之处:由于C#与JAVA都是基于C++发展起来的

    C# To JAVA Converter v17.10.6

    C# To Java converter是一款将C#代码片段或者C#项目转换为JAVA的工具。 转换所有版本的C#代码 评估所有引用的程序集和.NET项目,以便更完整地解析外部引用 许多转换和格式化选项 将C#代理和lambdas转换为Java接口...

    RSA加密JAVA转C# JAVA转PHP,C#转JAVA

    rsa秘钥转换工具,可以java转成C#格式也可以C#转成java格式,也可以java转换为PHP格式,绝对可以使用,打开提示错误请安装.netframework

    JAVA与C#的区别

    JAVA与C#的区别,JAVA与C#运用层面 以及试用场景。和语法的区别

    Java to C# Converter 破解版

    Java转C#工具 破解版, 个人觉得转换效果还可以, 但是一些特殊的语法没有尝试哈。觉得某些人搞的资源那么贵、看不下去而已。

    java与c#的比较

    java与c#的比较...

    Java C# 语法 比较

    Java与C#的语法规范比较。不完全版。可以作为手册,需要时查找。

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...

    java to C# and C# to java

    2个工具, Java与C#互转 其他的资源分很高, 这个用最低的资源分, 能用。

    java调用C#封装的dll(jna,com)

    java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)

Global site tag (gtag.js) - Google Analytics