[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
347: (ワッチョイ 4be5-O9q2) 2023/06/29(木)07:49 ID:0UnKiO4J0(1) AAS
せいぜい数十までの整数でも、いちいちint8_tになんかしねえな
348
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ dd3e-F8yx) 2023/06/29(木)08:15 ID:l+ZsGqGg0(1/3) AAS
巨大な配列なら話は別だが単発の整数がレジスタより小さくても得なことが無いからな。
349: (ワッチョイ 9dc9-3ptY) 2023/06/29(木)08:19 ID:beCjxg/z0(1) AAS
通信関連でペイロードに ビット長指定されてるのなんかは int○_t 使っときたい
350: (ワッチョイ 8590-bmws) 2023/06/29(木)11:02 ID:prJHgW/t0(1/2) AAS
intでもshortでもCPUの計算速度は同じ
351
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ dd3e-F8yx) 2023/06/29(木)11:11 ID:l+ZsGqGg0(2/3) AAS
四則演算では int より小さい整数は int に拡張する変換が入ることになってるし、
int を受け取る関数でも当然に変換されるので
変換する処理の分だけ素朴なコンパイラだと short のほうがコスト高になる可能性もある。
352: (ワッチョイ 8590-bmws) 2023/06/29(木)11:21 ID:prJHgW/t0(2/2) AAS
言葉足らずだったな
初学者向けに正確にいえば
ビット数の低い数値の型にしたからといって
計算速度が速くなるワケじゃない

理由はハチミツ氏の記述通り
353: (ワッチョイ 23f0-OfpS) 2023/06/29(木)17:52 ID:XHjEw6wR0(2/2) AAS
型のサイズが大きいほどキャッシュミスの確率が上がるし
ベクトル化の効率も関わってくるから話はそう簡単でもないけどな
354: はちみつ餃子◆8X2XSCHEME (ワッチョイ dd3e-F8yx) 2023/06/29(木)18:01 ID:l+ZsGqGg0(3/3) AAS
チューニングが必要になったら実測しろってのはそういうことよな。
やってみるまでわからん。
355: (ワッチョイ 23ad-F8yx) 2023/06/30(金)13:08 ID:fR+nHOGQ0(1) AAS
やはり64bitCPUなら64bit整数が一番計算が速かったりするのかな
356: (ワッチョイ 05a7-7pYU) 2023/06/30(金)13:38 ID:x+ZjTlP+0(1) AAS
>>348
al、ah、axと小さなレジスタでやりくりすることによりスタックすらも使わずに複数の変数を操作することは可能になる
まあ汎用レジスタ数の多い64bitアプリではあんまりメリットにならんが
357: (ワッチョイ 4bf2-kZxR) 2023/06/30(金)13:40 ID:GCvfqGNe0(1) AAS
普通、intは32bitじゃないの?
普通の計算に64bitなんて使ったらキャッシュ効率悪すぎでしょ
358
(1): (ワッチョイ dd4e-OfpS) 2023/06/30(金)15:06 ID:4d5Im9Ce0(1/3) AAS
多少のCPU内の計算速度差より、メモリアクセスのペナルティの方が遙かに影響でかいんだよね
昔、同じテキスト処理をsjisとutf16で速度比べたら、処理が複雑なはずのsjisの方がわずかに速かったこともあった
359: (ワッチョイ ad02-ES2+) 2023/06/30(金)16:50 ID:4gqYGJxm0(1) AAS
じゃあ16ビット整数使おうぜ!
360: (スッップ Sd43-+46M) 2023/06/30(金)18:10 ID:diu+eantd(1) AAS
ILP32
LLP64 windows: int32 long32 long long 64
LP64 unix: int32 long64 long long 64
ILP64 実装例なし
361
(1): (スプッッ Sd03-+QuN) 2023/06/30(金)18:16 ID:rpfOZ2Y1d(1) AAS
>>358
自作エディタの内部文字コードに悩んでるけどもしかしてUTF8がええのかな
362
(1): (ワッチョイ dd4e-OfpS) 2023/06/30(金)18:31 ID:4d5Im9Ce0(2/3) AAS
>>361
utf8は日本語3バイトになるし、冗長コードの問題もあるし、処理がより煩雑になるから内部処理コードには一番向かないと思う
エディタなら素直にutf32(もしくは16)で持つのが良いような気がする
363
(1): (ワッチョイ 8d9c-HUf/) 2023/06/30(金)18:50 ID:JeB1mWDr0(1) AAS
>>362
utf16はサロゲートペアがあるから避けたほうがいい。
簡単に実装するならutf32、メモリを節約するならutf8。だけど、utf8が覇権だからutf8にしたら?
364: (ワッチョイ 8d7c-BujW) 2023/06/30(金)18:53 ID:ccKyFSM70(1/2) AAS
今から新規にエディタ作るなら内部はUTF32一択でしょ
それ以外を使う理由がない
365: (ワッチョイ dd4e-OfpS) 2023/06/30(金)20:01 ID:4d5Im9Ce0(3/3) AAS
>>363
サロゲートペアの判定は簡単だし、utf32でも厳密には1文字=1要素にはならないし、
メモリアクセス量との兼ね合いでより高速に動作しそうな気がするが…避ける理由がよく分からない
366: (ワッチョイ 9d10-56Vs) 2023/06/30(金)20:23 ID:fhTbp4mH0(1) AAS
今どきは絵文字とかも絡んでくるから「簡単に実装」なんてそうそう言えないと思うんだよね
性別やら肌の色で修飾みたいな複雑仕様を網羅する必要があるから
1-
あと 636 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s