[過去ログ] Qiita 5 - キータぞ、来たぞ、キータだぞー (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
729: デフォルトの名無しさん [sage] 2024/11/09(土) 17:39:15.04 ID:mxjkBfxb(1/2) AAS
>>689689(1): デフォルトの名無しさん [sage] 2024/10/24(木) 07:36:36.45 ID:Q4SwxBGX(1/2) AAS
外部リンク:x.com
> 流石に昨日のやつ文脈無視のクソリプをたくさんいただいたのブチギレ削除しました
> (最小値アンダーフローで128bit入出力バグってると言ってきた嘘つきには特に)
> バグってないので
> G変数もなんでGにしてるかコード見れば一目瞭然なのに聞いてくるの流石にキレるわ
> 競プロerじゃないならなおのことオーバーヘッドには気をつけろよカス
グローバル変数の使用はローカル変数のオーバヘッドを避けるため、みたいな考えなんだろうか?
折角なので比べてみた。
グローバル変数を使用した記事のコードで__int128の最大値を/dev/nullに100万回出力
外部リンク:wandbox.org
> 0.286937sec.
ローカル変数使用に改変したコードで同じ処理
外部リンク:wandbox.org
> 0.285915sec.
やっぱ大して違いはないよなあ。
730: デフォルトの名無しさん [sage] 2024/11/09(土) 17:46:23.17 ID:mxjkBfxb(2/2) AAS
> 競プロerじゃないならなおのことオーバーヘッドには気をつけろよカス
処理を少しでも軽くしたいなら、_O128()の
do {
*(--d) = "0123456789"[tmp % 10];
tmp /= 10;
} while (tmp != 0);
としてるところは
while (tmp > numeric_limits<uint64_t>::max()) {
*(--d) = '0' + tmp % 10;
tmp /= 10;
}
uint64_t tmp64 = tmp;
do {
*(--d) = '0' + tmp64 % 10;
tmp64 /= 10;
} while (tmp64 != 0);
とすると少し速くなるね。
外部リンク:wandbox.org
> 0.189986sec.
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.445s*