首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 泛型太慢了
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 11:58:21 楼主
    创建1亿个对象,一共测试了5次。
    直接new,采用接口,性能比较平滑,都是需要大约5秒;采用泛型,几次结果差异较大,平均4分50秒!未找原因。
    当然,对比反射的14:30分钟,还是可以看看。
    总的来说,泛型的效率就是鸡肋一个。
    本贴拒绝高瞻远瞩的评论。
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • akirya
    • 等级:
    发表于:2008-04-28 12:22:131楼 得分:0
    嫌慢可以不用嘛
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 12:41:112楼 得分:0
    100个呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 12:59:003楼 得分:0
    CSDN真烦
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jzywh
    • 等级:
    发表于:2008-04-28 13:49:494楼 得分:0
    楼主用Interface和Generic进行比较,感觉有些奇怪
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    发表于:2008-04-28 13:56:315楼 得分:0
    特来瞻仰下楼主~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 14:00:406楼 得分:0
    进来瞻仰一下楼主
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • only_endure
    • 等级:
    发表于:2008-04-28 14:03:297楼 得分:0
    瞻仰
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • avrilxu
    • 等级:
    发表于:2008-04-28 14:05:278楼 得分:0
    楼主一个裤衩?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 14:33:359楼 得分:0
    嫌慢可以不用嘛
    特来瞻仰下楼主~
    ---------------------------------
    属于高瞻远瞩的言论,自己面壁tjj去。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 14:48:5910楼 得分:0
    引用 4 楼 jzywh 的回复:
    楼主用Interface和Generic进行比较,感觉有些奇怪

    在cpp里,template的某种用法完全可以认为是interface;而在C#内......这个,确实比较弱,持保留意见。
    主贴说的是创建对象的效率,代码如下:
    interface ICreate
    {
      ITestObj New();
    }
    class TestObjCreate : ICreate
    {
      ITestObj New() { return new TestObj(); }
    }

    class GPCreate
    {
      T New <T>() where T : ITestObj, new()
      {
          return new T();
      }
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    发表于:2008-04-28 15:03:3811楼 得分:0
    再来眺望下楼主~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 15:10:4212楼 得分:0
    引用 11 楼 viena 的回复:
    再来眺望下楼主~

    再次面壁tjj去。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 15:20:1013楼 得分:0
    但是所节约的开发时间就很可观了阿,
    这个时间够你"创建无数个对象"了~~~,
    还能更快速的赚钱,
    客户运行缓慢那是客户的硬件预算不足阿,
    不能怪我的程序,
    这下硬件厂商也happy了,
    多好,多赢的局面。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    发表于:2008-04-28 15:21:4714楼 得分:0
    orz
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    发表于:2008-04-28 15:23:2415楼 得分:0
    .NET太慢了,建议楼主用C++
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • only_endure
    • 等级:
    发表于:2008-04-28 15:58:5216楼 得分:0
    失意体前屈 ( orz ),是一种源自于日本的网络象形文字(或心情图示)。

    简介
    失意体前屈,原本指的是网络上流行的表情符号:_ ¦ ̄ ¦○ 它看起来像是一个人跪倒在地上,低着头,一副“天啊,你为何这样对我”的动作,虽然简单却很传神。在初期,并没有人对这个符号起个名字,“失意体前屈”这个名字也是后来才出现的。据说是某个餐厅的座垫上绣著这五个字,至于在这之前又是谁想到的,目前尚未厘清真相。

    后来,又有人发现,用简单的三个英文字也可以表现这个动作,于是orz就开始流行了。接下来,更有 orz 的日志软件、日志网站相继出现。在2004年后,于日本、中国大陆、香港与台湾俨然已经成为一种新兴的网络文化。

    这种文字可以写作orz、Oro、Or2、On_、Otz、OTL、sto、Jto、○ ¦ ̄ ¦_等,但其中以“orz”最为常用;并有混合型,如表示无可奈何的“囧rz”。“囧”的原意是大明,但现在大都不采用原意,而取其形,转为表情符号,表示一脸无可奈何样。

    原始用意带有“悔恨”、“悲愤”、“无力回天”等含意,最明显的用法就是在于被甩(失恋)的时候。orz广泛使用后,其涵意逐渐增加。除了一开始的恶搞的“无可奈何”或“失意”之外,开始引申为正面的对人“拜服”“钦佩”的意思。另外也有较反面的“拜托!”“被你打败了!”“真受不了你!”之类的用法。台湾摇滚乐团五月天于2005年8月发表的歌曲《恋爱ing》就有“超感谢你,让我重生,整个Orz”一句。

    在2006年1月22日,台湾的大学入学学科能力测验国文科试题中,其中有一题是将被误用的语言(被报章杂志或是因特网影响后的用法)改成正常的白话文,其题目范例中出现:“3Q得Orz→感谢得五体投地”一段,引起舆论相当大的争议。教育考试制度争议。

    例句;我买的球队又输了,真Orz!

    Orz在近年,俨然已经成为日本一种新兴的次文化。人们在电子邮件以及即时通讯软件中广泛使用这个符号,表示他们失意或沮丧的心情。这个符号在口语中也不是念成一个英语单词,而按字母读出来。
    Orz后来在使用过程中出现了一些之前未想到的新意义,例如"我(O)认(R)栽(Z)"等


    更多的失意体前屈


    全角:

    _ ¦ ̄ ¦○ ← 右向
    ○ ¦ ̄ ¦_ ← 左向
    ○ ¦_ ¦ ̄ ← 逆天


    半角:

    STO ← 右向
    OTZ ← 左向
    OLS ← 左向逆天
    ZJO ← 右向逆天


    半角小写:
    sto ← 右向
    orz ← 左向
    ots ← 左向逆天
    z_/o ← 右向逆天


    迷你形:

    no ← 右向
    on ← 左向
    ou ← 左向逆天
    uo ← 右向逆天


    囧gg
    源自于good game,取其头而成的省略语。gg大多用于网络连线对战的尾声,输的一方总是以“gg”来表示游戏将被打爆;当然,gg也常用在各项竞赛,不限于在线游戏。囧gg包含多重意思,目前大抵分为以下3类:
    囧rz的更高层,表示不只趴在地上一脸囧样,而是囧到手残脚残,卷成一团。gg表四肢动作。意思是“彻底败给你了”、“我完全被你打败了”。
    于竞赛中被人杀烂,过程中不断被压制,以致抬不起身,只能一脸囧样,大喊gg。意思是“唉!被彻底地杀烂了”。
    对某件事无能为力,帮不上忙,只能看著它每况愈下,交杂了无奈、悔恨、悲叹等的情绪元素。最常的用语是“只好囧gg了”、“只能囧gg了”。
    开始比赛的时候通常输入gl意思是good luck!
    团体进行的情况(又叫作团败)


    扩展变形:
              __            __
            \ ¦\_ \        ∠ / ¦/
                ¦○ ¦        ¦○ ¦
    _ ¦ ̄ ¦○    __          __    ○ ¦ ̄ ¦_
              / / ¦)    ( ¦\ \
              ¦ ̄ ¦            ¦ ̄ ¦
            / /            \ \


    扩散式:
            __            __
        ( ¦\ \        / / ¦)
              ¦ ̄ ¦      ¦ ̄ ¦
              \ \  / /
    ○ ¦ ̄ ¦_  _          _  _ ¦ ̄ ¦○
            ∠ / ¦/ \ ¦\_\
          ¦○ ¦            ¦○ ¦
    orz 这是小孩
    OTZ 这是大人
    OTL 这是完全失落
    or2 这是屁股特别翘的
    or2=3 这是放了个屁的
    Or2 这是头大身体小的翘屁股
    Or? 这也是头大身体小的翘屁股
    orZ 这是下半身肥大
    OTz 这是举重选手吧
    ○rz 这是大头
    ●rz 这是黑人头先生
    Xrz 这是刚被爆头完
    6rz 这是魔人普乌
    On 这是婴儿
    crz 这是机车骑士
    囧rz “/口\”的失意体前屈,囧读作“炯”
    崮rz 这是囧国国王
    莔rz 这是囧国皇后
    冏rz 这是囧到下巴都掉了
    商rz 这是戴斗笠的囧
    sro 换一边跪
    sto 也换一边跪
    卣rz ←轰炸超人
    曾rz ←假面超人
    益r2 闭起眼睛,很痛苦且咬牙切齿的脸;另一说法为无敌铁金刚
    ★rz ←武藤游戏
    口rz ← 豆腐先生
    __Drz ← 爆脑浆
    prz ← 长发垂地的orz
    @rz ← 呆滞垂地的orz
    srQ ← 换一边并舔地的orz
    圙rz ← 这是老人家的面
    囿rz ← 这是追追做出orz
    囼rz ← 这个是没眼睛的
    囜rz ← 没有眼和口的
    圀rz ← 这是歪咀的
    囶rz ← 这是无话可说的
    苉rz ← 这是女的
    匫rz ← 被捉奸在床时的表情(注:“日”此处读一声)
    囸rz ← 强暴女生时被发现的表情(注:“囸”是“日”字的繁体,此处也读一声)
    Ora ←衍伸用法,不过脚是跪着状态。
    or7 ←尖屁股
    Oroz ←这是有小腹
    Orz~ ←这是赛亚人失意体前屈
    :◎:rz ←这是张大嘴巴嚎啕大哭的失意体前屈
    oΩ: ←背部隆起的
    口丁乙←这是特别大的


    其他语种

    Orz在罗马尼亚文中有大麦的意思. 
    著名乐队五月天在其歌曲恋爱ing中用了orz
    陪你熬夜聊天到爆肝也没关系
    陪你逛街逛成扁平足也没关系
    超感谢你让我重生整个o r z
    让我重新认识 love
    (l o v e! l o v e!)
    恋爱i n g happy i n g
    心情就像是坐上一台喷射机
    恋爱i n g 改变 i n g
    改变了黄昏黎明
    有你都心跳到不行
    你是空气但是好闻胜过了空气
    你是阳光但是却能照进半夜里
    水能载舟也能煮粥喂饱了生命
    你就是维他命l o v e
    未来某年某月某日某时某分某秒
    某人某地某种永远的心情
    不会忘记此刻l o v e
    l o v e! l o v e!
    黄昏黎明整个到恋爱i n g


    如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请 编辑词条
    参考资料:
    1.http://blog.yam.com/syaoran/archives/18571.html
    2.http://www.dfnt.net/t/photo/your/craft_06suman.shtml
    3.华丽八月的扇子火星文基本测试大纲

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-28 17:10:2317楼 得分:0
    引用 15 楼 viena 的回复:
    .NET太慢了,建议楼主用C++

    这样滴回贴,有损4星的名誉,请改为负4星。再次面壁tjj,以达到自我救赎的目的~~~

    新问题,缺乏完整类型推导的C#泛型,没有构建完整模块的能力。BS之。改用接口~~~痛苦鸟~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    发表于:2008-04-29 09:12:1918楼 得分:0
    引用 17 楼 onemonth 的回复:
    引用 15 楼 viena 的回复:
    .NET太慢了,建议楼主用C++

    这样滴回贴,有损4星的名誉,请改为负4星。再次面壁tjj,以达到自我救赎的目的~~~

    新问题,缺乏完整类型推导的C#泛型,没有构建完整模块的能力。BS之。改用接口~~~痛苦鸟~~~


    这样滴发贴,有损1三角裤的名誉,请改为负1裤衩并面壁tjjtds,以达到自我救赎的目的~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jzywh
    • 等级:
    发表于:2008-04-30 08:19:1519楼 得分:0
    引用 10 楼 onemonth 的回复:
    引用 4 楼 jzywh 的回复:
    楼主用Interface和Generic进行比较,感觉有些奇怪

    在cpp里,template的某种用法完全可以认为是interface;而在C#内......这个,确实比较弱,持保留意见。
    主贴说的是创建对象的效率,代码如下:
    interface ICreate
    {
      ITestObj New();
    }
    class TestObjCreate : ICreate
    {
      ITestObj New() { return new TestObj(); }
    }

    class GPCreate
    {
      T New <T>() where T : …


    try

    class GPCreate <T> where T : ITestObj, new()
    {
      T New()
      {
          return new T();
      }
    }


    gPCreate.New();
    gPCreate.New();
    gPCreate.New();
    gPCreate.New();
    .....
    gPCreate.New();
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • KKND2006
    • 等级:
    发表于:2008-04-30 08:49:3320楼 得分:0
    多用发射就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-01 07:45:2921楼 得分:0
    等待牛人来答.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • octverve
    • 等级:
    发表于:2008-05-01 07:58:4922楼 得分:0
    汗~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 10:09:0423楼 得分:0
    class GPCreate <T> where T : ITestObj, new()
    {
      T New()
      {
          return new T();
      }
    }
    -----------------------------------------------------------------
    请仔细观察,这样的方法用来当作类工厂会出现的问题。
    c#的泛型是非图灵完备,搞不出typelist,boost_install这样的类型推导,也只能稍微简化一些设计,达不到只暴露外部接口的目的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jzywh
    • 等级:
    发表于:2008-05-04 11:13:4224楼 得分:0
    引用 10 楼 onemonth 的回复:
    引用 4 楼 jzywh 的回复:
    楼主用Interface和Generic进行比较,感觉有些奇怪

    在cpp里,template的某种用法完全可以认为是interface;而在C#内......这个,确实比较弱,持保留意见。
    主贴说的是创建对象的效率,代码如下:

    interface ICreate
    {
      ITestObj New();
    }

    class TestObjCreate : ICreate
    {
      ITestObj New() { return new TestObj(); }
    }

    class GPCreate
    {
      T New <T>() where T : ITestObj, new()
      {
          return new T();
      }
    }


    class TestObjCreate : ICreate
    {
      ITestObj New() { return new TestObj(); }
    }

    你这个ITestObj New() { return new TestObj(); }
    是写死的。

    T New <T>() where T : ITestObj, new()
      {
          return new T();
      }
    这个需要做类型检测, 怎么比呢?

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 11:23:5525楼 得分:0
    引用 24 楼 jzywh 的回复:
    引用 10 楼 onemonth 的回复:
    引用 4 楼 jzywh 的回复:
    楼主用Interface和Generic进行比较,感觉有些奇怪

    在cpp里,template的某种用法完全可以认为是interface;而在C#内......这个,确实比较弱,持保留意见。
    主贴说的是创建对象的效率,代码如下:

    interface ICreate
    {
    ITestObj New();
    }

    class TestObjCreate : ICreate
    {
    ITestObj New() { return new TestObj(); }
    }

    class GPCreate
    {
    T New  <T>()…



    如果你是说效率,那么显然这是C#的问题,说明了擦拭法很烂。你看cpp的方式:
    template <class T> T Create()
    {
      return new T();
    }
    编译器既然知道它是什么类型,那么直接编译成实际类型是很直观的方法。在知道类型的情况下,
    再次用运行时间来进行类型检查,根本就是一个很烂的做法。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 11:35:2826楼 得分:0
    泛型在性能上减少了强制类型转换,装箱拆箱,减少错误。
    但使用泛型包括C++中的模板类主要目的是代码重用,使程序更规范化,提高开发效率。
    楼主非要在泛型的运行效率扣上帽子,就如同给一个老阿婆披上嫁衣,还说她不漂亮!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 13:54:3827楼 得分:0
    引用 26 楼 dk385 的回复:
    泛型在性能上减少了强制类型转换,装箱拆箱,减少错误。
    但使用泛型包括C++中的模板类主要目的是代码重用,使程序更规范化,提高开发效率。
    楼主非要在泛型的运行效率扣上帽子,就如同给一个老阿婆披上嫁衣,还说她不漂亮!

    显然你不懂c++
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jzywh
    • 等级:
    发表于:2008-05-05 12:47:4928楼 得分:0
    引用 25 楼 onemonth 的回复:
    如果你是说效率,那么显然这是C#的问题,说明了擦拭法很烂。你看cpp的方式:
    template <class T> T Create()
    {
      return new T();
    }
    编译器既然知道它是什么类型,那么直接编译成实际类型是很直观的方法。在知道类型的情况下,
    再次用运行时间来进行类型检查,根本就是一个很烂的做法。


    编译器怎么会知道T是什么类型呢?
    即时是C++也不会预先知道T是什么类型而编译出相应代码的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-05 14:14:0729楼 得分:0
    引用 28 楼 jzywh 的回复:
    引用 25 楼 onemonth 的回复:
    如果你是说效率,那么显然这是C#的问题,说明了擦拭法很烂。你看cpp的方式:
    template  <class T> T Create()
    {
    return new T();
    }
    编译器既然知道它是什么类型,那么直接编译成实际类型是很直观的方法。在知道类型的情况下,
    再次用运行时间来进行类型检查,根本就是一个很烂的做法。


    编译器怎么会知道T是什么类型呢?
    即时是C++也不会预先知道T是什么类型而编译出相应代码的.

    显然你也不懂c++。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-05 14:35:4930楼 得分:0
    16楼...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jzywh
    • 等级:
    发表于:2008-05-06 11:33:5231楼 得分:0
    引用 29 楼 onemonth 的回复:
    显然你也不懂c++


    这个跟懂不懂C++没有关系,这是基本的逻辑,既然知道具体类型那还用泛型干什么? 你还是找个真正懂C++的人问一问吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-06 12:09:2532楼 得分:0
    特来瞻仰下楼主~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-06 12:13:5133楼 得分:0
    特来瞻仰下楼主~