类似下面那张图以下是 VB6 的http://picfront.org/d/8fUO
C# 的只有一个可选, 真简略
VB6 不使用最佳化时, 浮点运算和 C# 速度一样
VB6 最佳化时 (如图), 浮点运算速度会快 C# 一倍请问 C# 编译最佳化选项有没有高级选项可选 ( 像 VB6 那样可以关闭安全性检查 )
我试着 http://msdn.microsoft.com/zh-tw/library/t0hfscdc%28v=vs.80%29.aspx
结果浮点运算完全没有加快

解决方案 »

  1.   

    因为 C# 编译器事实上可以优化的地方不多(C#编译器严格说不是编译器,它只产生 IL),而.NET框架的 JIT 会把代码编译为非常优化的本地代码。即便你不做设置,.NET代码的速度也要比VB6快很多。如同商店,直接给你最便宜的还不好么?难道需要把价格提高10倍再打一个对折?
      

  2.   

    我上面有写
    VB6 不关闭安全性检查时, 浮点运算和 C# 速度几乎一模一样 ( C# 花 10 秒, VB6 也要 10秒) 
    VB6 关闭安全性检查后, 浮点运算速度会快 C# 一倍
    ( C# 花 10 秒, VB6 只要 5秒) 这里测试不是说 VB6 比 C# 强而是说 VB6 可以关闭安全性检查 而且也只是单指 浮点运算...等等这些基础运算 并不是指类库所以只是想问问看 C# 是否也可以关闭安全性检查
      

  3.   

    C#不存在这些问题(数组越界、变量溢出、Pentium FIDV错误)。谈不上检查。
      

  4.   

    贴出你的VB代码,我有信心给你更快(至少不输给VB)的C#程序。
      

  5.   

    非长简单的浮点加法而已Dim w As Long
    Dim s As Single
    Dim b As Singleb = 1.234g = Timer
    For w = 1 To 300000000
       s = s + b
    Next
    MsgBox Timer - g麻烦您试试看了 
      

  6.   

    本帖最后由 caozhy 于 2011-06-29 00:52:26 编辑
      

  7.   

    原本我是写于 WindowsForm  (也是别人写的 , 我还不会写 C#) 档案位置在 "C:\C# Test\" 你给的是 Console 码我直接就把它覆盖到我的 Form1.Designer.cs结果不能执行也就算了当我回复先前的副本档案 完全盖掉 这个  WindowsForm 档案也就是把  副本档案 "D:\C# Test\" 下 完整盖掉 档案位置 "C:\C# Test\" 但是C# IDE 无论如何都无法执行 "C:\C# Test\" 请问如何救回来 C# 似乎把某些讯息纪录在其他地方, 导致即使我用副本覆盖掉也无法删除那些讯息 
      

  8.   

    新建一个 Console 程序,贴进去。
      

  9.   

    谢谢既然是我弄错了那我就必须承认, 不能赖皮
    刚刚测试说 VB6 比 C# 快 1倍  是我误用 , C# 我用 double VB6 我写了 2 个 Sub 分别计算  float, double 没仔细看 我用了那个  计算 float 的 VB code  和 C# 的 double 比C# 的 double ( 64 bits ) 当然刚好慢一倍 ( 32 bits 的 float)真是对不住您啦, 浪费您的时间   
      

  10.   

    可以多问您一各问题吗            long start = DateTime.Now.Ticks;
                foo();
                long end = DateTime.Now.Ticks;
                Console.WriteLine(end - start);如何把 end - start 差值转为秒数呢
      

  11.   

    可以使用一个叫 Timespan 的类。