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
907デフォルトの名無しさん
2025/01/06(月) 21:01:46.66ID:gD8dDfgS Pythonでも試してみた。
def fibo(n):
a0, a1 = 0, 1
for _ in range(n):
a0, a1 = a1, a0 + a1
return a0
import timeit
t = timeit.timeit('fibo(1000)', globals = globals(), number = 1)
print(f'{t * 1e6:.1f}μs')
https://ideone.com/NqGB8t
> 63.8μs
大して変わらんかったわ。
def fibo(n):
a0, a1 = 0, 1
for _ in range(n):
a0, a1 = a1, a0 + a1
return a0
import timeit
t = timeit.timeit('fibo(1000)', globals = globals(), number = 1)
print(f'{t * 1e6:.1f}μs')
https://ideone.com/NqGB8t
> 63.8μs
大して変わらんかったわ。
908デフォルトの名無しさん
2025/01/07(火) 00:16:02.94ID:xSwe2WJg909デフォルトの名無しさん
2025/01/07(火) 00:30:19.76ID:xSwe2WJg910デフォルトの名無しさん
2025/01/07(火) 11:58:49.64ID:vZjIBOFU 改善名古屋ですらbanされないのにwww
911デフォルトの名無しさん
2025/01/07(火) 18:23:10.51ID:fkfO+I1w >>906
行列はどこ?
行列はどこ?
912デフォルトの名無しさん
2025/01/07(火) 18:58:08.39ID:Cl64VC1q 『Elixir(エリクサー)で数値計算すると幸せになれる』
> ベクトル計算/行列計算
> ベクトル計算/行列計算を行う Elixir のライブラリはいくつかあります。
>
> 私たち fukuoka.ex で @hisaway さんが研究開発した事例をご紹介します。
>
> ベクトル計算
> |> Elixir + Rustlerでベクトル演算を高速化しよう〜Rustler初級者編 1 〜
> |> Elixir + Rustlerでベクトル演算を高速化しよう 〜初級者編 1.5〜
使いづらいとか遅くて使い物にならないとかかな
> ベクトル計算/行列計算
> ベクトル計算/行列計算を行う Elixir のライブラリはいくつかあります。
>
> 私たち fukuoka.ex で @hisaway さんが研究開発した事例をご紹介します。
>
> ベクトル計算
> |> Elixir + Rustlerでベクトル演算を高速化しよう〜Rustler初級者編 1 〜
> |> Elixir + Rustlerでベクトル演算を高速化しよう 〜初級者編 1.5〜
使いづらいとか遅くて使い物にならないとかかな
913デフォルトの名無しさん
2025/01/08(水) 08:50:10.84ID:XpH92ttQ Elixirが遅いのは周知の事実だけどたかだか1000の計算でどうこう言うのはさすがにアホとしか
1000万くらいやらないと誤差でしかないぞ
1000万くらいやらないと誤差でしかないぞ
914デフォルトの名無しさん
2025/01/08(水) 21:23:41.19ID:6uiFjf1L 『ElixirChipとElixirChip Liteで超低消費電力・高性能の世界へ』
> ElixirChipについては,Interface 2024年10月号別冊付録のFPGAマガジン特別版No.3のコラムに書かせていただきました.Kria KR260を用いて,積和演算について,理論上,最高速クロック周波数で駆動することに成功し,高い電力あたり性能を達成しました.その後の検証で,消費電力を実測し,実証した電力あたり性能としては254GOPs/Wを達成しました.これは同程
度のプロセスルールであるIntel Xeon E3-1285 v6に対して,24.2倍の電力あたり性能です.
職場がインターフェース誌購読してたんで今更ながら読んでみた。FPGA内蔵SoCみたいなの(SoMとか言うらしい)に8bitの積和演算器64個並列に実装して上限の動作速度の500MHzちょっとで動作できましたって内容だった。
500なんとかメガ(動作周波数)×2(積和だから乗算+加算なので2)×64(積和演算器の数)×32(積和演算器のパイプラインステージ数)=2.1TOPs
って変な計算してて、それとXeon比べて消費電力(但しTDP)あたりの性能でXeonの何十倍効率が良いって主張だったけど、おいおいパイプラインステージ数は積和演算器の性能に直結しないだろ。なぜそれ掛けてXeonと比べる? って思ったわ。
一番気になったのは先生が使ったKria KR260ってAMDの製品、8bitの積和演算が16個同時にできるCortex-A53が4コア載ってて1.3GHzで動作すんだよね。500MHzちょっとで積和演算器64個動かして何なん? 比べるとしてもXeonとじゃなくてそっちとじゃね? とかって素人ながら思ったわ。
> ElixirChipについては,Interface 2024年10月号別冊付録のFPGAマガジン特別版No.3のコラムに書かせていただきました.Kria KR260を用いて,積和演算について,理論上,最高速クロック周波数で駆動することに成功し,高い電力あたり性能を達成しました.その後の検証で,消費電力を実測し,実証した電力あたり性能としては254GOPs/Wを達成しました.これは同程
度のプロセスルールであるIntel Xeon E3-1285 v6に対して,24.2倍の電力あたり性能です.
職場がインターフェース誌購読してたんで今更ながら読んでみた。FPGA内蔵SoCみたいなの(SoMとか言うらしい)に8bitの積和演算器64個並列に実装して上限の動作速度の500MHzちょっとで動作できましたって内容だった。
500なんとかメガ(動作周波数)×2(積和だから乗算+加算なので2)×64(積和演算器の数)×32(積和演算器のパイプラインステージ数)=2.1TOPs
って変な計算してて、それとXeon比べて消費電力(但しTDP)あたりの性能でXeonの何十倍効率が良いって主張だったけど、おいおいパイプラインステージ数は積和演算器の性能に直結しないだろ。なぜそれ掛けてXeonと比べる? って思ったわ。
一番気になったのは先生が使ったKria KR260ってAMDの製品、8bitの積和演算が16個同時にできるCortex-A53が4コア載ってて1.3GHzで動作すんだよね。500MHzちょっとで積和演算器64個動かして何なん? 比べるとしてもXeonとじゃなくてそっちとじゃね? とかって素人ながら思ったわ。
915デフォルトの名無しさん
2025/01/08(水) 21:39:40.99ID:6uiFjf1L 「思ったわ。」が2回続いたのは失敗、まあ酒入ってるしな。
916デフォルトの名無しさん
2025/01/08(水) 23:36:37.07ID:Zv9lEO3h917デフォルトの名無しさん
2025/01/09(木) 09:15:14.34ID:MkPwOmcx918デフォルトの名無しさん
2025/01/09(木) 11:14:54.45ID:fEJ6jGN3 『フィボナッチ数を計算する多分最速の方法』
> フィボナッチ数列を高速に計算するプログラムをRubyで作成しました。多分このアルゴリズムが一番速いと思います(適当
試したら1000万番目のフィボナッチ数も1秒掛からずに求まったわ。
1000万回繰り返し足し算する間抜けなロジックを
> Fibonacci with Matrix は素晴らしく速いですね!
と言ってたどこぞの先生は率先して爪の垢を煎じて飲むべき。誰となく。
> フィボナッチ数列を高速に計算するプログラムをRubyで作成しました。多分このアルゴリズムが一番速いと思います(適当
試したら1000万番目のフィボナッチ数も1秒掛からずに求まったわ。
1000万回繰り返し足し算する間抜けなロジックを
> Fibonacci with Matrix は素晴らしく速いですね!
と言ってたどこぞの先生は率先して爪の垢を煎じて飲むべき。誰となく。
919デフォルトの名無しさん
2025/01/09(木) 11:29:12.21ID:fEJ6jGN3 『フィボナッチ数列の 10000 番目を求める』
> 平方根型を実装して、フィボナッチ数列の一般項を使用して 10000 番目の値を求めました。
> ポイントは、
> ・平方根部分は無理に計算しないので誤差が出ない。
> ・先頭から順に求めないので計算がとても速い。
ところです。
>
> 参考文献
> ・計算機プログラムの構造と解釈
これも良記事。
某先生の書いた記事はどれもCSの基礎的な素養を感じないんだよな。誰となく。
> 平方根型を実装して、フィボナッチ数列の一般項を使用して 10000 番目の値を求めました。
> ポイントは、
> ・平方根部分は無理に計算しないので誤差が出ない。
> ・先頭から順に求めないので計算がとても速い。
ところです。
>
> 参考文献
> ・計算機プログラムの構造と解釈
これも良記事。
某先生の書いた記事はどれもCSの基礎的な素養を感じないんだよな。誰となく。
920デフォルトの名無しさん
2025/01/09(木) 12:24:38.44ID:9soSfDOl >>918のrubyで10倍飛びに10億までやったらO(N log²N)だた
921デフォルトの名無しさん
2025/01/09(木) 23:58:29.94ID:3k7NhjbV 普通にFibonacci Matrixから導かれるNを1/2にしていく漸化式で
ループをN回からlog2(N)回にするコードを書いてみたら
1000万個目のフィボナッチ数もすぐに求まったよ
ただしそれを10進数表示する方は何分もかかった
ループをN回からlog2(N)回にするコードを書いてみたら
1000万個目のフィボナッチ数もすぐに求まったよ
ただしそれを10進数表示する方は何分もかかった
922デフォルトの名無しさん
2025/01/10(金) 09:53:27.06ID:D6++6O0H923デフォルトの名無しさん
2025/01/10(金) 13:03:09.69ID:RDvofyCS >>918のrubyでc++だけど10億番目まで求めて10進数ファイル出力のにトータルで1分もかからなかた
924デフォルトの名無しさん
2025/01/11(土) 23:47:34.39ID:RZek3y6p 元のElixirの人がFibonacci Matrix使ってい実装して1000番目がわずか『1秒』で計算できた話だよな
Matrix利用なのになぜか1000回ループする普通のアルゴリズムを使っていて
しかもそのアルゴリズムでも100マイクロ秒しかかからないという話だよな
そしてFibonacci Matrixでlog回にすれば1000万番目もすぐ求まるという話だよな
そして元の話とは関係ないがリュカ数とフィボナッチ数の関係を使うとさらに速いという話だよな
Matrix利用なのになぜか1000回ループする普通のアルゴリズムを使っていて
しかもそのアルゴリズムでも100マイクロ秒しかかからないという話だよな
そしてFibonacci Matrixでlog回にすれば1000万番目もすぐ求まるという話だよな
そして元の話とは関係ないがリュカ数とフィボナッチ数の関係を使うとさらに速いという話だよな
925デフォルトの名無しさん
2025/01/12(日) 08:09:38.33ID:Hmp4qWNv926デフォルトの名無しさん
2025/01/12(日) 12:59:14.80ID:+eogZZnL > 元のElixirの人がFibonacci Matrix使ってい実装して1000番目がわずか『1秒』で計算できた話だよな
『1秒』?
> ##### With input 1000 #####
> Name ips average deviation median 99th %
> Fibonacci with Matrix 761.80 1.31 ms ±1.90% 1.31 ms 1.40 ms
> Fibonacci by Enum.reduce 754.01 1.33 ms ±2.85% 1.32 ms 1.44 ms
『1秒』?
> ##### With input 1000 #####
> Name ips average deviation median 99th %
> Fibonacci with Matrix 761.80 1.31 ms ±1.90% 1.31 ms 1.40 ms
> Fibonacci by Enum.reduce 754.01 1.33 ms ±2.85% 1.32 ms 1.44 ms
927デフォルトの名無しさん
2025/01/12(日) 21:02:01.04ID:+eogZZnL > Fibonacci with Matrix は素晴らしく速いですね!
再帰つかったほうが速かったわw
defmodule Fibonacci.Matrix do
def of(n) do
Enum.reduce(1..n, {0, 1}, fn
_, {p, q} -> {q, p + q}
end)
|> elem(0)
end
end
defmodule Fibonacci.Recursive do
def of(n) do
_of(n, 0, 1)
end
defp _of(n, p, q) do
if n <= 0, do: p, else: _of(n - 1, q, p + q)
end
end
IO.inspect(Fibonacci.Matrix.of(1500) == Fibonacci.Recursive.of(1500))
n = 1000
{t, _} = :timer.tc(Fibonacci.Matrix, :of, [n])
IO.puts "#{t}μ秒"
{t, _} = :timer.tc(Fibonacci.Recursive, :of, [n])
IO.puts "#{t}μ秒"
> true
> 61μ秒
> 37μ秒
再帰つかったほうが速かったわw
defmodule Fibonacci.Matrix do
def of(n) do
Enum.reduce(1..n, {0, 1}, fn
_, {p, q} -> {q, p + q}
end)
|> elem(0)
end
end
defmodule Fibonacci.Recursive do
def of(n) do
_of(n, 0, 1)
end
defp _of(n, p, q) do
if n <= 0, do: p, else: _of(n - 1, q, p + q)
end
end
IO.inspect(Fibonacci.Matrix.of(1500) == Fibonacci.Recursive.of(1500))
n = 1000
{t, _} = :timer.tc(Fibonacci.Matrix, :of, [n])
IO.puts "#{t}μ秒"
{t, _} = :timer.tc(Fibonacci.Recursive, :of, [n])
IO.puts "#{t}μ秒"
> true
> 61μ秒
> 37μ秒
928デフォルトの名無しさん
2025/01/12(日) 21:22:32.36ID:GdafxASX M3 Macが遅いのは
多倍長演算バックエンドlibgmpが
アセンブリレベルの最適化されてないのか?
多倍長演算バックエンドlibgmpが
アセンブリレベルの最適化されてないのか?
929デフォルトの名無しさん
2025/01/14(火) 09:41:34.87ID:4n1be6yj 記事に関する知見は5chに書くんじゃなくて記事のコメ欄にしたほうが記事書いた人にも読む人にも有益とは思うんだけど
Qiita 2 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1658762410/477-
この件以来先生の記事にはお気軽にコメントしづらい雰囲気できた気がするし致し方なしかな。
つかブロックされた人もいるのか。で、本人は突っ込まれまくりの記事を修正できずに削除か。互いに不幸だわ。
Qiita 2 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1658762410/477-
この件以来先生の記事にはお気軽にコメントしづらい雰囲気できた気がするし致し方なしかな。
つかブロックされた人もいるのか。で、本人は突っ込まれまくりの記事を修正できずに削除か。互いに不幸だわ。
930デフォルトの名無しさん
2025/01/15(水) 07:58:49.67ID:bZcJ4+b0 > 0585 デフォルトの名無しさん 2023/01/19(木) 00:22:55.85
> 正しい記事を修正する必要はないよ
> 修正したら間違っていたということ
> 修正しなかったら正しいという証拠
削除してて草w
> 正しい記事を修正する必要はないよ
> 修正したら間違っていたということ
> 修正しなかったら正しいという証拠
削除してて草w
931デフォルトの名無しさん
2025/01/16(木) 13:23:18.56ID:rYJjlrOw >>916
行列使ってO(N)は草
行列使ってO(N)は草
932デフォルトの名無しさん
2025/01/16(木) 14:50:54.69ID:vEzJxjVV 2024/08/04に作成の問題記事が2025/01/14にホッテントリして垢BANされてた
あっちのえほうがつよいな
あっちのえほうがつよいな
933デフォルトの名無しさん
2025/01/16(木) 20:22:10.74ID:DjaB9re8 別のLucas数方式(Fibonacci数の高速計算法 つくばリポジトリ)が>>918のrubyでc++より3割以上速かた
GNU MP謹製mpz_fib_uiと同じで多分現行最速
GNU MP謹製mpz_fib_uiと同じで多分現行最速
934デフォルトの名無しさん
2025/01/24(金) 03:46:00.47ID:JMFVFoTC 後期高齢者無職年金未納:藤田望w
935デフォルトの名無しさん
2025/01/24(金) 08:46:13.71ID:FpBO1p3O ネズミ講に払ったら負け
936デフォルトの名無しさん
2025/01/24(金) 14:20:15.52ID:loMxniuB zuishinが逝ってもうそろそろ一周忌か……
937デフォルトの名無しさん
2025/01/25(土) 05:29:13.54ID:hwvuRJXd kaizen_nagoya、大量にアドカレ参加しといて投稿しないで穴開けるの多すぎない?
ゴミ記事上げる分にはQiitaにゴミが増えるだけで済むが他人のアドカレに参加して記事出さないのは普通に迷惑
ゴミ記事上げる分にはQiitaにゴミが増えるだけで済むが他人のアドカレに参加して記事出さないのは普通に迷惑
938デフォルトの名無しさん
2025/01/26(日) 15:38:22.52ID:6ewQS7dF ://qiita.com/haihaikazuma/items/570cc29f0cc4e6f10a4f
シリコンバレーの外人がGeminiのAI翻訳で批判したら日本人が食いついた
日本人1「仕事で重要なのは楽しいかどうかだ」
日本人2「だである・ですますを統一できない人にコミュニケーションについて語る資格はない」
うーん
シリコンバレーの外人がGeminiのAI翻訳で批判したら日本人が食いついた
日本人1「仕事で重要なのは楽しいかどうかだ」
日本人2「だである・ですますを統一できない人にコミュニケーションについて語る資格はない」
うーん
939デフォルトの名無しさん
2025/01/27(月) 03:07:02.27ID:MRBGot2f940デフォルトの名無しさん
2025/01/27(月) 07:06:52.89ID:JQr6sflO それでもqiitaは見るのか…
941デフォルトの名無しさん
2025/01/27(月) 07:57:36.75ID:WhHbesAN942デフォルトの名無しさん
2025/01/27(月) 23:33:03.76ID:5zVfH4ct943デフォルトの名無しさん
2025/01/27(月) 23:34:01.05ID:5zVfH4ct 高齢者の「仕事」の定義は意味が曖昧なんだよなあ
944デフォルトの名無しさん
2025/01/30(木) 03:16:12.48ID:5E+FKi6J おい!そこのお前、俺の質問にちゃんと答えてくれ
https://qiita.com/t-furusato/items/dfd4008599ca7ba9b933
パワハラ体質常態化してるっぽいなこの会社。よくこんな記事公開できるな。
https://qiita.com/t-furusato/items/dfd4008599ca7ba9b933
パワハラ体質常態化してるっぽいなこの会社。よくこんな記事公開できるな。
945デフォルトの名無しさん
2025/01/31(金) 03:36:39.85ID:rb//3yHd >>944
藤田望がトンチンカンなコメント書いてて面白いわ
藤田望がトンチンカンなコメント書いてて面白いわ
946デフォルトの名無しさん
2025/01/31(金) 07:59:37.83ID:zfRSby5P いいねの数見ると肯定派も否定派も案外いる感じ
947デフォルトの名無しさん
2025/01/31(金) 08:01:39.52ID:zfRSby5P ↑はコメント欄でのいいねの数
948デフォルトの名無しさん
2025/01/31(金) 08:21:26.59ID:lGRVjnep 俺は肯定派
書き方は兎も角、do you~ならYes/No、which~ならいずれかで応えるべきだと思う
それができない人って関数やメソッドの命名と返り値どうしてるのか気になる
書き方は兎も角、do you~ならYes/No、which~ならいずれかで応えるべきだと思う
それができない人って関数やメソッドの命名と返り値どうしてるのか気になる
949デフォルトの名無しさん
2025/01/31(金) 08:50:01.71ID:tb2riDsE はてなのコメント
https://b.hatena.ne.jp/entry/s/qiita.com/t-furusato/items/dfd4008599ca7ba9b933
> こういう上司とか元請けとか、絶対に嫌だなぁ。Yes/No の判断に複雑な条件があることを理解せず、結論だけ拾って、違っていたらこっちのせいにされる。指導者としても、何に躓いているかを理解せずに押しつけする。
「ちゃんと」や「ような」と曖昧な質問を投げて厳密な回答を求めていることを言ってるのかな。
自分側の責任は軽くして相手側の責任を相対的に重くすることをテクニックとして意識的にやる人はいるし意識しないでやってる人もいるね。厳密な回答を要求するのであれば質問は解釈の幅など生じない簡潔なものするべきと思う。
「参加者が20名の場合、注文する料理は10人分ですか?」
なぜこれくらいの訊き方ができないのか。
https://b.hatena.ne.jp/entry/s/qiita.com/t-furusato/items/dfd4008599ca7ba9b933
> こういう上司とか元請けとか、絶対に嫌だなぁ。Yes/No の判断に複雑な条件があることを理解せず、結論だけ拾って、違っていたらこっちのせいにされる。指導者としても、何に躓いているかを理解せずに押しつけする。
「ちゃんと」や「ような」と曖昧な質問を投げて厳密な回答を求めていることを言ってるのかな。
自分側の責任は軽くして相手側の責任を相対的に重くすることをテクニックとして意識的にやる人はいるし意識しないでやってる人もいるね。厳密な回答を要求するのであれば質問は解釈の幅など生じない簡潔なものするべきと思う。
「参加者が20名の場合、注文する料理は10人分ですか?」
なぜこれくらいの訊き方ができないのか。
950デフォルトの名無しさん
2025/01/31(金) 09:32:03.13ID:tQczleO2 質問に対してはできるだけ端的な回答を心掛けると良いですよという内容のコア部分についてはさほど異論はないと思う。ただ、文面全体から漂う異臭が、無能なパワハラ気質の上司・同僚を想起させて拒否反応を招いているんだろう。
951デフォルトの名無しさん
2025/02/01(土) 13:12:11.25ID:Dm0gVBeE >自分側の責任は軽くして相手側の責任を相対的に重くすることをテクニックとして意識的にやる人
これはコミュ力の一環と言えば必要な能力
仕様書には不要な能力
これはコミュ力の一環と言えば必要な能力
仕様書には不要な能力
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秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 宇宙飛行士 vs 超天才数学者
