面试宝典:
使用C语言将一个1G字节的字符数组从头到尾全部设置为字符“A”,在一台典型的当代PC上,需要花费的CPU时间的数量级最接近:
A 0.001秒 B 1秒 C 100秒 D 2小时
答案:B
正解:1GB需要1G条指令,如4核2GB的CPU,如1周期1条指令,需要0.25秒,所以最接近1秒。
以前没注意过硬件的读写速度,如果知道的话,就不用算指令周期什么的了。
下图就可解,cpu达到1GB/s,写入1GB的数据量,1s当然就可以了。
顺便看看硬件的读写水平:
DDR:
DDR内存是取代SDR内存的,因此面世的时候,性能是比较SDR来说的。DDR,第一个D是Double的意思,即同一周期内,数据传输两次(SDR只有一次)。因此,DDR内存的实际频率X2,就是“等效频率”(即同样性能下,SDR需要多少实际频率)。 DDR266实际频率133MHZ,DDR333实际频率166MHZ,DDR400实际频率200MHZ DDR2 533实际频率266.5MHZ,DDR2 667实际频率333.5MHZ,DDR2 800实际频率400MHZ DDR2 1066实际频率533MHZ,DDR3 1066实际频率533MHZ DDR3 1333实际频率666.5MHZ,DDR3 1600实际频率800MHZ
USB3.0:目前一般是20~120MB/s吧,大概值
写入速度和很多因素(写入文件大小,flash质量..)有关。
纯的3.0USB写入速度和你的存储空间大小有关系,而且3.0优盘一开始定义就是以4GB起,小于4GB的都不算正常的!3.0的优盘读取速度一般都是在110MB/s~120MB/s(当然还有更高的,我只是说明这个是通用普通的),4GB的写入速度大概是22.0MB/s,16GB的写入速度大概是41MB/s,32GB的写入速度大概是72MB/s……存储空间越大,写入速度越高!
PCI:普通的是133MB/S
硬盘:
机械硬盘:100M/S左右 固态硬盘:250M/S
当前普通硬盘的读取速度大概是,而固态硬盘的读取速度则是250M/S。但是,这并不是指其速度仅为普通硬盘的2.5倍,值得指出的是:这里的读取速度是指连续读取速度,实际计算的时候,由于普通硬盘还有寻道时间等开销,所以实际上固态硬盘的读取速度要达到普通硬盘的7~8倍以上。
固态硬盘由于其多块FLASH闪存芯片组成的RAID 0阵列,所以其优势在于读取多处小数据,体现在开机等操作中,这正是其开启windows xp只需要9秒时间的原因。而在读取较大文件的时候,固态硬盘的读取速度也仅仅是普通硬盘的2.5倍左右。
以下是理论值:
PCI-E X1 512MB/s
PCI-E X2 1GB/s
PCI-E X4 2GB/s
PCI-E X8 4GB/s
PCI-E X16 8GB/s
USB2.0 480Mbps就是60MB/s
USB3.0 5Gbps就是625MB/s