※ 本文為 uefangsmith 轉寄自 ptt.cc 時間: 2011-07-13 00:34:21
標題 [問題] 面試考題 哪段程式碼較快
時間 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)
--
看板 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)
→ :Q1:3 Q2:e1F 06/13 23:41
推 :Q1我也認為是3,32bit CPU下利用interger傳參數可以避免2F 06/14 00:02
→ :還要浪費指令幫short 跟char補成32bit的時間...
→ :還要浪費指令幫short 跟char補成32bit的時間...
推 :3 e4F 06/14 23:48
推 :第二題的答案如果用嚴格的說法應該不只一個5F 06/16 00:38
推 :推樓上, 我也覺得不止一個~6F 06/18 16:09
推 :我覺得是 Q1:3, Q2:b7F 06/28 12:20
→ :Q1應該是要多作 alignment 的動作
→ :Q2則是 system call 有可能會牽涉到睡覺
→ :Q2 的 a,c 感覺沒什麼問題, 這本來就是interrupt該做的
→ :d 的話用一般的 rdtsc 或是 tick 都是這樣做的
→ :e 的話 nested 也是有可能的
→ :相較起來 system call 有太多會休眠的動作了
→ :Q1應該是要多作 alignment 的動作
→ :Q2則是 system call 有可能會牽涉到睡覺
→ :Q2 的 a,c 感覺沒什麼問題, 這本來就是interrupt該做的
→ :d 的話用一般的 rdtsc 或是 tick 都是這樣做的
→ :e 的話 nested 也是有可能的
→ :相較起來 system call 有太多會休眠的動作了
推 :tick也是timer中斷啊,其實我覺得Q2問法很奇怪...14F 06/29 00:56
推 :也沒說中斷是SWI還是IRQ/FIQ之類的,很難回答XD
推 :也沒說中斷是SWI還是IRQ/FIQ之類的,很難回答XD
--
※ 看板: uefacool 文章推薦值: 0 目前人氣: 0 累積人氣: 46
回列表(←)
分享