Hello hackers !
Qiitaは、エンジニアリングに関する知識を記録・共有するためのサービスです。
コードを書いていて気づいたことや、自分がハマったあの仕様について、
他のエンジニアと知見を共有しましょう ;)
https://qiita.com/
Qiita(キータ)は、Incrementsが運営するプログラミング情報のナレッジコミュニティ。
2016年現在で日本最大のプログラマーコミュニティとされている[1]。
https://internet.watch.impress.co.jp/docs/news/1025972.html
前スレ Qiita
https://mevius.5ch.net/test/read.cgi/tech/1542357242/
Qiita 2 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1658762410/
Qiita 3 - キータぞ、来たぞ、キータだぞー
■ このスレッドは過去ログ倉庫に格納されています
2023/05/28(日) 09:56:01.47ID:twg6yDS4
177デフォルトの名無しさん
2023/07/09(日) 17:12:40.91ID:zE87G4i1 レヲナールはLGTM数で対応変えてるからな。
LGTM数が多い奴に噛み付くと援護砲を喰らうことをわかって、過疎垢には強気なコメントw
LGTM数が多い奴に噛み付くと援護砲を喰らうことをわかって、過疎垢には強気なコメントw
178デフォルトの名無しさん
2023/07/09(日) 17:17:34.44ID:zE87G4i1 レオナールは典型的なDV男。コンパイルも通らないゴミコードでレスすんなw
傍目から見ると強気が正義に見えるが反論するとオモチャにされそうだからヌルー
傍目から見ると強気が正義に見えるが反論するとオモチャにされそうだからヌルー
179デフォルトの名無しさん
2023/07/09(日) 17:27:50.00ID:zE87G4i1 レヲナールはポエム生地に手をコネコネして
淡白な記事には狂犬の如く噛み付いてるな。
意図はわかるが、噛み付かれた側からすれば災難だわ。
淡白な記事には狂犬の如く噛み付いてるな。
意図はわかるが、噛み付かれた側からすれば災難だわ。
180デフォルトの名無しさん
2023/07/09(日) 17:40:18.59ID:zE87G4i1 私文をホルホルして、のぼせ上がった私文を使って情報卒を攻撃させるという政治活動は現実でも嫌という程みるな。
用が済んだ私文には巧妙な嘘で事故を起こさせ👋
ヲタクが政治に走ると陰湿だからなあ。体育会系と違って屈折してるから、距離を近づけると拒絶するし。
ヌルーに限る。
ただ私文は政治に関してはヲタクより一枚上手だから、ヲタクの意図なんか見抜いてるだろうけどなw
用が済んだ私文には巧妙な嘘で事故を起こさせ👋
ヲタクが政治に走ると陰湿だからなあ。体育会系と違って屈折してるから、距離を近づけると拒絶するし。
ヌルーに限る。
ただ私文は政治に関してはヲタクより一枚上手だから、ヲタクの意図なんか見抜いてるだろうけどなw
181デフォルトの名無しさん
2023/07/09(日) 17:45:09.94ID:zE87G4i1 政治に走るヲタクはFラン死文よりウザイ。
死文は悪意がなく他人に噛み付かないが、
最近政治を覚えたてのヲタクは短絡的で攻撃的
たまに現実にもいるから、目を合わせないようにしてる。
死文は悪意がなく他人に噛み付かないが、
最近政治を覚えたてのヲタクは短絡的で攻撃的
たまに現実にもいるから、目を合わせないようにしてる。
182デフォルトの名無しさん
2023/07/09(日) 17:51:08.06ID:zE87G4i1 レヲナールはキータで社内政治の練習をしてる。
だから大量にレスつける。
社内政治など百戦錬磨の体育会系には勝ち目がないからやめておけw
だから大量にレスつける。
社内政治など百戦錬磨の体育会系には勝ち目がないからやめておけw
183デフォルトの名無しさん
2023/07/10(月) 19:10:21.43ID:YWaF0T+M ID:zE87G4i1はキチガイの自覚あるんだろうか?
自覚があるなら仕方がないが自覚がないなら自覚したほうが良いよな。
自覚があるなら仕方がないが自覚がないなら自覚したほうが良いよな。
184デフォルトの名無しさん
2023/07/11(火) 23:52:37.58ID:7w8XifD4 AIに掛け算をさせてみよう
5x5=は正解できたが、438890x819471=は不正解である
なぜならAIは○○を□□しておらず、人間が△△を☆☆しているにすぎないのである
5x5=は正解できたが、438890x819471=は不正解である
なぜならAIは○○を□□しておらず、人間が△△を☆☆しているにすぎないのである
185デフォルトの名無しさん
2023/07/13(木) 04:12:18.63ID:CZaZatOK 意味不明
186デフォルトの名無しさん
2023/07/14(金) 16:09:54.65ID:4ovVI8a0 chmateでテスト
187デフォルトの名無しさん
2023/07/15(土) 11:01:20.20ID:cu5aVWd1 RISC-Vベクタ拡張を用いたCORDICアルゴリズムによる三角関数の実装
https://qiita.com/zacky1972/items/e3ec1e57168e685e2893
glibc等で提供される三角関数と性能比較してないの意味わからんw
手段が目的になってるよなあ。
> 提案手法の定数項が想定よりかなり大きいのは,最適化オプションを
> 指定していないためです.最適化オプションを指定しなかった理由は,
> 現状の実装では最適化オプションを指定すると不具合を生じるためです.
> この原因は,アセンブリコードの生成にGCCのインラインアセンブラ
> 機能を使用したのですが,おそらく申告すべき使用レジスタの指定を
> 誤っているためではないかと考えられます.
無能っぽくて草w
https://qiita.com/zacky1972/items/e3ec1e57168e685e2893
glibc等で提供される三角関数と性能比較してないの意味わからんw
手段が目的になってるよなあ。
> 提案手法の定数項が想定よりかなり大きいのは,最適化オプションを
> 指定していないためです.最適化オプションを指定しなかった理由は,
> 現状の実装では最適化オプションを指定すると不具合を生じるためです.
> この原因は,アセンブリコードの生成にGCCのインラインアセンブラ
> 機能を使用したのですが,おそらく申告すべき使用レジスタの指定を
> 誤っているためではないかと考えられます.
無能っぽくて草w
188デフォルトの名無しさん
2023/07/15(土) 12:56:57.26ID:ftXHcWzt >>187
意味わからんといって性能比較を押し付けるな
やりたいなら自分でやればいいんじゃない?
タイトルからして意味わからん
意味わからん記事を読むべきでない
頭が混乱して性能比較を押し付け誹謗中傷もしてしまっている
意味わからんといって性能比較を押し付けるな
やりたいなら自分でやればいいんじゃない?
タイトルからして意味わからん
意味わからん記事を読むべきでない
頭が混乱して性能比較を押し付け誹謗中傷もしてしまっている
189デフォルトの名無しさん
2023/07/15(土) 13:42:45.20ID:cu5aVWd1 >>188
> 性能比較を押し付けるな
記事書いた当人が性能比較してるけど何言ってんの??
> ベクトルサイズと実行命令数の相関関係と相関係数は次のようになりました.
> * 提案手法(固定小数点数表記のRVVハンドコーディング実装): 36.932n + 406.53, 0.9611
> * 固定小数点数表記のC実装,GCC 12.2 (`-O2`): 349.35n + 31.996, 1
> * 固定小数点数表記のC実装,Clang 16.3.2 (Auto-vectorization): 175.16n + 52.681, 0.9887
> 性能比較を押し付けるな
記事書いた当人が性能比較してるけど何言ってんの??
> ベクトルサイズと実行命令数の相関関係と相関係数は次のようになりました.
> * 提案手法(固定小数点数表記のRVVハンドコーディング実装): 36.932n + 406.53, 0.9611
> * 固定小数点数表記のC実装,GCC 12.2 (`-O2`): 349.35n + 31.996, 1
> * 固定小数点数表記のC実装,Clang 16.3.2 (Auto-vectorization): 175.16n + 52.681, 0.9887
190デフォルトの名無しさん
2023/07/15(土) 14:02:39.96ID:ftXHcWzt >>189
glibc等で提供される三角関数と性能比較してないの意味わからんw
↓
glibc等で提供される三角関数と性能比較するなら意味わかる
↓
glibc等で提供される三角関数と性能比較しろ
↓
性能比較を押し付けてる
と思ったんだが何が違うんだい?
glibc等で提供される三角関数と性能比較してないの意味わからんw
↓
glibc等で提供される三角関数と性能比較するなら意味わかる
↓
glibc等で提供される三角関数と性能比較しろ
↓
性能比較を押し付けてる
と思ったんだが何が違うんだい?
191デフォルトの名無しさん
2023/07/15(土) 14:16:46.67ID:cu5aVWd1192デフォルトの名無しさん
2023/07/15(土) 14:44:06.82ID:cu5aVWd1 > タイトルからして意味わからん
> 意味わからん記事を読むべきでない
> 頭が混乱して性能比較を押し付け誹謗中傷もしてしまっている
自他の区別がつかない人かな
> 意味わからん記事を読むべきでない
> 頭が混乱して性能比較を押し付け誹謗中傷もしてしまっている
自他の区別がつかない人かな
193デフォルトの名無しさん
2023/07/16(日) 14:44:35.54ID:XISJjZ62 https://qiita.com/zacky1972/items/e3ec1e57168e685e2893/likers
全員福岡Elixirコミュだけど記事の内容読んで理解していいねつけてる気がしない
全員福岡Elixirコミュだけど記事の内容読んで理解していいねつけてる気がしない
194デフォルトの名無しさん
2023/07/16(日) 16:31:39.57ID:xE1/bf3K Facebookでも上司の意味わからん投稿にいいねつけるだろ
それと一緒
それと一緒
195デフォルトの名無しさん
2023/07/16(日) 18:25:53.17ID:KYJNnrdW これだけ短期間に複数の改善提案される程度の記事にいいねつけなきゃならん部下も大変だなw >福岡Elixirコミュ
つか情報処理学会で発表ってマジか。マサカリハンパじゃないと思うが。
つか情報処理学会で発表ってマジか。マサカリハンパじゃないと思うが。
196デフォルトの名無しさん
2023/07/17(月) 03:08:55.58ID:rXtg1WuQ >>194
いや、組織でいいねを付けるのはQiitaのどの記事でも一緒
いや、組織でいいねを付けるのはQiitaのどの記事でも一緒
197デフォルトの名無しさん
2023/07/17(月) 05:00:22.37ID:78hBZFZV 実際は経営企画なのに、ショッピングセンター勤務者という記事
超高速の肉まんbunがnodeの5倍denoの2倍早いらしいんだがマジか
超高速の肉まんbunがnodeの5倍denoの2倍早いらしいんだがマジか
198デフォルトの名無しさん
2023/07/17(月) 08:54:04.75ID:hEn8qU6L >>197
「ノーコード」だってさ
「ノーコード」だってさ
199デフォルトの名無しさん
2023/07/17(月) 21:03:43.84ID:8bW5lzxO h ttps://qiita.com/zacky1972/items/eabbcae5af04e24c2cc0#comment-0264e1d4f5877205726a
> なお、当方はRISC-Vの知識は持ち合わせておらず動作環境も手近にないのでこのコメント冒頭で言っているa5が使用されたコードが正しくないかは確認しておりません。
> 同様に、このコメントでの修正内容が正しいかは不明なので参考にされる方はご慎重に願います。
予防線張るのダッセエ
> なお、当方はRISC-Vの知識は持ち合わせておらず動作環境も手近にないのでこのコメント冒頭で言っているa5が使用されたコードが正しくないかは確認しておりません。
> 同様に、このコメントでの修正内容が正しいかは不明なので参考にされる方はご慎重に願います。
予防線張るのダッセエ
200デフォルトの名無しさん
2023/07/17(月) 21:25:24.50ID:QgZem17P 知識ないのに突っかかるって凄いなw
働いたことないんだろうか
働いたことないんだろうか
201デフォルトの名無しさん
2023/07/18(火) 00:14:30.93ID:Mksqy4Tz 准教授
RISC-Vベクタ拡張を用いたCORDICアルゴリズムによる三角関数の実装
https://qiita.com/zacky1972/items/e3ec1e57168e685e2893
> 提案手法の定数項が想定よりかなり大きいのは,最適化オプションを指定していないためです.
> 最適化オプションを指定しなかった理由は,現状の実装では最適化オプションを指定すると
> 不具合を生じるためです.この原因は,アセンブリコードの生成にGCCのインラインアセン
> ブラ機能を使用したのですが,おそらく申告すべき使用レジスタの指定を誤っているためでは
> ないかと考えられます.
に直球のツッコミ入ったわけだけどどうすんのかな?
学生さんに教える立場であれば自分の考えに固執するんじゃなくて何が正しい正しくないで語ってほしいところではあるかな
RISC-Vベクタ拡張を用いたCORDICアルゴリズムによる三角関数の実装
https://qiita.com/zacky1972/items/e3ec1e57168e685e2893
> 提案手法の定数項が想定よりかなり大きいのは,最適化オプションを指定していないためです.
> 最適化オプションを指定しなかった理由は,現状の実装では最適化オプションを指定すると
> 不具合を生じるためです.この原因は,アセンブリコードの生成にGCCのインラインアセン
> ブラ機能を使用したのですが,おそらく申告すべき使用レジスタの指定を誤っているためでは
> ないかと考えられます.
に直球のツッコミ入ったわけだけどどうすんのかな?
学生さんに教える立場であれば自分の考えに固執するんじゃなくて何が正しい正しくないで語ってほしいところではあるかな
202デフォルトの名無しさん
2023/07/18(火) 01:07:09.70ID:lNNKmJNL というかこのレベルで科研費貰えるんだね
203デフォルトの名無しさん
2023/07/18(火) 19:51:13.13ID:ddyb++Ww > 本研究はJSPS科研費 22K04657の助成を受けたものである.
これかな
MPSoCとSAR衛星によるリアルタイム土砂災害情報提供システムの実現可能性検証
https://kaken.nii.ac.jp/ja/grant/KAKENHI-PROJECT-22K04657/
https://researchmap.jp/zacky1972/research_projects/40967862
これかな
MPSoCとSAR衛星によるリアルタイム土砂災害情報提供システムの実現可能性検証
https://kaken.nii.ac.jp/ja/grant/KAKENHI-PROJECT-22K04657/
https://researchmap.jp/zacky1972/research_projects/40967862
204デフォルトの名無しさん
2023/07/18(火) 23:22:11.86ID:ddyb++Ww https://qiita.com/zacky1972/items/eabbcae5af04e24c2cc0#comment-274dfdc78a0388e2b28b
> 要素数を左2ビットシフトしてアドレスレジスタに加算されてますが3ビットシフトして8倍にするのが適当なのではないかと思うのですが
指摘がその通りだとすると動作確認しないで記事書いてた可能性も出てくるのかな
https://qiita.com/zacky1972/items/eabbcae5af04e24c2cc0
> "vsetvli t0, t1, e64, m8\n\t"
> "slli t0, t0, 2\n\t"
> "add %[v], %[v], t0\n\t"
でも同じことしてるみたいだけど准教授ダンマリになっちゃったけど折角記事読んでいいねつけてくれた福岡Elixirコミュのみんなのためにも責任もって回答して欲しいよね
> 要素数を左2ビットシフトしてアドレスレジスタに加算されてますが3ビットシフトして8倍にするのが適当なのではないかと思うのですが
指摘がその通りだとすると動作確認しないで記事書いてた可能性も出てくるのかな
https://qiita.com/zacky1972/items/eabbcae5af04e24c2cc0
> "vsetvli t0, t1, e64, m8\n\t"
> "slli t0, t0, 2\n\t"
> "add %[v], %[v], t0\n\t"
でも同じことしてるみたいだけど准教授ダンマリになっちゃったけど折角記事読んでいいねつけてくれた福岡Elixirコミュのみんなのためにも責任もって回答して欲しいよね
205デフォルトの名無しさん
2023/07/19(水) 23:06:58.07ID:55fzqRuF SAR衛星によるリアルタイム土砂災害情報提供システムの実現に向けた衛星画像の分散並列処理の実現
https://researchmap.jp/zacky1972/misc/40467660
ダウンロードして読んだけどPythonより遅いElixirって意味あんのかよw
やっぱこの人手段が目的化してるわ。
https://researchmap.jp/zacky1972/misc/40467660
ダウンロードして読んだけどPythonより遅いElixirって意味あんのかよw
やっぱこの人手段が目的化してるわ。
206デフォルトの名無しさん
2023/07/19(水) 23:34:30.52ID:kNuJR26J207デフォルトの名無しさん
2023/07/20(木) 00:35:39.00ID:UoPVdDeD 任天堂が何らかの用途にElixirを使っている(いた)というのと、
准教授が画像処理にElixir選んでクソ遅いPythonより性能出せなかったというのは
実は大して関係がある話ではない。
准教授が画像処理にElixir選んでクソ遅いPythonより性能出せなかったというのは
実は大して関係がある話ではない。
208デフォルトの名無しさん
2023/07/20(木) 22:01:20.27ID:0SE6zv+i CORDICアルゴリズムに必要なarctan(2^{-i})のテーブルを整数演算で作成する
https://qiita.com/zacky1972/items/b62baa0d74221ad51fb8
Elixirで?こういうことやる意味がわからんのだけど
https://qiita.com/zacky1972/items/e3ec1e57168e685e2893#comment-a2ae5fca7ed289b8d732
への対抗心かな?ひとっことも触れてはいないけども。
次に平方根の記事投稿したらオモロいのにw
https://qiita.com/zacky1972/items/b62baa0d74221ad51fb8
Elixirで?こういうことやる意味がわからんのだけど
https://qiita.com/zacky1972/items/e3ec1e57168e685e2893#comment-a2ae5fca7ed289b8d732
への対抗心かな?ひとっことも触れてはいないけども。
次に平方根の記事投稿したらオモロいのにw
209デフォルトの名無しさん
2023/07/22(土) 22:44:05.02ID:2jjNAwT1 今ほぼコードレビュー専になってる私が、リーダブルなコードを書くうえで意識してほしいと考えている順番
https://qiita.com/kawagashira/items/a0d2ef9bc058dacc03d3
沢山いいねついてる記事だけど
> public function changeHeightByAbsoluteMeter($value) {
> $this->height = $value;
> }
AbsoluteMeterや$valueに誰も疑問持たないのかな。
https://qiita.com/kawagashira/items/a0d2ef9bc058dacc03d3
沢山いいねついてる記事だけど
> public function changeHeightByAbsoluteMeter($value) {
> $this->height = $value;
> }
AbsoluteMeterや$valueに誰も疑問持たないのかな。
210デフォルトの名無しさん
2023/07/23(日) 04:34:12.13ID:cMMY3e8H 絶対値で高さを変えるか相対値で高さを変えるかで意味ある
valueは「日本人は何故英語が出来ないのか」に誰も疑問持たないのと同じ
valueは「日本人は何故英語が出来ないのか」に誰も疑問持たないのと同じ
211デフォルトの名無しさん
2023/07/23(日) 13:06:54.90ID:2fSUkmWu valueになってる理由は記事にもちゃんと書いてるだろうが
> 引数を丁寧に命名するなら $absoluteValue になるが、スコープの短さを考えると省略しても自然
> 引数を丁寧に命名するなら $absoluteValue になるが、スコープの短さを考えると省略しても自然
212デフォルトの名無しさん
2023/07/23(日) 13:14:12.17ID:UQ8GpMFP213デフォルトの名無しさん
2023/07/23(日) 13:48:36.00ID:2fSUkmWu214デフォルトの名無しさん
2023/07/23(日) 14:06:16.50ID:UQ8GpMFP >>213
記事の読み方の違いだが記事の
> 「変に削るより、長くてもいいから正確な命名を」という言説をしばしば見るように感じますし、私も同意
は「無駄な単語は捨てる」の逆だと思った
リーダブルコードは短いほうがいいで記事は長くてもいい
日本人は英語ができないから正確に削れないということだろう
記事の読み方の違いだが記事の
> 「変に削るより、長くてもいいから正確な命名を」という言説をしばしば見るように感じますし、私も同意
は「無駄な単語は捨てる」の逆だと思った
リーダブルコードは短いほうがいいで記事は長くてもいい
日本人は英語ができないから正確に削れないということだろう
215デフォルトの名無しさん
2023/07/23(日) 16:57:38.73ID:Ljmpzq1Q216デフォルトの名無しさん
2023/07/23(日) 20:38:42.33ID:KrEjITHo > 今ほぼコードレビュー専になってる私が、リーダブルなコードを書くうえで意識してほしいと考えている順番
ハンパな知識のオッサンが若い人のコードに思いつきでダメ出ししてる光景が目に浮かぶんだけど。
ハンパな知識のオッサンが若い人のコードに思いつきでダメ出ししてる光景が目に浮かぶんだけど。
217デフォルトの名無しさん
2023/07/23(日) 21:02:45.58ID:lN+Odn9h 今回のは結論ありきのお題だから突っ込むのは野暮かもしれんが
>>215に完全同意。この場合get/setのほうが百倍マシ。
メソッド名がシンプルで、メソッドの内容がシンプルで、メソッド間の直行性が高い。
$myCar->changeHeightByRelativeMeter(1); ←きがくるっとる
$myCar->changeHeightByRelativeMeter(0.2); ←きがくるっとる
$myCar->setHeight(1); ←きがくるってない
$myCar->setHeight($myCar->getHeight() + 0.2) ←きがくるってない
説明的な変数名、メソッド名をつけなきゃいけないのは
散らかったウンコを片付けずに消臭剤いっぱい振りかけるのと同じ
>>215に完全同意。この場合get/setのほうが百倍マシ。
メソッド名がシンプルで、メソッドの内容がシンプルで、メソッド間の直行性が高い。
$myCar->changeHeightByRelativeMeter(1); ←きがくるっとる
$myCar->changeHeightByRelativeMeter(0.2); ←きがくるっとる
$myCar->setHeight(1); ←きがくるってない
$myCar->setHeight($myCar->getHeight() + 0.2) ←きがくるってない
説明的な変数名、メソッド名をつけなきゃいけないのは
散らかったウンコを片付けずに消臭剤いっぱい振りかけるのと同じ
218デフォルトの名無しさん
2023/07/23(日) 21:41:55.47ID:x6Y2rIay 確かにsetHeight, addHeightのほうがいいな
219デフォルトの名無しさん
2023/07/23(日) 22:22:44.58ID:2fSUkmWu >>215
絶対値相対値とか言われてもピンとこないよね普通は
絶対値相対値とか言われてもピンとこないよね普通は
220デフォルトの名無しさん
2023/07/24(月) 13:45:58.84ID:6+/dyhSU そもそも高さって何なん?
車高のこと?
なんで車高を変えんの?
車高のこと?
なんで車高を変えんの?
221デフォルトの名無しさん
2023/07/24(月) 15:07:41.98ID:4CElhr6b シャコタンは文化だから理解しない人もいるかもね
222デフォルトの名無しさん
2023/07/24(月) 15:39:05.61ID:6QZoLF36 ま、ユーザーがロードカーの車高を下げても良いことは何もないんだけどね
カッコいいと感じる感性の持ち主の部族のことは知らん
カッコいいと感じる感性の持ち主の部族のことは知らん
223デフォルトの名無しさん
2023/07/24(月) 21:51:54.02ID:ntDhAqp5 2つの封筒問題(封筒のパラドックス)
https://qiita.com/SaitoTsutomu/items/3079a88163153abf2ac2
数学っぽいこと書いてる雰囲気なデタラメ記事。
> ※ 本記事へのコメントはしないでください。コメントがあった場合、すべて削除依頼します。
書いた本人にも自覚はあるんだろうな。
https://qiita.com/SaitoTsutomu/items/3079a88163153abf2ac2
数学っぽいこと書いてる雰囲気なデタラメ記事。
> ※ 本記事へのコメントはしないでください。コメントがあった場合、すべて削除依頼します。
書いた本人にも自覚はあるんだろうな。
224デフォルトの名無しさん
2023/07/25(火) 05:43:25.14ID:09XXQ3/E >>223
2つの封筒問題(金額仮定版)の答えが「分からない」が真だとして、
なんで2つの封筒問題(未開封版)の答えが「変わらない」なのかが分からない。
金額仮定版は2つの事象が1/2で発生するか分からないから、という説明なのに対し
未開封版は2つの事象が1/2で発生することを前提にしているの?
2つの封筒問題(金額仮定版)の答えが「分からない」が真だとして、
なんで2つの封筒問題(未開封版)の答えが「変わらない」なのかが分からない。
金額仮定版は2つの事象が1/2で発生するか分からないから、という説明なのに対し
未開封版は2つの事象が1/2で発生することを前提にしているの?
225デフォルトの名無しさん
2023/07/25(火) 06:41:00.76ID:/3oiUHuE 数学っぽいとかなんで2つの封筒問題(未開封版)の答えが「変わらない」なのかが分からないとか
記事を開く気がしない
記事を開く気がしない
226デフォルトの名無しさん
2023/07/25(火) 06:42:02.53ID:/3oiUHuE なんで人はわからないものや数学っぽいものに惹かれるのか
227デフォルトの名無しさん
2023/07/26(水) 20:16:12.52ID:wSHYoxMZ わからないものはわからない
228デフォルトの名無しさん
2023/07/26(水) 21:41:05.02ID:1fb/10Y2 【検証してみた】株式会社ゆめみは、Organization対抗戦で不正をしているのか?
https://qiita.com/Yametaro/items/3988455d103d2408ea77
組織票は現状ルール違反ではないことを前提として書いてるんだろうけど
トレンドが全く役に立たなくなったし迷惑行為であることは認識して欲しいもんだわ。
https://qiita.com/Yametaro/items/3988455d103d2408ea77
組織票は現状ルール違反ではないことを前提として書いてるんだろうけど
トレンドが全く役に立たなくなったし迷惑行為であることは認識して欲しいもんだわ。
229デフォルトの名無しさん
2023/07/26(水) 21:47:14.30ID:lkScsrJu いやいやそもそも御本尊のキー太がね
検索結果のど真ん中に野糞置く教えだから
検索結果のど真ん中に野糞置く教えだから
230デフォルトの名無しさん
2023/07/26(水) 21:47:30.02ID:jPIzcFjy 詳しく読んでないけど、ベイズ推定にそんな説明あったね
231デフォルトの名無しさん
2023/07/27(木) 09:48:07.83ID:B9bn33s7232デフォルトの名無しさん
2023/07/27(木) 09:51:23.51ID:B9bn33s7233デフォルトの名無しさん
2023/07/27(木) 11:58:29.93ID:FdKMOCta QiitaはSEOに強かったからネットユーザーに認知されて参加するも
いいねが付かないことに悩み
オーガニゼーション(組織票)の存在に気づくのは1年以上後だろう
気づいたら参加モチベーションが下がる
不公平だからな
ほとんどのネットユーザーに認知され新規参加者がいなくなり組織に属さない人のモチベーションが下がったままで
全く上げようとしないのは問題かな
今後も組織参加者を増やすのかな
いいねが付かないことに悩み
オーガニゼーション(組織票)の存在に気づくのは1年以上後だろう
気づいたら参加モチベーションが下がる
不公平だからな
ほとんどのネットユーザーに認知され新規参加者がいなくなり組織に属さない人のモチベーションが下がったままで
全く上げようとしないのは問題かな
今後も組織参加者を増やすのかな
234デフォルトの名無しさん
2023/07/27(木) 12:25:26.22ID:ORsGKxw3 スクール系組織票も野放し?
235デフォルトの名無しさん
2023/07/27(木) 17:43:34.41ID:+lXodmcm ゆめみでゴミ記事書くやつは、片っ端からミュートしてるわ
236デフォルトの名無しさん
2023/07/28(金) 10:49:42.57ID:Zgvcm9f5 >>233
advent calendar ってなんなん?
advent calendar ってなんなん?
237デフォルトの名無しさん
2023/07/28(金) 12:20:44.76ID:9v9DJg3O >>205
今読んだけどこれほんま草
今読んだけどこれほんま草
238デフォルトの名無しさん
2023/08/03(木) 08:01:34.37ID:tyCIsm4X な
239デフォルトの名無しさん
2023/08/03(木) 19:59:51.90ID:JeF/zddW CとC++って低水準言語なの?
https://qiita.com/takeyoshinitta/items/a646a80f170e31a8c075
Cは低水準言語であるという与太話を広めたい人の記事。
自分はそうは思わないと断りを入れつつ自説に都合の良い記事探してきて
主張するモチベーションはどこから来るのだろう?
https://qiita.com/takeyoshinitta/items/a646a80f170e31a8c075
Cは低水準言語であるという与太話を広めたい人の記事。
自分はそうは思わないと断りを入れつつ自説に都合の良い記事探してきて
主張するモチベーションはどこから来るのだろう?
240デフォルトの名無しさん
2023/08/03(木) 20:28:59.91ID:8npqW66R インラインアセンブラが可能なC/C++/Rustは低水準記述が可能な言語
241デフォルトの名無しさん
2023/08/03(木) 21:01:12.75ID:MT8wuS4o >>239
「犬が人を噛んでもニュースにならないが、人が犬を噛んだらニュースになる」が基本
Cは低水準言語でないという論文なら論文にならないが、Cは低水準言語であるという論文なら論文になる
Cは低水準言語でないというだけなら主張するモチベーションが起きないが、Cは低水準言語であるというなら主張するモチベーションが起きる
「犬が人を噛んでもニュースにならないが、人が犬を噛んだらニュースになる」が基本
Cは低水準言語でないという論文なら論文にならないが、Cは低水準言語であるという論文なら論文になる
Cは低水準言語でないというだけなら主張するモチベーションが起きないが、Cは低水準言語であるというなら主張するモチベーションが起きる
242デフォルトの名無しさん
2023/08/04(金) 00:34:27.45ID:AtJZBxCM んちゃ
243デフォルトの名無しさん
2023/08/04(金) 09:05:52.31ID:XLfSEGlw そもそも低水準は誤訳
低レイヤと考える方がしっくりくる
低レイヤと考える方がしっくりくる
244デフォルトの名無しさん
2023/08/04(金) 21:08:44.67ID:zB3gh1Xb >>239
消えてるが
消えてるが
245デフォルトの名無しさん
2023/08/04(金) 22:33:31.82ID:kIOCwZVw https://megalodon.jp/2023-0804-1704-11/https://qiita.com:443/takeyoshinitta/items/a646a80f170e31a8c075
> 私としてはこのムーブメントが拡大されCが段々と当たり前のように低水準として
> 扱われていることついて例をいくつか紹介し将来的にどうなるのかを含め議論を
> したいと思って投稿したつもりでCが低水準か高水準についてしっかりと議論
> したかったわけではないのですが、このような投稿は初めてでしたので、うまく
> 伝えることができなかったのだと反省しております。
> 私の投稿に対しての誤解を閲覧者が生んでしまうのは申し訳ないのですが、急に
> 投稿を削除してしまうのもこれまでコメントされた方に失礼だと思いますので、
> しばらく時間をおいてから本日中に投稿は削除させていただきます。
うまく伝わらなかったのなら議論重ねりゃいいだけだし削除する言い訳にもなってない罠。
要は旗色悪いから逃げたんだろう。
> 私としてはこのムーブメントが拡大されCが段々と当たり前のように低水準として
> 扱われていることついて例をいくつか紹介し将来的にどうなるのかを含め議論を
> したいと思って投稿したつもりでCが低水準か高水準についてしっかりと議論
> したかったわけではないのですが、このような投稿は初めてでしたので、うまく
> 伝えることができなかったのだと反省しております。
> 私の投稿に対しての誤解を閲覧者が生んでしまうのは申し訳ないのですが、急に
> 投稿を削除してしまうのもこれまでコメントされた方に失礼だと思いますので、
> しばらく時間をおいてから本日中に投稿は削除させていただきます。
うまく伝わらなかったのなら議論重ねりゃいいだけだし削除する言い訳にもなってない罠。
要は旗色悪いから逃げたんだろう。
246デフォルトの名無しさん
2023/08/04(金) 22:34:10.96ID:vnzxSr9F 消えてるからなんだよ
webアーカイブでも探せばいいだろ
webアーカイブでも探せばいいだろ
247デフォルトの名無しさん
2023/08/04(金) 22:38:44.38ID:kIOCwZVw しっかしコメントしてきた相手に対して長いコメント返してるなあ、例外なく。
負けん気の強さは人一倍だが本人の知識や能力が追い付いてない感じw
負けん気の強さは人一倍だが本人の知識や能力が追い付いてない感じw
248デフォルトの名無しさん
2023/08/05(土) 07:04:06.19ID:GPQId3vN このスレに貼り付けた人もそうだが削除させる意図があるように見える
削除させなくてもいいんじゃない?
もしかしたら削除させる意図がないと言うかもしれないが
もしそうなら言い方を気をつけるべきだね
削除させる意図があるように見えるから
削除させなくてもいいんじゃない?
もしかしたら削除させる意図がないと言うかもしれないが
もしそうなら言い方を気をつけるべきだね
削除させる意図があるように見えるから
249デフォルトの名無しさん
2023/08/05(土) 07:26:06.29ID:MfBtPlYk250デフォルトの名無しさん
2023/08/05(土) 07:26:57.96ID:nczC8/3G >>246
Zuishinいいこと言うなー
Zuishinいいこと言うなー
251デフォルトの名無しさん
2023/08/05(土) 10:09:31.04ID:BuM8hDNP 削除は本人の判断だけど
> それにしてもCが低水準言語であると思っている人の数が圧倒的に多くそのような記事が当たり前のようにあるので驚いたところです。
とまで書いてた本人が記事を削除する意図が分からんのよね。
> それにしてもCが低水準言語であると思っている人の数が圧倒的に多くそのような記事が当たり前のようにあるので驚いたところです。
とまで書いてた本人が記事を削除する意図が分からんのよね。
252デフォルトの名無しさん
2023/08/05(土) 13:04:09.35ID:G0xPWQV0 低水準の意味を間違って捉えてるんだろ
ハッカーと同じ
ハッカーと同じ
253デフォルトの名無しさん
2023/08/08(火) 19:36:07.20ID:bRo0TWoK C言語における「bool型へのキャスト」が無限の(悪用)可能性を秘めている理由
https://webcache.googleusercontent.com/search?q=cache:ED5C8TAFrNYJ:https://qiita.com/wantun/items/4574049283e1cd7d50cf
程度低い記事だなあ、これはツッコまれるの不可避だわと思っていたら消えていた。
https://webcache.googleusercontent.com/search?q=cache:ED5C8TAFrNYJ:https://qiita.com/wantun/items/4574049283e1cd7d50cf
程度低い記事だなあ、これはツッコまれるの不可避だわと思っていたら消えていた。
254デフォルトの名無しさん
2023/08/08(火) 19:38:50.29ID:bRo0TWoK 「いいね」も付いてたし指摘された誤りは修正すれば消さんでも良かったんじゃないのとは思う。
己に対して完璧以外許さない性格かな。
己に対して完璧以外許さない性格かな。
255デフォルトの名無しさん
2023/08/10(木) 10:14:42.42ID:P5HupFIS 誤り以前にboolに変換して掛け算するのはどうなのよ
256デフォルトの名無しさん
2023/08/10(木) 10:17:08.67ID:P5HupFIS C言語ならまだギリギリ許されることもあるけどセマンティクス的に汚いし他の言語だとNGだから積極的に学ぶ方法でもない
読みにくくなるだけでなくコーディング量もそれほど変わらない上に速度すら落ちてるから
読みにくくなるだけでなくコーディング量もそれほど変わらない上に速度すら落ちてるから
257デフォルトの名無しさん
2023/08/10(木) 10:19:04.97ID:P5HupFIS あとデータが1と0に限定されるから拡張性にも欠ける
後で2を使いたくなった時に全コード見直す必要が出てくる
後で2を使いたくなった時に全コード見直す必要が出てくる
258デフォルトの名無しさん
2023/08/10(木) 14:12:42.71ID:UgpRJI2F キャスト使えばこういう悪事もできるよ(良い子は真似しないでね)という記事なんだから、掛け算以外の指摘に関しては論点ではない
259デフォルトの名無しさん
2023/08/10(木) 14:15:03.93ID:4HGAEGv7 C言語だと別に悪事というほどではない
ひたすら汚いだけ
ひたすら汚いだけ
260デフォルトの名無しさん
2023/08/10(木) 16:12:44.88ID:RFVZcdoC >>253
考え自体は正しい
条件分岐はパイプラインを乱す
条件分岐とならないコードが生成されることが望ましい
しかし多くのケースではコンパイラのコード生成に任せることができる
今回のケースならばif文のままでも条件ムーブ(CMOVcc)命令などが生成され条件分岐とならないだろう
ソースコードの可読性からもif文のままが好ましい
ただしもっと複雑なケースで複数の条件分岐をなくして演算のみにできる場合もある
そしてコンパイラ任せではそのようなコード生成が無理な場合もある
その場合はベンチ測定比較すれば有意な差が出るためそれは正しい判断となる
考え自体は正しい
条件分岐はパイプラインを乱す
条件分岐とならないコードが生成されることが望ましい
しかし多くのケースではコンパイラのコード生成に任せることができる
今回のケースならばif文のままでも条件ムーブ(CMOVcc)命令などが生成され条件分岐とならないだろう
ソースコードの可読性からもif文のままが好ましい
ただしもっと複雑なケースで複数の条件分岐をなくして演算のみにできる場合もある
そしてコンパイラ任せではそのようなコード生成が無理な場合もある
その場合はベンチ測定比較すれば有意な差が出るためそれは正しい判断となる
261デフォルトの名無しさん
2023/08/10(木) 19:42:46.48ID:c2H9n5TK > しかし多くのケースではコンパイラのコード生成に任せることができる
> 今回のケースならばif文のままでも条件ムーブ(CMOVcc)命令などが生成され条件分岐とならないだろう
> ソースコードの可読性からもif文のままが好ましい
なにやら知ったようなことを言ってるので検証してみるとするか。
> 今回のケースならばif文のままでも条件ムーブ(CMOVcc)命令などが生成され条件分岐とならないだろう
> ソースコードの可読性からもif文のままが好ましい
なにやら知ったようなことを言ってるので検証してみるとするか。
262デフォルトの名無しさん
2023/08/10(木) 19:43:13.35ID:c2H9n5TK void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
if (num[i] == deleteNum) { //deleteNumで指定した要素を0にする
num[i] = 0;
}
}
}
gcc 13.2 最適化オプション-O2でコンパイル
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
leaq (%rsi,%rdi,4), %rax
.L4:
cmpl %edx, (%rsi)
jne .L3
movl $0, (%rsi)
.L3:
addq $4, %rsi
cmpq %rax, %rsi
jne .L4
.L1:
ret
https://godbolt.org/z/noxvcGbff
条件分岐するじゃんw
{
for (int i = 0; i < n; i++) {
if (num[i] == deleteNum) { //deleteNumで指定した要素を0にする
num[i] = 0;
}
}
}
gcc 13.2 最適化オプション-O2でコンパイル
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
leaq (%rsi,%rdi,4), %rax
.L4:
cmpl %edx, (%rsi)
jne .L3
movl $0, (%rsi)
.L3:
addq $4, %rsi
cmpq %rax, %rsi
jne .L4
.L1:
ret
https://godbolt.org/z/noxvcGbff
条件分岐するじゃんw
263デフォルトの名無しさん
2023/08/10(木) 19:46:00.32ID:c2H9n5TK 記事の計算による方法
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
for (int i = 0; i < 6; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
}
hoge: xorl %r11d, %r11d
leaq 24(%rsi), %r10
xorl %r9d, %r9d
testl %edi, %edi
jle .L9
.L2: movq %rsi, %rax
.L4: movl (%rax), %ecx
movl %r9d, %r8d
cmpl %edx, %ecx
cmove %edx, %r8d
addq $4, %rax
subl %r8d, %ecx
movl %ecx, -4(%rax)
cmpq %r10, %rax
jne .L4
addl $1, %r11d
cmpl %r11d, %edi
jne .L2
ret
.L9: ret
https://godbolt.org/z/do55an9P9
cmov命令吐いてる
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
for (int i = 0; i < 6; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
}
hoge: xorl %r11d, %r11d
leaq 24(%rsi), %r10
xorl %r9d, %r9d
testl %edi, %edi
jle .L9
.L2: movq %rsi, %rax
.L4: movl (%rax), %ecx
movl %r9d, %r8d
cmpl %edx, %ecx
cmove %edx, %r8d
addq $4, %rax
subl %r8d, %ecx
movl %ecx, -4(%rax)
cmpq %r10, %rax
jne .L4
addl $1, %r11d
cmpl %r11d, %edi
jne .L2
ret
.L9: ret
https://godbolt.org/z/do55an9P9
cmov命令吐いてる
264デフォルトの名無しさん
2023/08/10(木) 19:47:40.53ID:c2H9n5TK ちなみに計算による方法でもこう書くと2行短くなった
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
for (int i = 0; i < 6; i++) {
num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
}
}
}
hoge: xorl %r10d, %r10d
leaq 24(%rsi), %r9
xorl %r8d, %r8d
testl %edi, %edi
jle .L9
.L2: movq %rsi, %rax
.L4: movl (%rax), %ecx
cmpl %edx, %ecx
cmove %r8d, %ecx
addq $4, %rax
movl %ecx, -4(%rax)
cmpq %r9, %rax
jne .L4
addl $1, %r10d
cmpl %r10d, %edi
jne .L2
ret
.L9: ret
https://godbolt.org/z/ro1qj98MG
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
for (int i = 0; i < 6; i++) {
num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
}
}
}
hoge: xorl %r10d, %r10d
leaq 24(%rsi), %r9
xorl %r8d, %r8d
testl %edi, %edi
jle .L9
.L2: movq %rsi, %rax
.L4: movl (%rax), %ecx
cmpl %edx, %ecx
cmove %r8d, %ecx
addq $4, %rax
movl %ecx, -4(%rax)
cmpq %r9, %rax
jne .L4
addl $1, %r10d
cmpl %r10d, %edi
jne .L2
ret
.L9: ret
https://godbolt.org/z/ro1qj98MG
265デフォルトの名無しさん
2023/08/10(木) 19:51:41.79ID:UyoKACkM したがって>>253の記事は全面的に正しい
bool値を数値演算として使うことを積極的に推奨する
bool値を数値演算として使うことを積極的に推奨する
266デフォルトの名無しさん
2023/08/10(木) 19:57:21.15ID:c2H9n5TK267デフォルトの名無しさん
2023/08/10(木) 20:01:44.72ID:s1ImWQTP >>256
数学に出てくるクロネッカーのデルタみたいなもので汚くはないし、型に厳しい言語でなければ他の言語でも使えるだろ。
数学に出てくるクロネッカーのデルタみたいなもので汚くはないし、型に厳しい言語でなければ他の言語でも使えるだろ。
268デフォルトの名無しさん
2023/08/10(木) 20:21:25.47ID:c2H9n5TK >>263訂正
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < 6; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
hoge:
leaq 24(%rsi), %r8
xorl %edi, %edi
.L2:
movl (%rsi), %eax
movl %edi, %ecx
cmpl %edx, %eax
cmove %edx, %ecx
addq $4, %rsi
subl %ecx, %eax
movl %eax, -4(%rsi)
cmpq %rsi, %r8
jne .L2
ret
https://godbolt.org/z/br4nPfcEa
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < 6; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
hoge:
leaq 24(%rsi), %r8
xorl %edi, %edi
.L2:
movl (%rsi), %eax
movl %edi, %ecx
cmpl %edx, %eax
cmove %edx, %ecx
addq $4, %rsi
subl %ecx, %eax
movl %eax, -4(%rsi)
cmpq %rsi, %r8
jne .L2
ret
https://godbolt.org/z/br4nPfcEa
269デフォルトの名無しさん
2023/08/10(木) 20:22:14.91ID:c2H9n5TK >>264も訂正
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < 6; i++) {
num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
}
}
hoge:
leaq 24(%rsi), %rdi
xorl %ecx, %ecx
.L2:
movl (%rsi), %eax
cmpl %edx, %eax
cmove %ecx, %eax
addq $4, %rsi
movl %eax, -4(%rsi)
cmpq %rdi, %rsi
jne .L2
ret
https://godbolt.org/z/7xhMr6oae
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < 6; i++) {
num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
}
}
hoge:
leaq 24(%rsi), %rdi
xorl %ecx, %ecx
.L2:
movl (%rsi), %eax
cmpl %edx, %eax
cmove %ecx, %eax
addq $4, %rsi
movl %eax, -4(%rsi)
cmpq %rdi, %rsi
jne .L2
ret
https://godbolt.org/z/7xhMr6oae
270デフォルトの名無しさん
2023/08/10(木) 20:25:05.76ID:c2H9n5TK すまん>>263再度訂正
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
leaq (%rsi,%rdi,4), %r8
xorl %edi, %edi
.L3:
movl (%rsi), %eax
movl %edi, %ecx
cmpl %edx, %eax
cmove %edx, %ecx
addq $4, %rsi
subl %ecx, %eax
movl %eax, -4(%rsi)
cmpq %rsi, %r8
jne .L3
.L1:
ret
https://godbolt.org/z/9K6dj7Goc
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
leaq (%rsi,%rdi,4), %r8
xorl %edi, %edi
.L3:
movl (%rsi), %eax
movl %edi, %ecx
cmpl %edx, %eax
cmove %edx, %ecx
addq $4, %rsi
subl %ecx, %eax
movl %eax, -4(%rsi)
cmpq %rsi, %r8
jne .L3
.L1:
ret
https://godbolt.org/z/9K6dj7Goc
271デフォルトの名無しさん
2023/08/10(木) 20:25:56.38ID:c2H9n5TK >>264も再度訂正
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
}
}
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
xorl %ecx, %ecx
leaq (%rsi,%rdi,4), %rdi
.L3:
movl (%rsi), %eax
cmpl %edx, %eax
cmove %ecx, %eax
addq $4, %rsi
movl %eax, -4(%rsi)
cmpq %rsi, %rdi
jne .L3
.L1:
ret
https://godbolt.org/z/WTTadjj5a
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
}
}
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
xorl %ecx, %ecx
leaq (%rsi,%rdi,4), %rdi
.L3:
movl (%rsi), %eax
cmpl %edx, %eax
cmove %ecx, %eax
addq $4, %rsi
movl %eax, -4(%rsi)
cmpq %rsi, %rdi
jne .L3
.L1:
ret
https://godbolt.org/z/WTTadjj5a
272デフォルトの名無しさん
2023/08/10(木) 22:01:59.49ID:4Znn5xIX Rustでも同じ結果となった (diff -u 形式)
fn hoge(num_list: &mut [i32], delete_num: i32) {
for num in num_list {
- if *num == delete_num {
- *num = 0;
- }
+ *num *= (*num != delete_num) as i32;
}
}
アセンブラ出力の方はラベルと使用レジスタ名のズレだけ揃えてdiff
hoge:
test rsi, rsi
je .LBB1_4
shl rsi, 2
xor eax, eax
+ xor ecx, ecx
.LBB1_2:
- cmp dword ptr [rdi + rax], edx
- jne .LBB1_3
- mov dword ptr [rdi + rax], 0
-.LBB1_3:
+ mov r8d, dword ptr [rdi + rax]
+ cmp r8d, edx
+ cmove r8d, ecx
+ mov dword ptr [rdi + rax], r8d
add rax, 4
cmp rsi, rax
jne .LBB1_2
.LBB1_4:
ret
fn hoge(num_list: &mut [i32], delete_num: i32) {
for num in num_list {
- if *num == delete_num {
- *num = 0;
- }
+ *num *= (*num != delete_num) as i32;
}
}
アセンブラ出力の方はラベルと使用レジスタ名のズレだけ揃えてdiff
hoge:
test rsi, rsi
je .LBB1_4
shl rsi, 2
xor eax, eax
+ xor ecx, ecx
.LBB1_2:
- cmp dword ptr [rdi + rax], edx
- jne .LBB1_3
- mov dword ptr [rdi + rax], 0
-.LBB1_3:
+ mov r8d, dword ptr [rdi + rax]
+ cmp r8d, edx
+ cmove r8d, ecx
+ mov dword ptr [rdi + rax], r8d
add rax, 4
cmp rsi, rax
jne .LBB1_2
.LBB1_4:
ret
273デフォルトの名無しさん
2023/08/10(木) 22:05:03.94ID:4Znn5xIX つまりC言語もRustもどちらも同じく
if文の時は普通に条件分岐する
比較値を自己掛け算させるとcmoveを使う
生成コードで掛け算が消えてしまうのはいいね
代わりにやってることは
(1) レジスタの値にメモリから読み込む
(2) 比較
(3) 一致していた時のみレジスタに値0を入れる 【cmove】
(4) レジスタの値をメモリへ書き戻す
条件分岐がない代わりに0にしない時も常に書き込みが発生する
ただし読み込んだ位置への書き込みだから
1サイクルのみでキャッシュページミスのペナルティも無くて済むから問題なしか
一方で元の条件分岐ジャンプするコードと比較して速さはどうなの?
分岐予測ミスやパイプラインの乱れとやらがどれだけ効くのか教えて欲しい
if文の時は普通に条件分岐する
比較値を自己掛け算させるとcmoveを使う
生成コードで掛け算が消えてしまうのはいいね
代わりにやってることは
(1) レジスタの値にメモリから読み込む
(2) 比較
(3) 一致していた時のみレジスタに値0を入れる 【cmove】
(4) レジスタの値をメモリへ書き戻す
条件分岐がない代わりに0にしない時も常に書き込みが発生する
ただし読み込んだ位置への書き込みだから
1サイクルのみでキャッシュページミスのペナルティも無くて済むから問題なしか
一方で元の条件分岐ジャンプするコードと比較して速さはどうなの?
分岐予測ミスやパイプラインの乱れとやらがどれだけ効くのか教えて欲しい
274デフォルトの名無しさん
2023/08/10(木) 22:05:48.11ID:MwGz91pK 何度訂正されても暑さでやられたやつが発狂してるようにしか見えんからもういいぞ
どうしても主張したいなら記事書けよ
どうしても主張したいなら記事書けよ
275デフォルトの名無しさん
2023/08/10(木) 22:36:14.41ID:4Znn5xIX 訂正してる人はコピペミスか実験かどちらかで二重ループになってしまったのを訂正してるっぽいけどよくわからん
アドバイスできることは
clangの方で-O2だとベクタ展開して比較わかりにくくなってるのを
-Os指定すれば展開がなくなりgccとほぼ同じコードになるよ
アドバイスできることは
clangの方で-O2だとベクタ展開して比較わかりにくくなってるのを
-Os指定すれば展開がなくなりgccとほぼ同じコードになるよ
276デフォルトの名無しさん
2023/08/11(金) 06:16:54.95ID:YfwUjgK1■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 【悲報】日本、自民党(統一教会)で完全崩壊か?年金制度実質破綻、生活保護、国民健康保険廃止へ [383063292]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- なんでIDがHAPPYなの?
- 松屋博多駅南店にてナポリタンバーグ!
- ‎
