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

--
※ 看板: uefacool 文章推薦值: 0 目前人氣: 0 累積人氣: 46 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇