Redian新闻
>
C++中virtual function的性能差是个误解
avatar
C++中virtual function的性能差是个误解# Programming - 葵花宝典
t*g
1
consolidation omnibus budget reconciliation act of 1985
Applys to: Recently terminated employees who want to continue their medical
benefits.
Positive: exact same plan as while employed.
Negative: employee must pay whatever the employer did + 2% administrative
fee.
Terms: Is valid for 18-36 months and the employer administers it as follows:
1.Terminated for any reason but gross misconduct => up to 18 months.
2.Hours were reduced: up to 18 months
3.If either one or two happens and employee is dis
avatar
h*c
2
1.什么星座的人,分手后就和你一刀两断?而哪种却会继续纠缠?
答:
一刀两断:
土象星座的人,因为他们是人在人情在的现实主义者。天蝎座:避免尴尬。
纠缠不清:
A.巨蟹和双鱼,因为他们心有不甘。
B.白羊和射手也会,因为他们并未死心。两者的差别是前者为弱势的攀附,后者则是强
势的争取。
C.风象星座的人则会要求继续维持友好的关系,如果你给他钉子碰,他就会放弃。
2.什么星座的人在追求前后会判若两人?
答:恋爱的三个阶段,主掌和影响人格的有三个:
A.初识时期,这个阶段要看太阳星座。
B.熟识交往期,这个阶段要看上升星座。
C.结婚后,这个阶段要看月亮星座。除非主掌这三阶段的星座是在同一个星座或宫位,
否则或多或少都会有着不同的表现,如果是在和谐的同一类星座中,则不会有太大的差
别。若是这三个星座分别在不和谐或不良角度的星座上,变化的差异就会非常的明显。
3.什么星座的人在分手后,伤痛很难平复?
答:大多是水象星座的人,因为他们对情感的期望太高。如果加上其它几个主要星座都
在水象星座,或者这些星座的位置在第四、第八、第十二宫,而且和其它星座的角度都
不好的话,这种情况会更严重。
4.什么
avatar
s*u
3
昨天,一个朋友不太舒服,拉我一起去吃饭。跟我说,我心情不好的时候,可以找她一
起吃饭。
想起来,自己没有心情已经很久了,不管好的心情还是坏的心情。仿佛一切都只是一个
过程,不再激动,不再生气,不再想家,不再想念父母,什么都潜意识地拒绝去想。连
悲伤和难过都不会了……
sigh, 难道就这样一直下去嘛?
avatar
j*b
4
【 以下文字转载自 Literature 讨论区 】
发信人: jguojob (劳柯), 信区: Literature
标 题: 博士后美国打工记 [小说]
发信站: BBS 未名空间站 (Sat Mar 14 00:27:48 2009)
博士后美国打工记
作者:平静幸福 [劳柯]
因时代久远,此故事的朝代,地点,人物皆不可考也。
杨沫教授答应招陈礼光作博士后都快两个月了,可是陈礼光仍然没有收学校里的录取通
知书,他在国内等的焦急万分,已经连续给杨沫教授发了几封邮件,都没有收到回应,
他决定几天给杨沫教授打一个电话。
好不容易熬到半夜一点,算了算应该是杨沫教授的当地时间上午十点。陈礼光打通了杨
沫办公室的电话。似乎线路很忙,陈礼光连续打了几个都没有打通,最后好不容易打通
了,也没有人接。陈礼心里很不安。又等了半个小时,这一回杨沫教授接了,陈礼光自
我介绍说:“杨老师,我是陈礼光,从中国打来的。”
“礼光啊!”杨沫说:“你从中国打来很贵,你挂了我打给你吧。”
“没有关系,杨老师。”陈礼光说:“我想问一下上次那个事情怎么样了。”
“你说是到我这儿做博士后的事情,对吗?”杨沫问。
“是
avatar
g*g
5
今天在我的机器上试验了一把,用rdtsc读取了virtual和non-virutal的call所需要的
时间,大约non-virtual快了大约200个CPU cycles。
因为CPU是3GHz的,分析了一下,把virtual变成non-virtual call的性能差异:
如果一个虚函数每秒调用150,000次的话,那么全部改成non-virtual能提升1%的性能。
几乎可以忽略。
avatar
j*b
6
沙发,自己做了
avatar
B*e
7
# of the virtual functions influence the performance a lot.

【在 g****g 的大作中提到】
: 今天在我的机器上试验了一把,用rdtsc读取了virtual和non-virutal的call所需要的
: 时间,大约non-virtual快了大约200个CPU cycles。
: 因为CPU是3GHz的,分析了一下,把virtual变成non-virtual call的性能差异:
: 如果一个虚函数每秒调用150,000次的话,那么全部改成non-virtual能提升1%的性能。
: 几乎可以忽略。

avatar
j*b
8
写完了,下面的留给看的人去想了
avatar
f*Q
9
C++ 存virtual function的那个table是每个类共用一个还每个实例有一个?

【在 g****g 的大作中提到】
: 今天在我的机器上试验了一把,用rdtsc读取了virtual和non-virutal的call所需要的
: 时间,大约non-virtual快了大约200个CPU cycles。
: 因为CPU是3GHz的,分析了一下,把virtual变成non-virtual call的性能差异:
: 如果一个虚函数每秒调用150,000次的话,那么全部改成non-virtual能提升1%的性能。
: 几乎可以忽略。

avatar
s*k
10
想不出来。接着写吧。

【在 j*****b 的大作中提到】
: 写完了,下面的留给看的人去想了
avatar
g*g
11
tried 12 virtual funcs vs 1 virtual funcs,
NO DIFFERENCE!

【在 B********e 的大作中提到】
: # of the virtual functions influence the performance a lot.
avatar
a*5
12
一直很喜欢你的小说,平实而感人
但这篇和收破烂那篇好像和以往风格有所不同

【在 j*****b 的大作中提到】
: 写完了,下面的留给看的人去想了
avatar
j*b
14
是啊,写小说的风格似乎和我写作时的心情有关
avatar
g*g
15
Hey, are you using a computer of year 1995???
It's quite outdated. You should write code and test yourself. Easy job:
class Base
{
public:
virtual void say()
{
std::cout<}
Base()
{
std::cout<}
~Base()
{
std::cout<}
};
class Base2
{
public:
void say()
{

b=rdtsc()-a;
std::cout << "Take:" << b << std::endl;
}
Base2()
{
std::cout<}
~Base

【在 B********e 的大作中提到】
: Too early to draw the conclusion. Show me your testing plans.
: I found the following paper;
: http://www.cs.ucsb.edu/~urs/oocsb/papers/oopsla96.pdf

avatar
g*g
16
测试了CRTP的性能,比virtual func差了很多很多. 多花了1000多个cycle。CRTP应该
扔垃圾桶了。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。