【转】计算机算加减乘除的时间对比

转自http://blog.sina.com.cn/s/blog_8b4181c701015mij.html

Intel Pentium CPU计算加减乘除的指令周期

【加法】:

指令             指令周期

adc 寄存器, 立即数      1

adc 寄存器, 寄存器      1

adc 寄存器, 内存       2

adc 内存,   立即数      3

adc 内存,   寄存器      3

add 寄存器, 立即数      1

add 寄存器, 寄存器      1

add 寄存器, 内存       2

add 内存, 立即数       3

add 内存, 寄存器       3

inc 寄存器          1

inc 内存           3

【减法】:

dec 寄存器          1

dec 内存           3

sub 寄存器, 立即数      1

sub 寄存器, 寄存器      1

sub 寄存器, 内存       2

sub 内存, 立即数       3

sub 内存, 寄存器       3

sbb 寄存器, 立即数      1

sbb 寄存器, 寄存器      1

sbb 寄存器, 内存       2

sbb 内存, 立即数       3

sbb 内存, 寄存器       3

【乘法】:

imul 寄存器         11

imul 内存          11

imul 寄存器, 寄存器, 立即数 10

imul 寄存器, 立即数     10

imul 寄存器, 内存, 立即数  10

imul 寄存器, 寄存器     10

imul 寄存器, 内存      10

mul 8位寄存器        11

mul 16位寄存器        11

mul 32位寄存器        10

mul 8位内存         11

mul 16位内存         11

mul 32位内存         10

【除法】:

div 8位寄存器        17

div 16位寄存器        25

div 32位寄存器        41

div 8位内存         17

div 16位内存         25

div 32位内存         41

idiv 8位寄存器        22

idiv 16位寄存器       30

idiv 32位寄存器       46

idiv 8位内存         30

idiv 16位内存        30

idiv 32位内存        46

由此可见,CPU计算加减法的速度跟位运算(与、或、非、异或)相当,乘法的速度比加减法慢近10倍,除法的速度比加减法慢(近20倍——8位,近30倍——16位,40倍以上——32位)。算加减法,读取内存数据的比不读内存数据的慢,写内存的比读内存的慢。

【转】计算机算加减乘除的时间对比

时间: 2024-12-17 16:52:12

【转】计算机算加减乘除的时间对比的相关文章

将json格式日期(毫秒数)转成日常日期格式和日常格式时间对比

第一:是把生成的Json格式的时间转换,注意要看清楚时间的格式 function (cellval) { var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1

一、jQuery的ready与javascript中的onload加载时间对比

<script type="text/javascript"> var strtime = new Date().getTime(); $(function(){ var end1 = new Date().getTime(); var t1 = end1 - strtime; $("body").append("<p>jquery加载时间为: "+t1+"秒</p>"); }) funct

iOS时间处理之时间对比 by Nicky.Tsui

通过项目需求, 服务器返回了一个 order_canceled_time 订单自动取消时间   如果我要跟当前时间做一个对比,然后生成出一个倒计时的时间  那么首先我们要知道 order_canceled_time这个字段返回的时间格式 "order_canceled_time" = "2015-08-20 13:50:40"; 以这个时间为例,格式是 "年-月-日 时-分-秒" 把这个格式的时间用 NSDateFormatter 转换成NSDa

python init 方法 与 sql语句当前时间对比

def init(self,cr): tools.sql.drop_view_if_exists(cr, 'custrom_product_infomation_report') cr.execute(""" create or replace view custrom_product_infomation_report as ( select t0.id,t0.hpartner_id as hpartner_id, t0.khwl_code as khwl_code,t1.

select … into outfile 备份恢复(load data)以及mysqldump时间对比

select - into outfile 'path' 备份 此种方式恢复速度非常快,比insert的插入速度要快的多,他跟有备份功能丰富的mysqldump不同的是,他只能备份表中的数据,并不能包含表的结构.如果备份完成之后,表被drop,是无法实现恢复操作的(除非有表结构). mysql> select * from t1 into outfile '/mydata/mysql/mysql3307/data/t1.sql'; ERROR 1290 (HY000): The MySQL se

Python 系统时间与Mysql时间对比

由于自己是负责海外项目,常常会遇到一些问题,最近被系统时间与mysql时间不在一个时区,而坑了自己,一般修改了系统时区之后,MySQL必须重启,不然MySQL时区是不对的,会导致数据全部都是错的~~~,哎,只有坑到了自己,才会想到要去避免这种事情再次出现,所以用python写了一个简单判断时区的脚本,时区不对并邮件发出来,大家参考参考,详情如下: 1.脚本实例 #!/usr/bin/env python # coding=utf8 # auther:kuangl # This is system

jsp系统时间和时间对比(活动结束不结束)

jsp页面拿到系统时间 <jsp:useBean id="now" class="java.util.Date" /> <fmt:formatDate value="<%=new Date() %>" pattern="yyyy-MM-dd HH:mm:ss"/> <fmt:formatDate value="${activityDetail.activityEndTime}

python算两个时间之间的天数,将天数转成int型

import time import datetime #计算两个日期相差天数,自定义函数名,和两个日期的变量名. def Caltime(date1,date2): #%Y-%m-%d为日期格式,其中的-可以用其他代替或者不写,但是要统一,同理后面的时分秒也一样:可以只计算日期,不计算时间. #date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S") #date2=time.strptime(date2,"%Y-%m-%d %H:%M:%

2018湖南省第14届大学生计算机程序设计竞赛 C: 时间旅行

Description 假设 Bobo 位于时间轴(数轴)上 t0 点,他要使用时间机器回到区间 (0,?h] 中. 当 Bobo 位于时间轴上 t 点,同时时间机器有 c 单位燃料时,他可以选择一个满足 ?xh??h≤c?xh??h≤c 的非负整数 x, 那么时间机器会在 [0,?x]中随机整数 y,使 Bobo 回到 (t???y) 点,同时消耗 y 单位燃料. (其中 ????? 表示上取整) 因为时间机器的随机性,对于给出的参数 h 和时间机器剩余燃料 c,Bobo 想知道能够保证回到区