| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2087 人关注过本帖
标题:[讨论]C#与VC++程序运行速度的差异?
只看楼主 加入收藏
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 

我现在用C#感觉做程序上来说确实比较方便,而且语句比较容易理解,现在就是提心效率问题,不管是开发什么都好,效率低的必然要被淘汰。不过不否认C#在ASP.NET上确实很出众,代码的安全性,可维护性都比以前的ASP这类东西要强太多了。现在让我去维护我以做做的ASP做的代码我自己都不愿维护。

可是效率上来说,ASP.NET做出来的东西都需要一次预编译,所以第一次运行相对都比较慢。如果效率上能提高一个档次的话那就爽了。


浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-08-02 12:22
natsunosakur
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-2
收藏
得分:0 
还有就是感觉效率还是不行
ASP.NET 和ASP比较 感觉还是ASP的快 或许是占用资源大了吧
不过还是喜欢ASP.NET的易用 安全

哪个告诉偶一下,C#进行远程线程注入
2007-08-02 12:26
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
asp.net 的缓存机制做的很出众,比起上代(JAP PHP ASP)来说是种强大优势

有了ASP.NET的页面缓存,就不需要把动态页面再转换成静态处理了,省去了一大麻烦,其中数据库缓存更是完美,数据库表没有变动,一直保持静态页面,直到改变才重新绑定数据的方法,微软在这方面做的不得不佩服

2007-08-02 12:28
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
恩,我比较喜欢的还是的易用性和安全性,其次就开发效率,不过不喜欢的就是执行效率太低。每个页面每次执行的时候都需要预编译一次,这次会让人感觉你做的页面很大,很慢。再加上现在网络的发展确实不咋滴(中国)。而且我们这里的电信还三天两头的机房调整,让人抓狂……经常1M的专线只有可怜的64K,超级不爽。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-08-02 12:35
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
也许你不明白缓存的真正意图,如果你在静面上做了缓存的话,你会感到不是慢,实质是快了,比如在主页被第一个人访问了后,就会缓存在服务器内存中,以后不管多少个人访问它都将访问服务器内存中的静态页,也就是说第一个人访问慢,以后访问的人都快了,比ASP每个人访问都重新编译来的快多了

如果你懂数据库缓存的话,你会知道,什么才叫ASP.NET真正的优势

建议你上微软的MSDN 看下微软讲师苏鹏的视频讲座

2007-08-02 12:41
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
现在C#的前途还和微软挂勾,微软的.net平战略成功的话C#肯定会前途光明……反之

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-08-02 12:42
natsunosakur
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-2
收藏
得分:0 
但是我觉得缓存并不是处处都能用的
尤其是能够页面缓存的地方尤其不多。
目前只把配置写入缓存里面 还有统计页面使用页面缓存

哪个告诉偶一下,C#进行远程线程注入
2007-08-02 13:37
natsunosakur
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-2
收藏
得分:0 
还有 听说VS2005就是C#构建的?
机器只要不差 速度就觉得很快的 或许还是编程技巧吧

哪个告诉偶一下,C#进行远程线程注入
2007-08-02 13:38
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
以下是引用natsunosakur在2007-8-2 13:37:30的发言:
但是我觉得缓存并不是处处都能用的
尤其是能够页面缓存的地方尤其不多。
目前只把配置写入缓存里面 还有统计页面使用页面缓存

C#比C++和JAVA慢是不用争的了,不过现在机子配置都比以前好多了,也无所谓了,要不然微软也不会把.NET的框架做的那么大了

至于缓存,我专门花时间听过微软的讲座,缓存是处处可用的,我明白你说的并不是处处都能用的意思,你是说与数据库建立动态的地方是吧,最好的方法是"库缓存"

  asp.net提供三种主要形式的缓存:页面级输出缓存、用户控件级输出缓存(或称为片段缓存)和缓存api。输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了。而缓存api则提供了额外的灵活性(实际上是相当大的灵活性),可用于在应用程序的每一层利用缓存。

  页面级输出缓存


  作为最简单的缓存形式,输出缓存只是在内存中保留为响应请求而发送的HTML的副本。其后再有请求时将提供缓存的输出,直到缓存到期,这样,性能有可能得到很大的提高(取决于需要多少开销来创建原始页面输出-发送缓存的输出总是很快,并且比较稳定)。
  实现
  要实现页面输出缓存,只要将一条OutputCache指令添加到页面即可。
<%@ OutputCache Duration="60" VaryByParam="*" %>


  片段缓存,用户控件输出缓存


  缓存整个页面通常并不可行,因为页面的某些部分是针对用户定制的。不过,页面的其他部分是整个应用程序共有的。这些部分最适合使用片段缓存和用户控件进行缓存。此外,菜单和其他布局元素,尤其是那些从数据源动态生成的元素,也可以用这种方法进行缓存。


  如果需要,可以按以下条件选择需要缓存的控件:
  (1)某控件的属性已改变
  (2)由页面级输出缓存所支持的任何一种页面或控件状态改变
  一旦对某些控件进行了缓存,使用它们的几百个页面就可以共享这些控件,而不再需要为每个页面保留单独的控件缓存版本。
  

 缓存API,使用Cache对象
  页面级和用户控件级输出缓存的确是一种可以迅速而简便地提高站点性能的方法,但是在ASP.NET中,缓存的真正灵活性和强大功能是通过Cache对象提供的。使用Cache对象,您可以存储任何可序列化的数据对象,基于一个或多个依赖项的组合来控制缓存条目到期的方式。这些依赖项可以包括自从某对象被缓存后经过的时间、自从某对象上次被访问后经过的时间、对文件或文件夹的更改以及对其他缓存对象的更改,在略作处理后还可以包括对数据库中特定表的更改。

  在Cache中存储数据
  在Cache中存储数据的最简单的方法就是使用一个键为其赋值,就像HashTable或Dictionary对象一样:
Cache["key"] = "value";
  这种做法将在缓存中存储项,同时不带任何依赖项,因此它不会到期,除非缓存引擎为了给其他缓存数据提供空间而将其删除。要包括特定的缓存依赖项,可使用Add()或Insert()方法。其中每个方法都有几个重载。Add()和Insert()之间的唯一区别是,Add()返回对已缓存对象的引用,而Insert()没有返回值(在C#中为空,在VB中为Sub)。


  示例
Cache.Insert("key", myXMLFileData, new
System.Web.Caching.CacheDependency(Server.MapPath("users.xml")));


2007-08-02 14:19
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
呵呵!我现在就在等Mono成熟了,Mono成熟以后个人感觉才是C#发展的开始,这时候C#就可以跨平台了,而且重要的是没有必要再去学烦人的C++了。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-08-03 01:18
快速回复:[讨论]C#与VC++程序运行速度的差异?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022994 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved