次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
上下前次1-新
262(2): (オイコラミネオ MM1b-qpqo) 2024/09/01(日)15:29 ID:f0nFMo6oM(1) AAS
RustがCより速くなるベンチマークは見たことがないです
NimのORCは明示的にオブジェクトプールを使ったプログラミングが必要ですが
ベンチマークがCより2倍以上速くなって、特にハードなリアルタイムシステム向け
のチューニングもできるようになっているようです
外部リンク:zenn.dev
NimがCより2倍以上速くなって、しかもORCでメモリ安全も担保されているなら
Rustを使う意味がなくなると思うのですが、このベンチマークは本当なのでしょうか?
263: (ワッチョイ eaad-voeu) 2024/09/08(日)01:45 ID:Hh5CAE6t0(1) AAS
>>262
nimは一旦cに変換してコンパイルするので、cより早くなる事はないです。
ベンチマークで早くなっているのは、メモリプールを使っているからです。
(個別にヒープメモリを確保するのではなく、大きなブロックで一度に確保して
自分で割り当てを管理しているから)
私もcでメモリプールを実装した事がありますが、ヒープのメモリ確保のコスト
は以外と大きくて、一括で確保するのはパフォーマンスの面で効果が大きいです。
省9
264: (ワッチョイ f9df-BHET) 2024/09/08(日)07:43 ID:vegiTRtO0(1) AAS
>>262
>ベンチマークがCより2倍以上速くなって
という記述は見当たらないけど
> NimがCより2倍以上速くなって、しかもORCでメモリ安全も担保されているなら
> Rustを使う意味がなくなると思うのですが、このベンチマークは本当なのでしょうか?
「メモリプールが速い」は本当だろう
「Cより速い」は、そもそもそんなことを書いてないのでダウト
省1
265: (アウアウエー Sadf-D2eP) 2024/10/02(水)13:03 ID:XbzwGALZa(1) AAS
RustがNimより速い訳がない
266(1): (ワッチョイ ffad-4whB) 2024/10/03(木)12:29 ID:gQlcDFcc0(1) AAS
nim 2.2.0 リリース
久しぶりに速度をはかるとかなり高速化されているようだ。
単純なフィボナッチ計算45桁で実測
-d:releaseコンパイルで約26%, -d:dangerで約33%高速化している。
(実際の高速化はこの一つ前のバージョン2.0.10でされている)
267: (ワッチョイ 6f9f-xlWa) 2024/10/03(木)13:32 ID:/N1KY/IS0(1) AAS
実用コードでそこまでの差はないだろうけど
チェックの省略やTCOが上手になったのかな
Cコードで差分とってみてほしい
268: (ワッチョイ ffad-4whB) 2024/10/05(土)02:05 ID:dycfQkyl0(1) AAS
266です。
nimから出力されたCコードの差分を取った所、違っていた箇所は以下の2点でした。
?メイン処理に入る前のnim側の初期化処理(関数名が変わっている)
?フィボナッチ関数内のresult変数の0初期化
※gccのコンパイルオプションも全く同じ
特に高速化に繋がる変更はなく、なぜ早くなるのか不明でしたが、色々と試して
上記?が原因と分かりました。
省6
269: (ワッチョイ 231f-olmx) 2024/10/05(土)14:35 ID:tOSXTi2h0(1) AAS
>>266
Nimの場合はバックエンドに使うCコンパイラの最適化能力も実行速度に影響します。Nimのバージョン間の実行速度を比較するときにCコンパイラのバージョンを同じにしていますか?
面倒でなければCコンパイラの出力するアセンブリコードを読むと何故result変数を0初期化することが処理速度に影響するかわかると思います。
--passC:"-S"というコンパイラオプションをNimに渡すとnimcacheディレクトリにアセンブリコードが出力されます。
270: (ワッチョイ caad-6k2q) 2024/10/06(日)13:25 ID:yuNPVtUj0(1) AAS
>Nimの場合はバックエンドに使うCコンパイラの最適化能力も実行速度に影響します。Nimのバージョン間の実行速度を比較するときにCコンパイラのバージョンを同じにしていますか?
当然同じ環境です。choosenimでバージョン切り替えて確認してます。
私の疑問点は解消しましたし、gcc側の最適化内容まで追うつもりはないので、私の方の検証はこれで終了とします。
271: (ワッチョイ 3901-c8YC) 2024/10/26(土)14:10 ID:lE9emaTH0(1) AAS
Zig言語で開発したターミナルエミュレータだってさ
ミッチェル・ハシモト氏の個人開発によるターミナルエミュレータ「Ghostty 1.0」、12月に正式リリース予定。オープンソースとして公開へ
2024年10月25日
外部リンク[html]:www.publickey1.jp
272: (スプープ Sdbf-hCSs) 2024/11/29(金)13:35 ID:cbzvCkJwd(1) AAS
Crystalとかわりと新しめな言語っぽいけど次世代言語としてはあんま価値はない感じ?
273: (ワッチョイ 9f1c-ksDR) 2024/11/29(金)14:06 ID:kgssLEYJ0(1) AAS
対立煽りに荒らし尽くされて過疎ってるだけだから気にせんと何でも書いてってや
274: (ワッチョイ 7702-cdGy) 2024/11/29(金)18:48 ID:KH+D4ATv0(1) AAS
やはり、実際に採用されたプロダクトが出てくる頻度で見ると、Zigが頭一つ抜けてるな
275: (ワッチョイ 6208-Dngz) 2024/12/03(火)00:07 ID:SdCS4Rrb0(1) AAS
zigをCコンパイラもどきとして扱うのはよく見るけどzig言語の採用例ってあんまり多くなくない
276(1): (ワッチョイ 96b3-jW52) 2024/12/03(火)06:50 ID:hGt3IOpB0(1/3) AAS
時雨堂もZig撤退しちゃったしなぁ
277(1): (ワッチョイ 4502-WFUB) 2024/12/03(火)07:04 ID:JOdYPQk60(1/2) AAS
>>276
マジかよ
それはショックだな
278(1): (ワッチョイ 967c-jW52) 2024/12/03(火)07:13 ID:hGt3IOpB0(2/3) AAS
>>277
非同期の仕様が全然決まらないかららしい
本家はLLVMに変わるコンパイラバックエンドに注力してるみたいだけど
そんなことより言語仕様とか標準ライブラリやったほうがいい気はする…
279: (ワッチョイ 4502-WFUB) 2024/12/03(火)07:40 ID:JOdYPQk60(2/2) AAS
>>278
本家は今のCの適用範囲をそのままZigで置換することを目指していて
範囲外にある非同期に関心薄いのはしょうがないのでは
280: (ワッチョイ 2af5-jW52) 2024/12/03(火)08:12 ID:13VhrJJT0(1) AAS
Cの適用範囲ってのが残ってるのかちょっと疑問はある
Rust for Linuxの騒動でも感じたけどCにこだわりのある人はC以外に移行しないと思う
移行してもいいって人はすでにRustなりに行ってる可能性高いし
組み込み系は残ってるけど認定コンパイラ必須だからハードル高いし
そもそもユーザ増えないと認定にお金出してくれる会社も現れないんだよな
281: (ワッチョイ a64d-5eKh) 2024/12/03(火)21:49 ID:FXu9rGH00(1) AAS
zigは結局メモリ安全じゃないからね
ならcでいいってなるね
282: (ワッチョイ 96b4-jW52) 2024/12/03(火)23:16 ID:hGt3IOpB0(3/3) AAS
zigは未使用変数がエラーになるとか今風の言語っぽく厳しい部分もC好きな人には合わなさそう
283: (ワッチョイ 7b5d-XATa) 2024/12/24(火)09:41 ID:Q1P/mCXL0(1) AAS
待望の新言語
WebAssemblyに特化した言語「MoonBit」のコンパイラがGitHubで公開
外部リンク[html]:www.publickey1.jp
284: (ワッチョイ 61f0-nFNZ) 2024/12/27(金)17:23 ID:G1CfTzeH0(1) AAS
記述言語OCamlじゃん‥
285: (ワッチョイ bbab-XATa) 2024/12/27(金)17:30 ID:ETOuh+5m0(1) AAS
Haxeを想起させる
286: (ササクッテロロ Spef-JlZ7) 2024/12/28(土)18:36 ID:6/sbywh9p(1) AAS
今更言語特有の変な記号とか覚えたく、ない
287: (ワッチョイ 2b01-ZJIG) 2024/12/28(土)18:41 ID:TMKvqX8o0(1) AAS
そもそもWebAssemblyをテキスト形式に書きゃいい
わざわざ別言語を挟む必要なし
288: (ワッチョイ bbd6-XATa) 2024/12/28(土)20:01 ID:BjukJolw0(1) AAS
ocamlが癌だよなあ
llvmにすりゃよかったのに
今時コンパイラをセルフホスト出来てないのは厳しい
289(2): (ワッチョイ 5ff0-godm) 2024/12/29(日)00:15 ID:iFrxiC4m0(1) AAS
テキスト形式ってWATのことかな?
Component Modelの実装もWATで全部記述するってことだろうけど、つよつよな人だー。
290: (ワッチョイ 8b01-XQZH) 2024/12/29(日)10:54 ID:xYvb8s8e0(1) AAS
>>289
現状Wasmを使いたくなるケースがJS系より高速な数値計算くらいなんだからテキスト形式で十分
ブラウザゲームのような特殊な用途ではない限り、現行では未だ課題の多いWasmが従来のJS系+Htmlを食らうことはない
Wasmでstdの規格が制定されてWasmファイル容量の大幅削減が実現してからが本番
291: (ワッチョイ 1a45-Nl0t) 2024/12/29(日)11:34 ID:+BdQ0YDt0(1) AAS
外部リンク:x.com
一応llvmで書き直す構想はあるみたいだ
292: (ワッチョイ 03f0-FsiX) 2024/12/29(日)14:55 ID:uE2S0Bjb0(1/2) AAS
今時のコンパイラならrust+llvmが鉄板なんじゃないの?
ライブラリも豊富になってきたし
293: (ワッチョイ 03f0-FsiX) 2024/12/29(日)14:58 ID:uE2S0Bjb0(2/2) AAS
>>289
Lispかける人なら余裕だと思うよ
知らんけど
294: (ワッチョイ 3e0f-8EYK) 01/03(金)03:33 ID:REb2C/h00(1) AAS
Perlの$%@は良かった
295: (アウアウエー Sa23-Y8TR) 01/05(日)10:08 ID:8kdOFrcZa(1) AAS
そう思える人はRubyも好きなはず
296(1): (ワッチョイ cf57-VyPR) 01/19(日)19:22 ID:zgJXkwkZ0(1) AAS
Zigは0.14.0がリリースできず2月に先延ばしされました
今回issue残件が脅威の1000件超えのままだけど来月までに選別していつも通り大半を持ち越し
目玉の増分ビルドは正式リリースに届かないっぽいかな
他も根本から書き直しってのが多くて新機能は何が正式に入るのか謎だ
297: (ワッチョイ fff4-Rgmu) 01/20(月)07:55 ID:/rx6KXgc0(1) AAS
>>296
増分ビルドはnightlyでマージ済み
298: (ワッチョイ 0b2a-7Nk8) 03/06(木)15:04 ID:Y61FoeXm0(1) AAS
zig-0.14.0出たよ!恒例の延期はあったけどね
増分ビルドはテスト不足でデフォルトだと無効になっちゃってるようだ
> this feature is not ready to be enabled by default,
> it can be opted into via the -fincremental flag passed to zig build.
使ってみたいなら -fincremental オプションで明示的にオプトインしてねってことなので
有効化したらメッチャ高速になった…!ええやん!
299: (ワッチョイ 3102-TLa3) 03/06(木)19:12 ID:l4jw4h0Z0(1) AAS
Zig 1.0はいつ出るの?
300: (ワッチョイ 112b-K6h+) 03/06(木)19:46 ID:38v8ReeR0(1) AAS
最後の大物、コルーチンをサポートしてzig 1.0かなぁって予想。
301: (ワッチョイ 454b-bZOK) 03/24(月)18:22 ID:mpEtAgOm0(1) AAS
>>229
きりのいいとろこで2030年ごろじゃね?
302(1): (ワッチョイ c269-JIbt) 03/24(月)22:03 ID:+P7EWERr0(1) AAS
MoonBitでLLVMを再構築するとのこと
> We will rebuild a better LLVM in MoonBit starting this year,
> modern compiler toolchain in a modern language and it will be deveoped in OSS
303: (ワッチョイ e1f0-Y8I3) 03/25(火)13:53 ID:z+9Q790S0(1) AAS
>>302
は?別にそこはいいじゃん
304: (ワッチョイ 9b27-iF7r) 05/20(火)08:58 ID:wvxe5xAp0(1) AAS
待望の新言語
魔法陣のようなプログラミング言語「Mystical」
外部リンク:gigazine.net
305: (ワッチョイ 4f54-gGGB) 05/21(水)05:37 ID:tVhMy6rt0(1) AAS
元はforthかな
306: (ワッチョイ 46a2-CQkj) 07/13(日)21:25 ID:ttim25hJ0(1) AAS
待望の新言語
jank programming language
外部リンク:jank-lang.org
307: (ワッチョイ a65e-bbtO) 07/14(月)13:40 ID:qata7TEE0(1) AAS
lisp方言が増える感じなのかな?
clojureは、結構javaのクラスライブラリ呼んでなんとかしてる感じしたので、その点どうなるのかね。
308: (ワッチョイ cab3-AbPb) 07/17(木)12:44 ID:TY8Q4fcO0(1) AAS
Unison 言語から、「次」の言語を考察したい
外部リンク:zenn.dev
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.558s*