编写人生
写写代码,写写人生
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 178 文章- 0 评论- 499
MarshalByRefObject 的性能损失
以前看过文章说MarshalByRefObject 会造成性能的损失,我比较相信自己,所以亲自测试了一下,下面是代码:
测试代码
using
System;
using
System.Diagnostics;
namespace
ConsoleApplication1
{
class
Program
{
static
void
Main(
string
[] args)
{
Stopwatch watch
=
new
Stopwatch();
watch.Start();
B b
=
new
B();
for
(
int
i
=
0
; i
<
100000000
; i
++
)
{
b.Add(
3
,
5
);
}
watch.Stop();
Console.WriteLine(
"
B 花费时间:
"
+
watch.ElapsedMilliseconds.ToString());
watch.Reset();
watch.Start();
A a
=
new
A();
for
(
int
i
=
0
; i
<
100000000
; i
++
)
{
a.Add(
3
,
5
);
}
watch.Stop();
Console.WriteLine(
"
A MarshalByRefObject 花费时间:
"
+
watch.ElapsedMilliseconds.ToString());
watch.Reset();
//
=======================
watch.Start();
a
=
new
A();
for
(
int
i
=
0
; i
<
100000000
; i
++
)
{
a.Add(
3
,
5
);
}
watch.Stop();
Console.WriteLine(
"
A MarshalByRefObject 花费时间:
"
+
watch.ElapsedMilliseconds.ToString());
watch.Reset();
watch.Start();
b
=
new
B();
for
(
int
i
=
0
; i
<
100000000
; i
++
)
{
b.Add(
3
,
5
);
}
watch.Stop();
Console.WriteLine(
"
B 花费时间:
"
+
watch.ElapsedMilliseconds.ToString());
watch.Reset();
Console.Read();
}
}
class
A : MarshalByRefObject
{
public
int
Add(
int
a,
int
b)
{
return
a
+
b;
}
}
class
B
{
public
int
Add(
int
a,
int
b)
{
return
a
+
b;
}
}
}
测试的结果是:
B 花费时间:55
A MarshalByRefObject 花费时间:957
A MarshalByRefObject 花费时间:972
B 花费时间:56
总结:像这样在本地环境下,性能仍然损失了近17.4倍。当然,此17被不能简单的理解为你的应用就慢了17倍,这里仅表示发起调用损失了17倍。
posted @ 2008-04-29 15:20
编写人生
阅读(124)
评论(1)
编辑
收藏
发表评论
回复
引用
查看
#1楼
2008-05-27 22:50 |
往事随锋
在我机子上的测试如下啊:??
B 花费时间:1347
A MarshalByRefObject 花费时间:1690
A MarshalByRefObject 花费时间:1679
B 花费时间:1270
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-04-29 15:25 编辑过
另存
打印
最新IT新闻:
·
微软推新型搜索技术"BrowseRank"挑战谷歌
·
2008年7月26日IT博客精选
·
微软每年向Apache捐10万美元支持开源软件
·
AOL将关闭3个网站以降低成本 集中发力广告
·
谷歌网页索引数量突破1万亿个
博客园新闻频道
博客园首页
社区
公告
Web
tansm.cnblogs.com
<
2008年4月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
与我联系
发短消息
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
我的标签
Torridity(2)
Entity Framework(2)
性能(2)
ORM(2)
LinQ(2)
DataSet(1)
Insert(1)
发明畅想(1)
随笔档案
2008年6月 (4)
2008年5月 (3)
2008年4月 (6)
2008年3月 (5)
2008年2月 (1)
2008年1月 (4)
2007年12月 (2)
2007年11月 (2)
2007年10月 (2)
2007年9月 (5)
2007年8月 (2)
2007年7月 (4)
2007年6月 (1)
2007年5月 (1)
2007年4月 (3)
2007年3月 (5)
2007年2月 (1)
2006年12月 (2)
2006年11月 (7)
2006年10月 (4)
2006年9月 (1)
2006年8月 (8)
2006年7月 (6)
2006年6月 (7)
2006年5月 (2)
2006年4月 (1)
2006年3月 (8)
2006年2月 (6)
2006年1月 (2)
2005年12月 (5)
2005年11月 (3)
2005年10月 (2)
2005年9月 (4)
2005年8月 (12)
2005年7月 (12)
2005年6月 (2)
2005年5月 (4)
2005年4月 (1)
2005年1月 (13)
2004年12月 (6)
2004年11月 (9)
相册
taobao
收藏夹
WinFX(8)
(rss)
编程朋友
AdamBear 越学越没底
(rss)
Arbean
Masterpiece 纯爷们!在乎?
(rss)
Validation Application Block: Revealed
我的高中同学录
怎么捅破那层纸?(续)
很好的性能调优的文章,包括内存和SQL的
积分与排名
积分 - 124217
排名 - 290
最新评论
1. re: 压缩空气动力自行车
我大概一个月前在电视上看过外国(具体哪国忘了)人做的,讲的是一个发明家做了一台压缩空气动力自行车样机作试验,在城市里跑,送披萨外卖,好像续航能力在10~20公里的样子。 (老红军)
2. re: 压缩空气动力自行车
想法是很好的,我原来也想过,不过,我想的是用象公共汽车的气动门的一样装置,可能成本要低一些,但是寿命会很低,一时间没有更好的办法。不过用空气压缩作动力这个思路,可能会用在汽车上,这对0排放绝对是一个很... (天喜)
3. 国内又一知名互联网公司开展数据中心业务
国内又一知名互联网公司开展数据中心业务 据笔者了解,国内又一知名网络公司深圳市众信网通讯技术有限公司拆巨资,全力进军互联网数据中心业务。众所周知,互联网数据中心业务已经是白热化竞争异常激烈,很多企... (zhong)
4. re: 使用SMO备份SQLServer2005数据库
有没有关于smo还原数据库的示例 (Dodu)
5. re: 压缩空气动力自行车
这个绝对不是遐想,商业化是执关重要的。 (赵龙)
阅读排行榜
1. 压缩空气动力自行车(11340)
2. 我们为什么使用ORM?(10084)
3. ORM的世界(修订版)(3957)
4. System.ComponentModel.Component入门(3719)
5. 在 .NET 2.0 中享受 .NET 3.0的特性(3337)
评论排行榜
1. 压缩空气动力自行车(161)
2. 从LinQ看我们的ORM设计(27)
3. 我们为什么使用ORM?(16)
4. 在 .NET 2.0 中享受 .NET 3.0的特性(15)
5. 程序的可扩展性 Vs. 开放源代码(14)