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 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1685235361/
Qiita 4 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1705486836/
探検
Qiita 5 - キータぞ、来たぞ、キータだぞー
レス数が1000を超えています。これ以上書き込みはできません。
2024/06/06(木) 14:17:26.43ID:OOltNLB6
952デフォルトの名無しさん
2025/02/01(土) 15:56:55.55ID:detD0BR/ > これはコミュ力の一環と言えば必要な能力
スタッフとの仕様の確認の会話で使う意味なくね
スタッフとの仕様の確認の会話で使う意味なくね
953デフォルトの名無しさん
2025/02/03(月) 11:18:38.82ID:HGKe4Z7A954デフォルトの名無しさん
2025/02/05(水) 23:34:29.42ID:rM70a28+955デフォルトの名無しさん
2025/02/06(木) 13:12:59.75ID:NMJzmIW7 『C# の型システムで Brainf*ck コンパイラを作ってみた』
記事の内容は興味深いのだけど、
> 驚くほど .NET AOT が C 言語を上回り、一位になってしまいました。
> これも、C# の型システムによるゼロオーバーヘッド抽象のおかげと言えるでしょう。
はちょっと残念な感じ。
C#贔屓でCに勝って嬉しいのはわかるけど、この記事でCが遅いのは変数を大域変数にしてるせいでgccが効率悪いコード吐いてるからなんだよなあ。
記事の内容は興味深いのだけど、
> 驚くほど .NET AOT が C 言語を上回り、一位になってしまいました。
> これも、C# の型システムによるゼロオーバーヘッド抽象のおかげと言えるでしょう。
はちょっと残念な感じ。
C#贔屓でCに勝って嬉しいのはわかるけど、この記事でCが遅いのは変数を大域変数にしてるせいでgccが効率悪いコード吐いてるからなんだよなあ。
956デフォルトの名無しさん
2025/02/06(木) 13:23:17.10ID:TjXJ1OiY 記事読まないが
C# の型システムによるゼロオーバーヘッド抽象のおかげで
効率良いコード吐けるんでは?
同じことを言ってるんでは?
C# の型システムによるゼロオーバーヘッド抽象のおかげで
効率良いコード吐けるんでは?
同じことを言ってるんでは?
957デフォルトの名無しさん
2025/02/06(木) 13:26:01.78ID:dQANt/Gp >>956
c側に枷を付けてるんだから同じじゃないのでは
c側に枷を付けてるんだから同じじゃないのでは
958デフォルトの名無しさん
2025/02/06(木) 14:23:57.72ID:fz+jKrbj >>955
良い記事だと思います
mandelbrot.bf以外の他のサンプルでの比較結果も必要かな
それとBFの特徴から最適化を考慮したtritium(最速)やBrainFuckCompiler.pyと比べてみると良いと思います
良い記事だと思います
mandelbrot.bf以外の他のサンプルでの比較結果も必要かな
それとBFの特徴から最適化を考慮したtritium(最速)やBrainFuckCompiler.pyと比べてみると良いと思います
959デフォルトの名無しさん
2025/02/06(木) 15:52:42.36ID:NMJzmIW7 記事からリンクされてるMandelbrotプログラムを記事からリンクされてるBrainfuckをC言語にするコンパイラで変換し、オンライン実行環境である https://tio.run/ で C(gcc) を選択してCodeにコードを貼り付け、Compiler flagsに-O3と-march=nativeを指定して実行したところ約5.7秒掛かった。
Cプログラムの大域変数pをmain()ローカルへ変更し
#include <stdio.h>
unsigned char c[30000] = {0};
-unsigned char *p = c + 14999;
int main(void) {
+unsigned char *p = c + 14999;
実行すると約3.4秒。4割ほど速くなった。
記事のC言語の実行時間は効率の悪いコードで行われているのでC#との比較はフェアではない感じ。
Cプログラムの大域変数pをmain()ローカルへ変更し
#include <stdio.h>
unsigned char c[30000] = {0};
-unsigned char *p = c + 14999;
int main(void) {
+unsigned char *p = c + 14999;
実行すると約3.4秒。4割ほど速くなった。
記事のC言語の実行時間は効率の悪いコードで行われているのでC#との比較はフェアではない感じ。
960デフォルトの名無しさん
2025/02/06(木) 18:07:44.63ID:VTzAUDKa githubに書いてある
dotnet run -c Release -- bench <memory_size> <file>
がJITで
dotnet run -c Release -- build <memory_size> <file>
で出来るcsファイルに適当なcsprojを足して
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishAot>true</PublishAot>
<DebugType>None</DebugType>
<DebugSymbols>False</DebugSymbols>
</PropertyGroup>
</Project>
記事指定のpublishをしたのがAOTだと思うけど
JIT≒AOT≒1.0秒だった
>>959の> Cプログラムの大域変数pをmain()ローカルへ変更し
は
0.5秒だった
dotnet run -c Release -- bench <memory_size> <file>
がJITで
dotnet run -c Release -- build <memory_size> <file>
で出来るcsファイルに適当なcsprojを足して
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishAot>true</PublishAot>
<DebugType>None</DebugType>
<DebugSymbols>False</DebugSymbols>
</PropertyGroup>
</Project>
記事指定のpublishをしたのがAOTだと思うけど
JIT≒AOT≒1.0秒だった
>>959の> Cプログラムの大域変数pをmain()ローカルへ変更し
は
0.5秒だった
961デフォルトの名無しさん
2025/02/06(木) 18:11:09.25ID:VTzAUDKa 元のままのC(ローカルへ変更しない)は
0.9秒だった(clang)
0.9秒だった(clang)
962デフォルトの名無しさん
2025/02/06(木) 18:12:30.12ID:VTzAUDKa windowsなのでAOT publishコマンドは -r win-x64 に変更した
963デフォルトの名無しさん
2025/02/06(木) 18:16:00.00ID:VTzAUDKa 検索Nayuki Minase brainfuckcompiler gistでBrainFuckCompiler.pyを拾って
python2 BrainFuckCompiler.py Mandelbrot.txt Mandelbrot.c
は
0.3秒だった
python2 BrainFuckCompiler.py Mandelbrot.txt Mandelbrot.c
は
0.3秒だった
964デフォルトの名無しさん
2025/02/06(木) 20:34:11.67ID:6ABWIaMQ C#のコードも改善の余地があるかな。
配列+インデックスでやってるところをCと同じにポインタにすればもう少し(数%くらい?)速くできる気がする。
「godbolt で生成されたマシンコードを見ると、こんな感じです。」と言ってるところのアセンブリリスト43命令だけど試しにポインタにしてみたら https://godbolt.org/z/sKj9vdGT5 33命令になった。
配列+インデックスでやってるところをCと同じにポインタにすればもう少し(数%くらい?)速くできる気がする。
「godbolt で生成されたマシンコードを見ると、こんな感じです。」と言ってるところのアセンブリリスト43命令だけど試しにポインタにしてみたら https://godbolt.org/z/sKj9vdGT5 33命令になった。
965デフォルトの名無しさん
2025/02/06(木) 20:41:42.22ID:6ABWIaMQ つか記事の「C 言語で書くとこんな感じのコードと同じです。」と書いてあるやつ、配列じゃなくてポインタになってるし、'1'や'2'を足すんじゃなくて代入してるし色々間違ってるな。
誰か教えてやれば良いのに。
誰か教えてやれば良いのに。
967デフォルトの名無しさん
2025/02/07(金) 00:17:42.28ID:XR6dFlNH どう育ったらそんなこと他人に依頼できると思うのか?
968デフォルトの名無しさん
2025/02/07(金) 07:51:47.47ID:kRdLxkfv 横槍への横槍なんだが実測辞めたら成長終了だ
969960
2025/02/07(金) 12:29:55.01ID:cYj409pe そうではなくて、ゴール前でシュートしたらどうですか?と思った
970デフォルトの名無しさん
2025/02/07(金) 13:07:17.18ID:3fDoPIKh 全く合ってない場合スルーするが合ってる場合否定する変人
全否定ではなく賛成できることもあるが賛成できないこともあると言うべき
全否定ではなく賛成できることもあるが賛成できないこともあると言うべき
971デフォルトの名無しさん
2025/02/07(金) 13:20:57.57ID:K1HEYmSj やりたい人がやれば良い
972960
2025/02/07(金) 13:40:58.06ID:MjdKwHbK973デフォルトの名無しさん
2025/02/07(金) 14:15:51.63ID:F8l3nJmK CよりC#が速いと言ってる人を信用できない
974デフォルトの名無しさん
2025/02/07(金) 15:26:18.79ID:K1HEYmSj Qiitaのコメ欄だとこれくらいの話しただけで記事主が発狂してブロックしてきたり外野に迷惑コメントとして運営に通報されるまであるからなあ、5chは気が楽だわ。
975デフォルトの名無しさん
2025/02/07(金) 15:29:33.47ID:K1HEYmSj Qiitaって「エンジニアを最高に幸せにする。」とか言ってる割に「技術的に正しい==正義」じゃないよね。
976デフォルトの名無しさん
2025/02/07(金) 16:48:30.38ID:HlyNm3M8 >>975
エンジニアを幸せにするのは技術的に正しいことではないからだね
エンジニアを幸せにするのは技術的に正しいことではないからだね
977デフォルトの名無しさん
2025/02/08(土) 09:30:44.99ID:FJexRZe9 CよりC#の方が速い ← 間違い
無能が書いたCより有能が書いたC#の方が速い ← 正解
無能が書いたCより有能が書いたC#の方が速い ← 正解
978デフォルトの名無しさん
2025/02/08(土) 10:14:31.73ID:VD20E54s >>955の記事は説明も上手でプロフィールに東京大学情報理工学系研究科とある通り頭良い人で本人もそれを自覚してると思うんだけど、何でもかんでも知ってるわけではなくて性能評価方面には疎かったということかな。こういう人に間違いの指摘をするのは難しいよね。素直に感謝されることもあれば逆ギレされる可能性もあるので下手な博打は打ちたくない。
979デフォルトの名無しさん
2025/02/08(土) 11:53:59.57ID:+3qBIV3v >>975
ほんそれ
ほんそれ
980デフォルトの名無しさん
2025/02/08(土) 13:54:24.31ID:kt9i+Ghf brainf*ckごときにマジになっちゃってどうすんの
981デフォルトの名無しさん
2025/02/08(土) 15:08:19.81ID:Yu5RZ/lL クソコードでコンパイラの性能語っちゃう人のことも考えたらbrainfuckでもマジになったほう良いよね。
982デフォルトの名無しさん
2025/02/08(土) 16:26:24.74ID:HawGquXH 価値は見出したもん勝ちだ
見出し過ぎて優先順位が低いと言うのはあり
でも価値なしと言うのは意識が低すぎる
見出し過ぎて優先順位が低いと言うのはあり
でも価値なしと言うのは意識が低すぎる
983デフォルトの名無しさん
2025/02/09(日) 14:35:14.14ID:QckyEUCP BrainFuckCompiler.pyで比べた
C,Java&Pythonは元々のまま(by Nayuki Minase)、C#はCとJavaを参考に追加
C 0.3秒 pointer方式
C# 0.37秒 pointer方式AOT publish
C# 0.4秒 pointer方式build
C# 0.6秒 index方式AOT publish
C# 0.65秒 index方式build
Java 0.7秒 index方式Graal AOT
C# 0.7秒 Qiita&>>964 pointer方式AOT publish
C# 1.0秒 Qiita方式AOT publish
C# 1.6秒 Qiita&>>964 pointer方式build
pypy 1.7秒
C# 2秒 Qiita方式build
Java 15秒
Python 2分
(C#のbuildはRelease buildで最適化JIT促進用のウォームアップや繰り返しなし)
C,Java&Pythonは元々のまま(by Nayuki Minase)、C#はCとJavaを参考に追加
C 0.3秒 pointer方式
C# 0.37秒 pointer方式AOT publish
C# 0.4秒 pointer方式build
C# 0.6秒 index方式AOT publish
C# 0.65秒 index方式build
Java 0.7秒 index方式Graal AOT
C# 0.7秒 Qiita&>>964 pointer方式AOT publish
C# 1.0秒 Qiita方式AOT publish
C# 1.6秒 Qiita&>>964 pointer方式build
pypy 1.7秒
C# 2秒 Qiita方式build
Java 15秒
Python 2分
(C#のbuildはRelease buildで最適化JIT促進用のウォームアップや繰り返しなし)
984デフォルトの名無しさん
2025/02/09(日) 15:21:36.59ID:ITGda0ic 元の記事にはコメントのひとつもつかないで、このスレに有用な知見が集まってるの面白いなw
Qiitaもコメ欄匿名
Qiitaもコメ欄匿名
985デフォルトの名無しさん
2025/02/09(日) 15:22:47.18ID:ITGda0ic Qiitaもコメ欄匿名にすりゃ良いのにw
986デフォルトの名無しさん
2025/02/09(日) 17:02:51.01ID:0XwIZ11k こいつらはなぜ記事を書かないか聞いてみてくれ
まさかりが怖い?
まさかりが怖い?
987デフォルトの名無しさん
2025/02/09(日) 17:10:06.74ID:0XwIZ11k Zennのスクラップを使ったらいいんじゃない?
> スクラップは、スレッド形式で知見やメモをまとめていく機能です。
> ://zenn.dev/zenn/articles/about-zenn-scraps
> スクラップは、スレッド形式で知見やメモをまとめていく機能です。
> ://zenn.dev/zenn/articles/about-zenn-scraps
988デフォルトの名無しさん
2025/02/10(月) 10:03:41.00ID:zBRflWQv Qiitaで記事を公開すると何故かはてなブックマークへのリンクが張られるのでコメントはそっちで書くのが安全だと思う。
989デフォルトの名無しさん
2025/02/10(月) 11:40:36.08ID:Z13/KCo3 Zennに乗り換えてみるわthx
990デフォルトの名無しさん
2025/02/10(月) 11:52:57.56ID:rlmmhtGT N.F. Qiita辞めた?
991デフォルトの名無しさん
2025/02/11(火) 12:51:17.91ID:zhTf3ZTI992デフォルトの名無しさん
2025/02/11(火) 14:33:29.02ID:j+z2axDY dameyodamedameが設計ミスとか意味不明なこと言い出したのが原因かな
993デフォルトの名無しさん
2025/02/11(火) 16:57:43.06ID:SRBQ8/yZ 強い言葉を使う製で弱く見えてるな
994デフォルトの名無しさん
2025/02/11(火) 22:53:54.85ID:HwVbkmdb メンバ関数のポインタを使う時点でそいつはバカだから相手にしてはいけない
995デフォルトの名無しさん
2025/02/12(水) 13:00:22.94ID:hW5ahi2p > 記事に対するコメントは記事に即した内容であること、というのはqiitaに限らずオンラインコミュニティを利用する際の大原則だと思うのですよ。相手が何十年のベテランだからと「書かなくてもわかるだろう」と遠い(?)概念を持ち出されることは大変なマナー違反だと考えます。加えて「書かなくても伝わるはずであり、伝わらなければ相手の能力に問題がある」とするのは相手に失礼であり、非常に身勝手な行為だと思いませんか?
マナー違反とか言い始めたけどこの人「クソ記事公開すんな」とか言われたらどうすんの?
マナー違反とか言い始めたけどこの人「クソ記事公開すんな」とか言われたらどうすんの?
996デフォルトの名無しさん
2025/02/12(水) 14:15:16.05ID:0rIAGkQM 「私はつよつよSEです」
みたいなのキツすぎ
イキリアニオタみてーなのばっか
みたいなのキツすぎ
イキリアニオタみてーなのばっか
997デフォルトの名無しさん
2025/02/12(水) 14:39:42.15ID:q5lLVqHR998デフォルトの名無しさん
2025/02/12(水) 16:30:22.19ID:W9y8zQE7 誰なんだよおめーは
999デフォルトの名無しさん
2025/02/12(水) 23:06:28.28ID:0rIAGkQM1000デフォルトの名無しさん
2025/02/12(水) 23:09:54.49ID:0rIAGkQM つよつよエンジニアw
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 251日 8時間 52分 29秒
新しいスレッドを立ててください。
life time: 251日 8時間 52分 29秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 今猛烈に食べたいもの挙げてけwwwwwwww
- 橋下徹「口だけ番長の日本が中国に喧嘩負け。なんとカッコ悪い日本か!」高市にバチーン!✴ [153490809]
- 【高市早苗】習近平激怒か [115996789]
- 🏡
- 今猛烈に食べたいもの挙げてけwwwwwwww
