u*u
2 楼
宝宝才10个多月,今天带去检查眼睛,大夫说孩子有近视了,只能看清1米远。虽然不
是高度近视,可是宝宝还那么小,以后怎么办啊?我和宝宝爸爸都是近视,看来遗传给
宝宝了。求妈妈们给点建议。多谢了!!现在感觉好痛苦。
最近一直因为孩子眼睛的事情抑郁大哭,被网上的内容吓倒了,很小就戴眼镜的长大都
可以上2000度了,而且现在眼睛手术都有风险。请大家多给点建议和安慰。比如美国有
没有穴位按摩治疗眼睛之类的。多谢!
是高度近视,可是宝宝还那么小,以后怎么办啊?我和宝宝爸爸都是近视,看来遗传给
宝宝了。求妈妈们给点建议。多谢了!!现在感觉好痛苦。
最近一直因为孩子眼睛的事情抑郁大哭,被网上的内容吓倒了,很小就戴眼镜的长大都
可以上2000度了,而且现在眼睛手术都有风险。请大家多给点建议和安慰。比如美国有
没有穴位按摩治疗眼睛之类的。多谢!
k*9
3 楼
背景:
我的J1自始至终没有办waiver。我目前是F1,五月份毕业。
情况叙述:
我用J2入学读书,中间回了国,签了F1入境。后两学期 full time 的F1身份。现
在准备申请OPT。
问题:
1. 请问,我没有waiver记录,是否影响我目前申请OPT?
2. 请问,OPT 转 H1B时,是否必须waiver掉我从前的J2历史才行?
一直没当回事,以为回国转F1后,就自动waiver了。
请知情人指教,谢谢。
我的J1自始至终没有办waiver。我目前是F1,五月份毕业。
情况叙述:
我用J2入学读书,中间回了国,签了F1入境。后两学期 full time 的F1身份。现
在准备申请OPT。
问题:
1. 请问,我没有waiver记录,是否影响我目前申请OPT?
2. 请问,OPT 转 H1B时,是否必须waiver掉我从前的J2历史才行?
一直没当回事,以为回国转F1后,就自动waiver了。
请知情人指教,谢谢。
B*n
4 楼
去年圣诞买的bareroot开花了。
Pink Jasmine
四季盛开的lavender
Pooppy
橘子花开
柠檬
樱桃
菜地发芽了
Pink Jasmine
四季盛开的lavender
Pooppy
橘子花开
柠檬
樱桃
菜地发芽了
f*g
5 楼
1.Chase 力作 continental onepass信用卡 首笔消费就送30000miles(无金额限制)+
$50免费bonus 最新优惠 信用卡首选
http://blog.sina.com.cn/bankbonus
最近申请chase家的这个信用卡会弹出一个页面,写着Before you go…We hope you
will reconsider 难不成他们家最近被人拿太多这个免费机票了 不用对它客气,
赶紧点击Return&Apply, 拿到落袋为安。
http://blog.sina.com.cn/bankbonus
2. Free $100 + Extra $60 Cashback Bonus from Discover More® Card 最适合
中美间使用的多彩卡片Discover信用卡 11/15-12/31双倍holiday bonus
http://blog.sina.com.cn/bankbonus
。。。。都有详尽的每个步骤申请和使用兑换积分的细节和相应链接,请收藏转发
http://blog.sina.com.cn/bankbonus
$50免费bonus 最新优惠 信用卡首选
http://blog.sina.com.cn/bankbonus
最近申请chase家的这个信用卡会弹出一个页面,写着Before you go…We hope you
will reconsider 难不成他们家最近被人拿太多这个免费机票了 不用对它客气,
赶紧点击Return&Apply, 拿到落袋为安。
http://blog.sina.com.cn/bankbonus
2. Free $100 + Extra $60 Cashback Bonus from Discover More® Card 最适合
中美间使用的多彩卡片Discover信用卡 11/15-12/31双倍holiday bonus
http://blog.sina.com.cn/bankbonus
。。。。都有详尽的每个步骤申请和使用兑换积分的细节和相应链接,请收藏转发
http://blog.sina.com.cn/bankbonus
N*K
6 楼
编译器 vs2013 release模式
Tempfunction 计算一个数然后输出 N 控制计算复杂度
我用function pointer :TempfunctionPtr = &Tempfunction
然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
结果很诡异
N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
TempfunctionPtr_time - Tempfunction_time 应该是常数
N并不改变 函数调用的次数
=================
#include
#include
void Tempfunction(double& a, int N)
{
a = 0;
for (double i = 0; i < N; ++i)
{
a += i;
}
}
int main()
{
int N = 1000; // from 1000 to 8000
double Value = 0;
auto t0 = std::time(0);
for (int i = 0; i < 1000000; ++i)
{
Tempfunction(Value, N);
}
auto t1 = std::time(0);
auto Tempfunction_time = t1-t0;
std::cout << "Tempfunction_time = " << Tempfunction_time << '\n';
auto TempfunctionPtr = &Tempfunction;
Value = 0;
t0 = std::time(0);
for (int i = 0; i < 1000000; ++i)
{
(*TempfunctionPtr)(Value, N);
}
t1 = std::time(0);
auto TempfunctionPtr_time = t1-t0;
std::cout << "TempfunctionPtr_time = " << TempfunctionPtr_time << '\n';
std::system("pause");
}
Tempfunction 计算一个数然后输出 N 控制计算复杂度
我用function pointer :TempfunctionPtr = &Tempfunction
然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
结果很诡异
N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
TempfunctionPtr_time - Tempfunction_time 应该是常数
N并不改变 函数调用的次数
=================
#include
#include
void Tempfunction(double& a, int N)
{
a = 0;
for (double i = 0; i < N; ++i)
{
a += i;
}
}
int main()
{
int N = 1000; // from 1000 to 8000
double Value = 0;
auto t0 = std::time(0);
for (int i = 0; i < 1000000; ++i)
{
Tempfunction(Value, N);
}
auto t1 = std::time(0);
auto Tempfunction_time = t1-t0;
std::cout << "Tempfunction_time = " << Tempfunction_time << '\n';
auto TempfunctionPtr = &Tempfunction;
Value = 0;
t0 = std::time(0);
for (int i = 0; i < 1000000; ++i)
{
(*TempfunctionPtr)(Value, N);
}
t1 = std::time(0);
auto TempfunctionPtr_time = t1-t0;
std::cout << "TempfunctionPtr_time = " << TempfunctionPtr_time << '\n';
std::system("pause");
}
u*u
7 楼
宝宝才10个多月,今天带去检查眼睛,大夫说孩子有近视了,只能看清1米远。虽然不
是高度近视,可是宝宝还那么小,以后怎么办啊?我和宝宝爸爸都是近视,看来遗传给
宝宝了。求妈妈们给点建议。多谢了!!现在感觉好痛苦。
最近一直因为孩子眼睛的事情抑郁大哭,被网上的内容吓倒了,很小就戴眼镜的长大都
可以上2000度了,而且现在眼睛手术都有风险。请大家多给点建议和安慰。比如美国有
没有穴位按摩治疗眼睛之类的。多谢!
是高度近视,可是宝宝还那么小,以后怎么办啊?我和宝宝爸爸都是近视,看来遗传给
宝宝了。求妈妈们给点建议。多谢了!!现在感觉好痛苦。
最近一直因为孩子眼睛的事情抑郁大哭,被网上的内容吓倒了,很小就戴眼镜的长大都
可以上2000度了,而且现在眼睛手术都有风险。请大家多给点建议和安慰。比如美国有
没有穴位按摩治疗眼睛之类的。多谢!
T*4
9 楼
不错
n*t
10 楼
高手没空,蓝翔技校试着回答:
间接调用开销稍大,不过貌似不该差那么多
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
间接调用开销稍大,不过貌似不该差那么多
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
n*t
14 楼
你可以 O0 试试看
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
k*9
15 楼
我和我的J1(lp)一起来的美国,那是我是J2身份。然后,我我申请了学校,用J2身份
读了了书。1年前,我回国,转签成F1,继续回来读书。现在快毕业了。
目前,我的LP还是J1 身份,但她一直没有waiver过。
我的问题是:
1. 因为,我以前的J2身份没有waiver过,我现在以F1身份申请OPT,是否可以?
2. 假设我符合申请OPT,以后再转H1B时,时候还是要waiver以前的J2历史先?
读了了书。1年前,我回国,转签成F1,继续回来读书。现在快毕业了。
目前,我的LP还是J1 身份,但她一直没有waiver过。
我的问题是:
1. 因为,我以前的J2身份没有waiver过,我现在以F1身份申请OPT,是否可以?
2. 假设我符合申请OPT,以后再转H1B时,时候还是要waiver以前的J2历史先?
a*a
16 楼
赞!
r*y
18 楼
1 不清楚 既然f1成 opt应该也无妨
2 让你lp赶紧Waiver啊 除非你们想回国 你要是不薄厚 肯定得先Waiver 薄厚可以j1那
也无所谓了
【在 k********9 的大作中提到】
: 我和我的J1(lp)一起来的美国,那是我是J2身份。然后,我我申请了学校,用J2身份
: 读了了书。1年前,我回国,转签成F1,继续回来读书。现在快毕业了。
: 目前,我的LP还是J1 身份,但她一直没有waiver过。
: 我的问题是:
: 1. 因为,我以前的J2身份没有waiver过,我现在以F1身份申请OPT,是否可以?
: 2. 假设我符合申请OPT,以后再转H1B时,时候还是要waiver以前的J2历史先?
2 让你lp赶紧Waiver啊 除非你们想回国 你要是不薄厚 肯定得先Waiver 薄厚可以j1那
也无所谓了
【在 k********9 的大作中提到】
: 我和我的J1(lp)一起来的美国,那是我是J2身份。然后,我我申请了学校,用J2身份
: 读了了书。1年前,我回国,转签成F1,继续回来读书。现在快毕业了。
: 目前,我的LP还是J1 身份,但她一直没有waiver过。
: 我的问题是:
: 1. 因为,我以前的J2身份没有waiver过,我现在以F1身份申请OPT,是否可以?
: 2. 假设我符合申请OPT,以后再转H1B时,时候还是要waiver以前的J2历史先?
n*2
19 楼
茉莉還是漂亮哈~
k*9
21 楼
谢谢楼上快速的回答。
并期待更多回答。
另外,我打算明天去国际生办公室问问。
并期待更多回答。
另外,我打算明天去国际生办公室问问。
y*l
22 楼
色彩真漂亮,纯赞叹
a*e
23 楼
编译器的问题。用 clang++ 试了一下,两个时间是一样的。
如果用 clang++ -O2 的化,还需要打印 Value 的值,否则整个计算被忽略掉了。
如果用 clang++ -O2 的化,还需要打印 Value 的值,否则整个计算被忽略掉了。
s*u
24 楼
Get instructions from local USCIS officer through Infopass, see top 3 post.
【在 k********9 的大作中提到】
: 背景:
: 我的J1自始至终没有办waiver。我目前是F1,五月份毕业。
: 情况叙述:
: 我用J2入学读书,中间回了国,签了F1入境。后两学期 full time 的F1身份。现
: 在准备申请OPT。
: 问题:
: 1. 请问,我没有waiver记录,是否影响我目前申请OPT?
: 2. 请问,OPT 转 H1B时,是否必须waiver掉我从前的J2历史才行?
: 一直没当回事,以为回国转F1后,就自动waiver了。
: 请知情人指教,谢谢。
【在 k********9 的大作中提到】
: 背景:
: 我的J1自始至终没有办waiver。我目前是F1,五月份毕业。
: 情况叙述:
: 我用J2入学读书,中间回了国,签了F1入境。后两学期 full time 的F1身份。现
: 在准备申请OPT。
: 问题:
: 1. 请问,我没有waiver记录,是否影响我目前申请OPT?
: 2. 请问,OPT 转 H1B时,是否必须waiver掉我从前的J2历史才行?
: 一直没当回事,以为回国转F1后,就自动waiver了。
: 请知情人指教,谢谢。
y*8
25 楼
充满诗情画意,超赞!
i*t
27 楼
搞不懂为啥j2也要受限2年,人家来探亲不小心就被弄j2,还不让单独豁免。估计2019
表格制作人为了方便于是背面都弄成了一样。
表格制作人为了方便于是背面都弄成了一样。
w*r
28 楼
boston is in ca? lol
l*a
31 楼
哎,看得我也想种柠檬了。真好
a*n
32 楼
用volatile double就一样了。第一种情况可能优化的时候用了register,因为a的地址
在编译的时候就知道了吧。
在编译的时候就知道了吧。
i*e
34 楼
您老在 MA 还是 CA
w*e
35 楼
this is because in release mode, the first function call is in-lined, and
the second one to call the function pointer is not in-lined by vs compiler.
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
the second one to call the function pointer is not in-lined by vs compiler.
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
k*9
36 楼
去问过了学校国际办,OPT 可以无障碍申请。但是要H1B,得把J2的历史豁免掉。
谢谢各位回答。
谢谢各位回答。
d*u
38 楼
The difference is from inline optimization of the compiler.
When the function is inlined, the compiler has more information and
opportunities to optimize the code. At inlining, the compiler can emit
different code for the inner most loop body a+=i; .
On my VS2013, a+=i is as follows in Tempfunction():
movsd xmm0, QWORD PTR [eax] // load a
addsd xmm0, xmm1 // a += i
addsd xmm1, xmm2 // i += 1
movsd QWORD PTR [eax], xmm0 // save a
comisd xmm3, xmm1 // cmp N, i
ja SHORT [email protected]
While in main(), when inlined, a+=i is like:
movapd xmm0, xmm1 // temp = i
addsd xmm1, xmm3 // i += 1
addsd xmm2, xmm0 // a += temp
comisd xmm4, xmm1 // cmp N, i
ja SHORT [email protected]
You can see that the difference is that in Tempfunction() has to load and
save "a" for every iteration. In main() after inlining the compiler knows
that "a" is not used otherwise, so it is free to use a register for all
iterations, and only save to memory when the loop is done.
The execution time of non-inline code is 1000000*(N*T1+T2), the inline code
1000000*(N*T3+T4).
If T1==T3, the difference will be 1000000*(T2-T4), which does not depend on
N. This assumes the only difference is from the function call overhead. This
is obviously not true according to your timing data.
The actual difference has two parts: 1000000*N*(T1-T3) + 1000000*(T2-T4).
Given your timing data, it seems that T1~=2.5e-9, T2~=1e-6, T3~=1e-9, T4~=0.
The load/save part is a big deal; it roughly accounts for 1.5e-9, making non
-inlined version 150% slower for the inner loop body.
PS: If the function chooses to use a pass-by-value "a" then returns "a", the
loop body will not have the load/save overhead.
PS2: The code should use int i=0 as the loop variable in Tempfunction() in
this example. Using double i prevents the compiler from using loop unrolling
, because double is not exact to represent arbitrary integer and the
compiler has to be faithful to this choice that the code writer decides to
take. Now if you use int i, VS2013 tries hard to unroll the loop and creates
very complex assembly code that also handles corner cases for N that is not
a multiple of chosen loop unrolling factor.
When the function is inlined, the compiler has more information and
opportunities to optimize the code. At inlining, the compiler can emit
different code for the inner most loop body a+=i; .
On my VS2013, a+=i is as follows in Tempfunction():
movsd xmm0, QWORD PTR [eax] // load a
addsd xmm0, xmm1 // a += i
addsd xmm1, xmm2 // i += 1
movsd QWORD PTR [eax], xmm0 // save a
comisd xmm3, xmm1 // cmp N, i
ja SHORT [email protected]
While in main(), when inlined, a+=i is like:
movapd xmm0, xmm1 // temp = i
addsd xmm1, xmm3 // i += 1
addsd xmm2, xmm0 // a += temp
comisd xmm4, xmm1 // cmp N, i
ja SHORT [email protected]
You can see that the difference is that in Tempfunction() has to load and
save "a" for every iteration. In main() after inlining the compiler knows
that "a" is not used otherwise, so it is free to use a register for all
iterations, and only save to memory when the loop is done.
The execution time of non-inline code is 1000000*(N*T1+T2), the inline code
1000000*(N*T3+T4).
If T1==T3, the difference will be 1000000*(T2-T4), which does not depend on
N. This assumes the only difference is from the function call overhead. This
is obviously not true according to your timing data.
The actual difference has two parts: 1000000*N*(T1-T3) + 1000000*(T2-T4).
Given your timing data, it seems that T1~=2.5e-9, T2~=1e-6, T3~=1e-9, T4~=0.
The load/save part is a big deal; it roughly accounts for 1.5e-9, making non
-inlined version 150% slower for the inner loop body.
PS: If the function chooses to use a pass-by-value "a" then returns "a", the
loop body will not have the load/save overhead.
PS2: The code should use int i=0 as the loop variable in Tempfunction() in
this example. Using double i prevents the compiler from using loop unrolling
, because double is not exact to represent arbitrary integer and the
compiler has to be faithful to this choice that the code writer decides to
take. Now if you use int i, VS2013 tries hard to unroll the loop and creates
very complex assembly code that also handles corner cases for N that is not
a multiple of chosen loop unrolling factor.
N*K
40 楼
多谢 这个解释详细
关于:
PS: If the function chooses to use a pass-by-value "a" then returns "a", the
loop body will not have the load/save overhead.
我测试过 如果这样的话 两种调用方式的时间是一样的
【在 d*****u 的大作中提到】
: The difference is from inline optimization of the compiler.
: When the function is inlined, the compiler has more information and
: opportunities to optimize the code. At inlining, the compiler can emit
: different code for the inner most loop body a+=i; .
: On my VS2013, a+=i is as follows in Tempfunction():
: movsd xmm0, QWORD PTR [eax] // load a
: addsd xmm0, xmm1 // a += i
: addsd xmm1, xmm2 // i += 1
: movsd QWORD PTR [eax], xmm0 // save a
: comisd xmm3, xmm1 // cmp N, i
关于:
PS: If the function chooses to use a pass-by-value "a" then returns "a", the
loop body will not have the load/save overhead.
我测试过 如果这样的话 两种调用方式的时间是一样的
【在 d*****u 的大作中提到】
: The difference is from inline optimization of the compiler.
: When the function is inlined, the compiler has more information and
: opportunities to optimize the code. At inlining, the compiler can emit
: different code for the inner most loop body a+=i; .
: On my VS2013, a+=i is as follows in Tempfunction():
: movsd xmm0, QWORD PTR [eax] // load a
: addsd xmm0, xmm1 // a += i
: addsd xmm1, xmm2 // i += 1
: movsd QWORD PTR [eax], xmm0 // save a
: comisd xmm3, xmm1 // cmp N, i
N*K
41 楼
修改为如下
void Tempfunction(double& a, int N)
{
a = 0;
double b = 0;
for (double i = 0; i < N; ++i)
{
b += i;
//a += i;
}
a = b;
}
结果
N=1000 , Tempfunction_time=1, TempfunctionPtr_time=1;
N=2000 , Tempfunction_time=2, TempfunctionPtr_time=2;
N=4000 , Tempfunction_time=4, TempfunctionPtr_time=4;
N=8000 , Tempfunction_time=8, TempfunctionPtr_time=8;
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
void Tempfunction(double& a, int N)
{
a = 0;
double b = 0;
for (double i = 0; i < N; ++i)
{
b += i;
//a += i;
}
a = b;
}
结果
N=1000 , Tempfunction_time=1, TempfunctionPtr_time=1;
N=2000 , Tempfunction_time=2, TempfunctionPtr_time=2;
N=4000 , Tempfunction_time=4, TempfunctionPtr_time=4;
N=8000 , Tempfunction_time=8, TempfunctionPtr_time=8;
【在 N******K 的大作中提到】
: 编译器 vs2013 release模式
: Tempfunction 计算一个数然后输出 N 控制计算复杂度
: 我用function pointer :TempfunctionPtr = &Tempfunction
: 然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
: 结果很诡异
: N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
: N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
: N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
: N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
: TempfunctionPtr_time - Tempfunction_time 应该是常数
相关阅读
Re: 怎样获得一块指针storage的大小?关于数组动态分配的疑问???GCC Benchmarks, AMD64 and i686 (zz)通告windows下的Gcc界面叫什么来?心目中的编程高手 [zz]default Specifier是什么?Re: godly C++ programmers needed讲解services和相关概念的两片小品文靠。Sedgewick这3w-qsort算法居然还有bug!Anybody help me on these questions?Re: can destructor be static?bit count in value from 0a very good article about count bitRe: javadoc for C++?The untold truth about C++好了。终于把3-way qsort完成标准优化了:)Comparison Re: 组合的枚举算法?[转载] Re: 密码学领域重大发现:山东大学王小云教授成功perl monk (ascii art)