色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

這門語言和net這個平臺還有發展前途嗎

洪振霞2年前14瀏覽0評論

這門語言和net這個平臺還有發展前途嗎?

一門語言有沒有前途,很重要的一點就是這個語言性能怎么樣,我一直認為c#的性能還是不錯的,但是,試驗結果,卻很意外!

在認真回答這個問題之前,我一直以為C#這個語言性能要比java好。之前從事過6年多的asp.net開發。

為了回答這個提問,我親自編寫了一下三種語言同樣的浮點運算函數的代碼,對比三種語言的性能:c++,c#,java.讓事實說話。

我以為c++排第一,c#排第二,java排第三。但是結果卻讓我大跌眼鏡架。

java性能居然奪冠,c#跟c性能差不多稍弱一點點。這個結果太另我驚呀了。

當然,我是從技術這方面出發,提問者更關心的其實是自己學哪種語言前途更好,決定前途的,我認為不是語言本身,而是人本身。不過,有一個打臉的事實,java程序員工資,確實普遍比.net程序員工資高。做為一個.net程序員,這是個讓人悲傷的消息。

附三種語言的代碼,親測可以直接編譯運行,有興趣可以自行運行對比結果。注意各語言對時間的單位不一樣,有的用的毫秒,有的用的微秒,由于獲取時間都存在誤差,對比幾毫秒的差距意義不大,看看誰先跑完就行了。我將運算次數定為5億次計算。如果時間差不明顯可以增大計算時,比如加到50億次計算,就可以看到更明顯的差距。

c++代碼:

#include <iostream>

#include<time.h>

void start()

{

clock_t start_t, end_t;

double total_t;

for (int j = 0; j < 5; j++)

{

start_t = clock();

double c = 100000.123;

double b = 200000.021;

double ef = 300000.321;

for (int i = 0; i < 500000000; i++) { ef = c * b + ef / c - b; }

end_t = clock();

total_t = (double)(end_t - start_t) / CLOCKS_PER_SEC;

std::printf("第%d次執行,耗時:%f\n",j,total_t); } }

int main(){

std:printf("test\n"); start(); return(0);

}

c#代碼:

using System;

namespace csharp{

class Program {

static void Main(string[] args)

{

Console.WriteLine("Hello World!");

Program test=new Program();

long f1 = DateTime.Now.Ticks;

System.Console.WriteLine(f1);

test.strat(); long f2 = DateTime.Now.Ticks;

System.Console.WriteLine(f2-f1); }

public void strat() { for (int j = 0; j < 5; j++) { long f = DateTime.Now.Ticks;

double c = 100000.123;

double b = 200000.021; double ef = 300000.321; for (int i = 0; i < 500000000; i++) {

ef = c * b + ef / c - b; } long g = DateTime.Now.Ticks; long kl = (g - f)/1000; System.Console.WriteLine("第"+j.ToString()+"次執行,耗時:"+kl.ToString()+";");

} }

}}

java代碼:

import java.util.Date;

public class JTest {

public void strat()

{

for (int j = 0; j < 5; j++)

{ long f = new Date().getTime(); double c = 100000.123; double b = 200000.021; double ef = 300000.321; for (int i = 0; i < 500000000; i++) { ef = c * b + ef / c - b; } long g = new Date().getTime(); long kl = g - f; System.out.println("第"+j+"次執行,耗時:"+kl+";"); } }

public static void main(String args[]){ System.out.println("Hello World!");

JTest test=new JTest();

long f1 = new Date().getTime();

System.out.println(f1); test.strat();

long f2 = new Date().getTime();

System.out.println(f2-f1); }

}