ビットシフトのスピード
左のグラフは,ビット演算と四則演算の処理時間の比較グラフです.
青がビット演算で赤が四則演算です.処理の内容は↓に示す簡単なコードです.1024 を割ったり掛けたりを繰り返すものです.グラフの横軸はループ回数を表します.単位は k で,500, 1000, 5000, 10000, 50000, 100000 の6パターン計測しています.
#include
int main(){
int a=5, n=0, m=500000, z=1024;
clock_t start,end;
n=m;
start = clock();
for(;n--;){
a=a<<10;
a=a>>10;
}
end = clock();
printf("Bit Shift %.30f\n",(double)(end-start)/CLOCKS_PER_SEC);
n=m;
start = clock();
for(;n--;){
a=a*z;
a=a/z;
}
end = clock();
printf("Multi Div %.30f\n",(double)(end-start)/CLOCKS_PER_SEC);
}
たった数万回の簡単な処理だけで,この驚くべき所要時間の差です.普段のコーディングでこのようなスピードを気にしているでしょうか.ビットシフトは分かりにくい(コードメンテナンスがやりにくい)からやめよう,とか主張はいろいろとあるかと思いますが,あくまでも一番重要なのはユーザビリティ.ユーザが快適に使うことです.
ビット演算を使うことでミリ秒,数秒を縮めることができます.この値は大きい.
多少めんどくさくてもビットシフトを使いこなしましょう.
7 Comments:
Online Pharmacy for Cialis, Levitra, Tamiflu, Viagra. Order Generic Medication In own Pharmacy. Buy Pills Central.
[url=http://buypillscentral.com/buy-generic-cialis-online.html]Purchase Cheap Viagra, Cialis, Levitra, Tamiflu[/url]. rx generic drugs. Cheap drugs pharmacy
We are to death that our attendance Procure Cialis Knock off Drugstore is one of the best in the Internet, commonly, Cheap Discount Viagra Pharmacy Online specializing on online drugstore Viagra.
hm.. nice .
Should you tell it — a gross blunder.
[url=http://www.formspring.me/hmarket]buy lorazepam in canada[/url]
[url=http://www.formspring.me/fshop]buy nitrazepam 5mg[/url]
[url=http://www.formspring.me/nmarket]can i buy prozac in dubai[/url]
[url=http://www.formspring.me/sjshop]buy amlodipine online[/url] buy norvasc amlodipine 5 mg generic [url=http://www.formspring.me/hjshop]buy ibuprofen tablets[/url] age buy ibuprofen uk [url=http://www.formspring.me/kmarket]buy ultracod online[/url] buy ultracod online [url=http://www.formspring.me/hshop]buy dihydrocodeine 120mg[/url] buy dihydrocodeine online no prescription [url=http://www.formspring.me/llshop]paracetamol codeine buy online[/url] buy paracetamol tablets [url=http://www.formspring.me/xcshop]buy azur online[/url] buy azur online [url=http://www.formspring.me/kshop]topix order tramadol[/url] buy tramadol injection [url=http://www.formspring.me/dshop]buy actavis codeine[/url] can you order codeine
[url=http://www.formspring.me/HeikkiBarry]buy claritine online[/url] [url=http://www.formspring.me/SuomalTyler]buy telfast uk[/url] [url=http://www.formspring.me/PontusRojas]purchase Clarinase[/url] [url=http://www.formspring.me/TiihonenBallard]order cetirizine[/url] [url=http://www.formspring.me/TimonenDoyle]dexa-tavegil buy[/url] [url=http://www.formspring.me/VeliHarrell]buy zyrtec generic[/url] [url=http://www.formspring.me/TenoiWoodward]to buy anafranil[/url] [url=http://www.formspring.me/ViiniRasmussen]purchase amitriptyline online[/url] [url=http://www.formspring.me/ViljakainDavid]buy prozac australia[/url] [url=http://www.formspring.me/SulanderMercer]buy zoloft online uk[/url]
Post a Comment
<< Home