ダブルバッファおさーんと遊ぼう! [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
x=1-x;よりもx^=1;のほうがセンスがあるよねっていう話でした。以上
===================== 糸冬了 ====================== ダブルバッファおさーんは、個人の思い込みを、誰にでも当てはめようと
するから、どうしても無理がある。 452 名前:仕様書無しさん[sage] 投稿日:2015/01/28(水) 21:29:21.95
>>448
1と0の切り替えの動機がフラグしかないと思うのか?
きさまはダブルバッファリングで四苦八苦したことがない世代の人間か
メモリなんて無限にあるから使いまわさないでnewすればいいとでもいうのか 466 名前:仕様書無しさん[sage] 投稿日:2015/01/28(水) 21:48:11.78
>>460
伝わらなかったか
ダブルバッファリングするのは画面だけじゃないんだ
要素が2つの配列作って、それを切り替えるための添え字に使うんだよ
for(::) {
value = a[x]->DoSomething();
a[1-x]->DoHogeHoge(value)
x = 1 - x;
}
こんな感じで 496 名前:仕様書無しさん[sage] 投稿日:2015/01/28(水) 22:44:22.80
リスパー君は性格が悪いから彼の書いたx ^= 1; はコミットさせてやらない
っていうのは絶対あるよ。
ダブルバッファおじさんは、急に、カラオケ歌いだして
おちゃめだし、じゃあ、x=1-x; のほうを採用してやるかっていう
そんなもんだと思うよ、実際の世の中は。 577 名前:仕様書無しさん[sage] 投稿日:2015/01/31(土) 10:30:19.72
ダブルバッファの人の主張は
「x が配列のインデクスである場合には、
x が1のとき0にし、0のとき1にするコードは
x=1-x;
が良い。」
というものに過ぎないんだが、これに限らず
「〜である場合においては、○○○○である。」
という経験則を、
「(どんな場合においても)、○○○○である。」
という形で主張し始める人は、この国では多い。
そういう人の声が大きかったりすると、それが通って、なんとなく
同調圧力に押されて、自分も納得したような気分にさせられてしまう。
僕は外資系での仕事が多いのだけれど、
外国人プログラマーたちと仕事をすると、こういうのは絶対に
許されないから、本当のプログラミングセンスが育まれる。 859 名前:仕様書無しさん[sage] 投稿日:2015/02/01(日) 16:39:43.71
KAC氏とダブルバッファおさーんのdisりあいが面白い。
KAC氏が理詰めで攻めると、ダブルバッファオサーンは、
「値を入れ替えるのにXOR使うなんて、
ビット演算覚えたてでビット演算使いたがってる子供。
俺はそんなの小学校で卒業した」
という超絶、個人的な話で応酬
ダブルバッファおさーんにプログラミング教わった人は、
ビットフラグ以外の値に、ビット演算子を使ってるコードを見ると
やっぱり発狂するんだろうか?
するだろうなw
こうやって、意固地なプログラマーのこだわりは伝承されていき、
開発チームがモメる一因となるのである。 910 名前:仕様書無しさん[sage] 投稿日:2015/02/01(日) 22:28:20.03
ダブルバッファの人が
x^=1;と書くと、xがビットフラグを集めたものに見えてしまう。だからダメだ
と言った時点で、話は終わったなと思った。
まあでも、自分が混乱するコードは避けるというのは当たり前だからな。
それにコードレビューといったところで、
結局、こういう個人の主観を言い合う場だったりするんだよ。
自分の主観を全世界に普遍なものに拡張したい傲慢な生き物だったり
するからなプログラマーは。 924 名前:仕様書無しさん[sage] 投稿日:2015/02/01(日) 23:03:01.76
ダブルバッファおさーんの浮かばれない人生に焦点が移ってきたのです。
なぜならば、そこにこそ
x=1-x;
をガン押しする動機がありそうだからです。
925 名前:仕様書無しさん[sage] 投稿日:2015/02/01(日) 23:03:28.70
>>915
いや、ダブルバッファの人は一回しか書いてないと思うぞ
その引用が何回も出てきてるが 947 名前:仕様書無しさん[sage] 投稿日:2015/02/02(月) 19:52:21.21
「ダブルバッファおさーん」「ダブルバッファの人」という呼称を用いることで
x ^= 1;に反対しているのは1人だけだという印象を与えようと必死みたいだけど、
君以外はみんな「自分以外にもx ^= 1;の欠点を指摘している人がいる」ことを知っているから。
はっきり言って、君、人としてとても恥ずかしいことをしていることを自覚したほうがいいよ。 デスマが常習の方と仲良くなるのはどうかと思いますよ 963 名前:仕様書無しさん[sage] 投稿日:2015/02/02(月) 23:05:28.21
>>961
1-xとx^=1、どちらが正しいか?
ではなくて、焦点はどちらが意図が伝わりやすいか?だよ。
0と1以外の値を入れた時の事は考えてない。
両方同じことになるんだから。
そうではなくて、ビットごとに意味がある時にビット演算を使用するべき。
そのほうが意図が伝わりやすいって話をしてる。 >>994
> x ^= 1 ;
> xorl $0x1,-0x4(%rbp)
>
> x = 1 - x ;
> mov $0x1,%eax
> sub -0x4(%rbp),%eax
この結果からはっきりした。1クロックしか変わらない。
つまりだ。1GhzのCPUの場合、1 000 000 000 クロック / 秒なので
逆にすると、1回あたり0.000000001秒の違いが生まれるということ。
10億回実行してやっと1秒の差になるな。 998 名前:仕様書無しさん[sage] 投稿日:2015/02/03(火) 02:14:02.83
>>997
なるほどね。それだけの差しか生まれないなら
読んだ時に人間が理解する時間のほうが重要だな。
999 名前:仕様書無しさん[sage] 投稿日:2015/02/03(火) 02:14:38.42
結局のところ速度の話をする意味ってなかったんじゃね?
やっぱり、ビット演算はビットごとに意味がある場合に使うべきだよ
1000 名前:仕様書無しさん[] 投稿日:2015/02/03(火) 02:15:11.68
ということで、予定通りの答えが出たので
これにて終了w なんか、ダブルバッファの人、「俺が正しい!」的な
ダイジェストを前スレからコピペしてくれたのね。
ごくろうさん。 俺もダブルバッファの人かよw
お前か、ダブルバッファの人と
気に食わない人を誰かれ構わず他人を罵倒し続け
敵は一人だって思いこんでる頭悪い奴はw 叩き潰されて気が狂った結果
建てたのがこのスレである。
スレタイを見てみよう。
そこにコンプレックスが透けて見えるだろう。 ダブルバッファおさーん
プログラムセンスがある人とない人の違い 2
を立て、あいからわず自分の援軍が多数いるかのような
自演工作でがんばる、がんばる。
まあ、彼の粘着力だけは認めざるを得ない。
意味のわからんスレタイで建てた
この粘着力www
なにがそこまで彼を追い詰めたのか? >そこにコンプレックスが透けて見えるだろう。
そう見ることによってしか、支えられないお前の自我 891 名前:仕様書無しさん[sage] 投稿日:2015/02/01(日) 21:06:14.63
>>889
ほぼ、そうだと思うよ。なんせ
>624 名前:仕様書無しさん[sage] 投稿日:2015/01/31(土) 21:12:56.55
>>>621
>>ビット演算で可読性が落ちるとかいわれたら泣くぜ
>
>いや、まったくだ。ようやく同じこと思っている人がいて安心したよ。
ご本人も「ようやく」同意見が出たことに競演乱舞の書き込みしてるしw >>22
でも、こんなスレタイでスレ立てたのは事実ですよね?w 前スレ? スレタイ全然違いますが?w
前スレと認識してるのに
スレタイをこんな風に変えた理由は何でしょうか? >前スレ? スレタイ全然違いますが?w
揚げ足とって大喜びw 俺がレスしてあげると大喜びするよなお前w
やっぱりお前が前スレで火傷したやつか。 やっぱりお前が前スレで火傷したやつか。 キリッ
w やっぱりお前が前スレで火傷したやつか。 キリッ
図星 WebやDBなんてパートがやるべき
【知的財産と契約料金の搾取助長者ばかり】
[受注系SI生涯損害促進者を追放すべき]
偽装請負従犯SEの動機
コミ障
趣味
高卒
文系大卒
低偏差値大卒
偽装請負従犯SEの迷惑
不当指示遵守
強要期限遵守
無能残業
安売競争
利益提供
裁判苦手
対人障害
健康障害
孤独死
偽装請負従犯SEの代償
デスマ
技術低下
収入低下
失業
貧困
非婚
離婚
鬱病
早死 だからそのとおりだから
図星って書いてるんだけど?w >>35
なんかお前、せっかく自分が立てた
プログラムセンスがある人とない人の違い 2
よりも、こっちのスレのほうが気になるみたいだな?w
お前らしいよw >>36
たてたの俺じゃねーしw
相変わらず敵は一人の発想だな。 自分で自分の隔離スレを立ててしまった>>1が可哀そうすぎる ほらほら。ボサっとしてないで、
プログラムセンスがある人とない人の違い 2
盛り上げろよ。 昔fjというメーリングリストがあってな
なんかノリを思い出した ダブルバッファの子、スレ立てるのは乙だけど
> ビット演算はビットごとに意味がある場合に使って
> インデックス値などの数値の計算に使わない等
なんて書いちゃだめだよ。 トリプルバッファは実際にあって、どういうメリットが有るかは
ググってもらえばいいとして、
ダブルバッファのインデックスは0, 1
トリプルバッファのインデックスは0, 1, 2
となる。
インデックスであり、数値である。だから
この数値を循環させるには、数値計算すればよい。
ビット演算でやろうとか考える奴は馬鹿である。
0, 1, 2の繰り返しは面倒くさいしな。 >>23
可読性言ったのは俺なのに…
そしてバグ指摘も俺 >>46
これ書いた人?
325 名前:仕様書無しさん[sage] 投稿日:2015/01/26(月) 21:13:53.75
なんで"書く手間"を気にするかね?
可読性って、可"読"性 って書くんだよ。
つまり読みやすさ。
可読性というけれど、可書性っていうのか?
書きやすさはそこまで重要視されてないよね?
1と0の入れ替えであるならビット演算子を使おうとは思わないが
(x = 1-xの方が可読性が書いと思うので)
ifで書くと4行ぐらい読まないといけないから
その分可読性が落ちるだろ。
この場合はほんの僅かだが、これが積み重なっていくわけで 足して余り求めるだけだけど
やり方は色々ありまっせ やり方は色々あるけど、
優れたやり方っていうのは有る。
足した余りを求めるっていうのはその一つ >>47
循環ってなに?
x mod 4で値を0123にできるよ hoge[3]={1,2,0}
x=hoge[x];
ま、0〜1000とか言ったらこんなことしないがw バッファリングってよくわかんない
っていってるんじゃ x % 3程度なら最適化でビット演算と単なる加算に変わっちゃってたりするよねw >>44
そういう意味での可読性(?)を気にしてのことなら
なおのことダブルバッファに関しては ^= を推奨するな
なぜならダブルバッファというのは『進める』ものではなく『反転させる』ものだからだ
そのダブルバッファおさーんと言う人がビット演算に違和感を覚えるのは
xを使用するバッファを配列化したもののインデックスとして認識しているからであろう
しかしアセンブラ世代のプログラマなら分かってもらえると思うが
過去よりダブルバッファを実装した何かはハードウェア的に実装されて
primary/secondaryを『切り替える』制御ビットをもったものが多かった
いまはそういうものはなくなりソフトで実装するものしかないから
『配列のインデックス』として実装されることが多いが だからスタックやキューなんかの書き込みポインタは「進ませる」って言い方するけど
ダブルバッファは「進ませる」なんて言わずにフリップとか反転って言葉を使うだろう?
これはダブルバッファは書き込み対象を進ませるものではなくて
read/writeの対象を「入れ替える」ものとして扱うことが多いからだ
そして「入れ替える」という行為はまさに算術演算ではなくビット反転そのものである
何番目のバッファを使用するかのインデックスではなく
どちらがwriteであるかの識別フラグなんだよ
言語でダブルバッファを実装する場合はそのフラグをそのまま配列インデックスに流用しやすいように
0/1で扱って配列で実装しているというだけ
本質は配列のインデックスではない しかもトリプルバッファって必ずしも0/1/2の繰り返しじゃないぞ
トリプルバッファのキモって書きこみ禁止対象になっているバッファ以外の2つを
ダブルバッファとして利用できるようにするところだぞ
あなたの言ってるのはトリプルバッファというより要素が3つのリングバッファや 算術演算の結果2つの数値を交互に取り出せるという副作用があるだけで
2つの数値を入れ替えるという動作は算術演算の本質じゃないからな >>64
なるの?本当に?
なるというなら実績は?、そしてどこまでがなって、どこからがならないという閾(しきい)値は?
参考になるので、ぜひとも教えて頂きたい。 クソスレらしい発言で大いに結構。
クソスレ主も喜んでるよwww
>>75
ヤだよデブwww ロリコンは精神病だって言うけど生まれつきなん?
たとえば5歳のころから年上の女の子見て「やっぱJK最高やわーはぁはぁ」とか思ってたの? >>72
コンパイラやcpuアーキテクチャによるとしか >>82はデブでハゲでロリコンの1bit脳の5才児 マイコンの世界で生きてんでも無いんだったらif文でいーじゃん こういうニュース見るたびに、今度こそ息子が捕まったんだじゃないかと
心配しています。
ttp://www.iza.ne.jp/kiji/events/news/140115/evt14011512000016-n1.html ダブ3、あんまし親に心配かけなさんな。
ビット演算うんぬんよりも、そっちのほうがずっと大事だぞ?分かるか? ダブルバッファ氏の若かりし頃のイメージ
ttp://i.imgur.com/1QD2WgO.jpg
ttp://blogimg.goo.ne.jp/user_image/59/bc/436d4e0120e31bc7d9e6c6d5cc251102.jpg
ttp://f.st-hatena.com/images/fotolife/z/zonish/20120728/20120728031702.jpg
ttp://f.st-hatena.com/images/fotolife/z/zonish/20120728/20120728031825.jpg
ttp://f.st-hatena.com/images/fotolife/z/zonish/20120728/20120728031849.jpg
ttp://livedoor.blogimg.jp/koji_roh/imgs/2/2/226c3b0e.jpg
ttp://livedoor.4.blogimg.jp/onecall_dazeee/imgs/1/8/18404100.jpg むかしなつかしZ80のADDとXORの実行サイクルみてみたらAレジスタについてはどっちも4サイクルだった。
今どきのパイプライン化されたCPUならどっちも実質1サイクルだろ。
どっちでもいい話を一生懸命「此方のほうが良い」と叫んでるおっさんがアホらしい。
コードが読みやすいかどうかは重要だから何やってんのかわかるコードだったらどっちでもいいだろ。
大体バッファの切り替えの実行時間なんか全体の処理時間から見たら存在しないも同然だろ。
と、Silicon Graphics GLの講座を受けた20年前を懐かしみながら言ってみる。 あー、カキコ間違えたわ。
サイクルじゃなくてクロックだったわ。
年は撮りたくないねえ。忘れっぽくて。 >>100
だとするなら、ビット演算にメリット無くなってしまったやんw まあ、コンパイラが最適化しちまえば、跡形も無くなるがなw ビットコインをはじめよう
1000円分のビットコインがもらえます!
https://bitflyerドットjp/gift/fn0tlipl
値上がり可能性あるのでとにかく一応もらっておくといいです。
※上記のURLのドットを.に変えてアクセスしてね。 繰り返すがコンパイラが最適化したらどっちも同じになるぜ 同じどころか、そんなコードの形跡さえ消えて無くなるんですが。 もしかして
int main() { int x=0; x^=1; }
と
int main() { int x=0; x=1-x; }
の話してる? >>114
あほだ。。。
まさかこんなあほだとは。。。 >>115
xは参照してないから綺麗さっぱりなくなるな 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
YUL2UMY6SS とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
TPJZO ■ このスレッドは過去ログ倉庫に格納されています