次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
次世代言語27 Nim Zig Pony Carbon Gleam http://mevius.5ch.net/test/read.cgi/tech/1659660050/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
266: デフォルトの名無しさん (ワッチョイ ffad-4whB) [] 2024/10/03(木) 12:29:21.43 ID:gQlcDFcc0 nim 2.2.0 リリース 久しぶりに速度をはかるとかなり高速化されているようだ。 単純なフィボナッチ計算45桁で実測 -d:releaseコンパイルで約26%, -d:dangerで約33%高速化している。 (実際の高速化はこの一つ前のバージョン2.0.10でされている) http://mevius.5ch.net/test/read.cgi/tech/1659660050/266
267: デフォルトの名無しさん (ワッチョイ 6f9f-xlWa) [sage] 2024/10/03(木) 13:32:37.43 ID:/N1KY/IS0 実用コードでそこまでの差はないだろうけど チェックの省略やTCOが上手になったのかな Cコードで差分とってみてほしい http://mevius.5ch.net/test/read.cgi/tech/1659660050/267
268: デフォルトの名無しさん (ワッチョイ ffad-4whB) [] 2024/10/05(土) 02:05:54.37 ID:dycfQkyl0 266です。 nimから出力されたCコードの差分を取った所、違っていた箇所は以下の2点でした。 ?メイン処理に入る前のnim側の初期化処理(関数名が変わっている) ?フィボナッチ関数内のresult変数の0初期化 ※gccのコンパイルオプションも全く同じ 特に高速化に繋がる変更はなく、なぜ早くなるのか不明でしたが、色々と試して 上記?が原因と分かりました。 nimのresult変数の初期化が入る事で、gcc側のコンパイル最適化で高速化 しているようです。 試しにnim2.0.8でresult変数を0初期化した所、nim2.2.0と同じ処理速度 が出る事が確認できました。 (フィボ関数内の先頭でresult変数を0初期化し、以降の算出値をresult変数に 格納するように変更した) http://mevius.5ch.net/test/read.cgi/tech/1659660050/268
269: デフォルトの名無しさん (ワッチョイ 231f-olmx) [sage] 2024/10/05(土) 14:35:02.61 ID:tOSXTi2h0 >>266 Nimの場合はバックエンドに使うCコンパイラの最適化能力も実行速度に影響します。Nimのバージョン間の実行速度を比較するときにCコンパイラのバージョンを同じにしていますか? 面倒でなければCコンパイラの出力するアセンブリコードを読むと何故result変数を0初期化することが処理速度に影響するかわかると思います。 --passC:"-S"というコンパイラオプションをNimに渡すとnimcacheディレクトリにアセンブリコードが出力されます。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/269
270: デフォルトの名無しさん (ワッチョイ caad-6k2q) [] 2024/10/06(日) 13:25:29.22 ID:yuNPVtUj0 >Nimの場合はバックエンドに使うCコンパイラの最適化能力も実行速度に影響します。Nimのバージョン間の実行速度を比較するときにCコンパイラのバージョンを同じにしていますか? 当然同じ環境です。choosenimでバージョン切り替えて確認してます。 私の疑問点は解消しましたし、gcc側の最適化内容まで追うつもりはないので、私の方の検証はこれで終了とします。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/270
271: デフォルトの名無しさん (ワッチョイ 3901-c8YC) [sage] 2024/10/26(土) 14:10:58.86 ID:lE9emaTH0 Zig言語で開発したターミナルエミュレータだってさ ミッチェル・ハシモト氏の個人開発によるターミナルエミュレータ「Ghostty 1.0」、12月に正式リリース予定。オープンソースとして公開へ 2024年10月25日 https://www.publickey1.jp/blog/24/ghostty_1012.html http://mevius.5ch.net/test/read.cgi/tech/1659660050/271
272: デフォルトの名無しさん (スプープ Sdbf-hCSs) [sage] 2024/11/29(金) 13:35:59.12 ID:cbzvCkJwd Crystalとかわりと新しめな言語っぽいけど次世代言語としてはあんま価値はない感じ? http://mevius.5ch.net/test/read.cgi/tech/1659660050/272
273: デフォルトの名無しさん (ワッチョイ 9f1c-ksDR) [sage] 2024/11/29(金) 14:06:07.15 ID:kgssLEYJ0 対立煽りに荒らし尽くされて過疎ってるだけだから気にせんと何でも書いてってや http://mevius.5ch.net/test/read.cgi/tech/1659660050/273
274: デフォルトの名無しさん (ワッチョイ 7702-cdGy) [sage] 2024/11/29(金) 18:48:03.79 ID:KH+D4ATv0 やはり、実際に採用されたプロダクトが出てくる頻度で見ると、Zigが頭一つ抜けてるな http://mevius.5ch.net/test/read.cgi/tech/1659660050/274
275: デフォルトの名無しさん (ワッチョイ 6208-Dngz) [] 2024/12/03(火) 00:07:23.29 ID:SdCS4Rrb0 zigをCコンパイラもどきとして扱うのはよく見るけどzig言語の採用例ってあんまり多くなくない http://mevius.5ch.net/test/read.cgi/tech/1659660050/275
276: デフォルトの名無しさん (ワッチョイ 96b3-jW52) [sage] 2024/12/03(火) 06:50:16.97 ID:hGt3IOpB0 時雨堂もZig撤退しちゃったしなぁ http://mevius.5ch.net/test/read.cgi/tech/1659660050/276
277: デフォルトの名無しさん (ワッチョイ 4502-WFUB) [sage] 2024/12/03(火) 07:04:26.37 ID:JOdYPQk60 >>276 マジかよ それはショックだな http://mevius.5ch.net/test/read.cgi/tech/1659660050/277
278: デフォルトの名無しさん (ワッチョイ 967c-jW52) [sage] 2024/12/03(火) 07:13:55.18 ID:hGt3IOpB0 >>277 非同期の仕様が全然決まらないかららしい 本家はLLVMに変わるコンパイラバックエンドに注力してるみたいだけど そんなことより言語仕様とか標準ライブラリやったほうがいい気はする… http://mevius.5ch.net/test/read.cgi/tech/1659660050/278
279: デフォルトの名無しさん (ワッチョイ 4502-WFUB) [sage] 2024/12/03(火) 07:40:52.23 ID:JOdYPQk60 >>278 本家は今のCの適用範囲をそのままZigで置換することを目指していて 範囲外にある非同期に関心薄いのはしょうがないのでは http://mevius.5ch.net/test/read.cgi/tech/1659660050/279
280: デフォルトの名無しさん (ワッチョイ 2af5-jW52) [sage] 2024/12/03(火) 08:12:12.79 ID:13VhrJJT0 Cの適用範囲ってのが残ってるのかちょっと疑問はある Rust for Linuxの騒動でも感じたけどCにこだわりのある人はC以外に移行しないと思う 移行してもいいって人はすでにRustなりに行ってる可能性高いし 組み込み系は残ってるけど認定コンパイラ必須だからハードル高いし そもそもユーザ増えないと認定にお金出してくれる会社も現れないんだよな http://mevius.5ch.net/test/read.cgi/tech/1659660050/280
281: デフォルトの名無しさん (ワッチョイ a64d-5eKh) [] 2024/12/03(火) 21:49:17.45 ID:FXu9rGH00 zigは結局メモリ安全じゃないからね ならcでいいってなるね http://mevius.5ch.net/test/read.cgi/tech/1659660050/281
282: デフォルトの名無しさん (ワッチョイ 96b4-jW52) [sage] 2024/12/03(火) 23:16:36.04 ID:hGt3IOpB0 zigは未使用変数がエラーになるとか今風の言語っぽく厳しい部分もC好きな人には合わなさそう http://mevius.5ch.net/test/read.cgi/tech/1659660050/282
283: デフォルトの名無しさん (ワッチョイ 7b5d-XATa) [sage] 2024/12/24(火) 09:41:20.41 ID:Q1P/mCXL0 待望の新言語 WebAssemblyに特化した言語「MoonBit」のコンパイラがGitHubで公開 https://www.publickey1.jp/blog/24/webassemblymoonbitgithub.html http://mevius.5ch.net/test/read.cgi/tech/1659660050/283
284: デフォルトの名無しさん (ワッチョイ 61f0-nFNZ) [sage] 2024/12/27(金) 17:23:49.87 ID:G1CfTzeH0 記述言語OCamlじゃん‥ http://mevius.5ch.net/test/read.cgi/tech/1659660050/284
285: デフォルトの名無しさん (ワッチョイ bbab-XATa) [] 2024/12/27(金) 17:30:07.17 ID:ETOuh+5m0 Haxeを想起させる http://mevius.5ch.net/test/read.cgi/tech/1659660050/285
286: デフォルトの名無しさん (ササクッテロロ Spef-JlZ7) [sage] 2024/12/28(土) 18:36:13.79 ID:6/sbywh9p 今更言語特有の変な記号とか覚えたく、ない http://mevius.5ch.net/test/read.cgi/tech/1659660050/286
287: デフォルトの名無しさん (ワッチョイ 2b01-ZJIG) [sage] 2024/12/28(土) 18:41:10.43 ID:TMKvqX8o0 そもそもWebAssemblyをテキスト形式に書きゃいい わざわざ別言語を挟む必要なし http://mevius.5ch.net/test/read.cgi/tech/1659660050/287
288: デフォルトの名無しさん (ワッチョイ bbd6-XATa) [] 2024/12/28(土) 20:01:23.85 ID:BjukJolw0 ocamlが癌だよなあ llvmにすりゃよかったのに 今時コンパイラをセルフホスト出来てないのは厳しい http://mevius.5ch.net/test/read.cgi/tech/1659660050/288
289: デフォルトの名無しさん (ワッチョイ 5ff0-godm) [sage] 2024/12/29(日) 00:15:57.27 ID:iFrxiC4m0 テキスト形式ってWATのことかな? Component Modelの実装もWATで全部記述するってことだろうけど、つよつよな人だー。 http://mevius.5ch.net/test/read.cgi/tech/1659660050/289
290: デフォルトの名無しさん (ワッチョイ 8b01-XQZH) [sage] 2024/12/29(日) 10:54:43.90 ID:xYvb8s8e0 >>289 現状Wasmを使いたくなるケースがJS系より高速な数値計算くらいなんだからテキスト形式で十分 ブラウザゲームのような特殊な用途ではない限り、現行では未だ課題の多いWasmが従来のJS系+Htmlを食らうことはない Wasmでstdの規格が制定されてWasmファイル容量の大幅削減が実現してからが本番 http://mevius.5ch.net/test/read.cgi/tech/1659660050/290
291: デフォルトの名無しさん (ワッチョイ 1a45-Nl0t) [] 2024/12/29(日) 11:34:20.33 ID:+BdQ0YDt0 https://x.com/bobzhang1988/status/1866342498421096448 一応llvmで書き直す構想はあるみたいだ http://mevius.5ch.net/test/read.cgi/tech/1659660050/291
292: デフォルトの名無しさん (ワッチョイ 03f0-FsiX) [sage] 2024/12/29(日) 14:55:32.92 ID:uE2S0Bjb0 今時のコンパイラならrust+llvmが鉄板なんじゃないの? ライブラリも豊富になってきたし http://mevius.5ch.net/test/read.cgi/tech/1659660050/292
293: デフォルトの名無しさん (ワッチョイ 03f0-FsiX) [sage] 2024/12/29(日) 14:58:20.96 ID:uE2S0Bjb0 >>289 Lispかける人なら余裕だと思うよ 知らんけど http://mevius.5ch.net/test/read.cgi/tech/1659660050/293
294: デフォルトの名無しさん (ワッチョイ 3e0f-8EYK) [] 2025/01/03(金) 03:33:14.60 ID:REb2C/h00 Perlの$%@は良かった http://mevius.5ch.net/test/read.cgi/tech/1659660050/294
295: デフォルトの名無しさん (アウアウエー Sa23-Y8TR) [] 2025/01/05(日) 10:08:03.18 ID:8kdOFrcZa そう思える人はRubyも好きなはず http://mevius.5ch.net/test/read.cgi/tech/1659660050/295
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 13 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s