作者apey ()
看板LinuxDev
标题[问题] 面试考题 哪段程式码较快
时间Mon Jun 13 23:18:15 2011
hi
以下是今天我面试所遇到的考题
来这里请教一下大家:
Q1:以下哪一段程式码在arm plarform执行有较好的performance?
1.char fun (char a) {
return a+1;
}
2.short fun (short a) {
return a+1;
}
3.int fun (int a) {
return a+1;
}
Q2:interrupt不能做甚麽
a.setup DMA control
b.system call
c.fetch device data
d.record time
e.trigger another I/O
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.35.138
※ 编辑: apey 来自: 114.34.227.2 (06/13 23:23)
1F:→ pico2k:Q1:3 Q2:e 06/13 23:41
2F:推 askacis:Q1我也认为是3,32bit CPU下利用interger传参数可以避免 06/14 00:02
3F:→ askacis:还要浪费指令帮short 跟char补成32bit的时间... 06/14 00:05
4F:推 keyword1983:3 e 06/14 23:48
5F:推 inses:第二题的答案如果用严格的说法应该不只一个 06/16 00:38
6F:推 iman00b:推楼上, 我也觉得不止一个~ 06/18 16:09
7F:推 CriLit:我觉得是 Q1:3, Q2:b 06/28 12:20
8F:→ CriLit:Q1应该是要多作 alignment 的动作 06/28 12:20
9F:→ CriLit:Q2则是 system call 有可能会牵涉到睡觉 06/28 12:21
10F:→ CriLit:Q2 的 a,c 感觉没什麽问题, 这本来就是interrupt该做的 06/28 12:22
11F:→ CriLit:d 的话用一般的 rdtsc 或是 tick 都是这样做的 06/28 12:22
12F:→ CriLit:e 的话 nested 也是有可能的 06/28 12:22
13F:→ CriLit:相较起来 system call 有太多会休眠的动作了 06/28 12:23
14F:推 askacis:tick也是timer中断啊,其实我觉得Q2问法很奇怪... 06/29 00:56
15F:推 askacis:也没说中断是SWI还是IRQ/FIQ之类的,很难回答XD 06/29 01:01