刚才看见有人说我不应滥用inline和register。
请问可以告诉我,我的理解什么地方有错误吗?
我理解的inline,是定义函数在调用时不使用call/mov/ret指令来压栈、跳转/设置返回值/弹栈、跳转回去,而是直接把被调用的函数嵌入在调用它的函数中,来节省时间。
我理解的register,是用来使变量储存在寄存器中,来在让CPU在频繁读写中不用在内存或Cache上浪费时间。
我对用或不用inline和register的测试结果:
With inline and register Without
Subtask #0 Subtask #0
#1 #1
4ms/684.00KB 3ms/696.00KB
AC AC
#2 #2
212ms/4.95MB 248ms/4.98MB
AC AC
#3 #3
3ms/680.00KB 3ms/684.00KB
AC AC
#4 #4
3ms/680.00KB 3ms/808.00KB
AC AC
#5 #5
10ms/680.00KB 11ms/688.00KB
AC AC
Subtask #1 Subtask #1
#6 #6
21ms/868.00KB 24ms/836.00KB
AC AC
#7 #7
50ms/1.55MB 59ms/1.46MB
AC AC
#8 #8
77ms/2.69MB 87ms/2.70MB
AC AC
#9 #9
153ms/4.98MB 172ms/4.98MB
AC AC
#10 #10
186ms/4.95MB 213ms/4.98MB
AC AC