次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
1-

67: (テテンテンテン MM8f-jyuF) 2022/09/08(木)12:38 ID:H4D+Re2GM(1) AAS
スタックフレームて大抵の実行環境で使用されているのに、スタックフレームに特化した言語て無いよね。
なんでなんだろう?
68: (ワッチョイ 4704-Ka/N) 2022/09/08(木)17:28 ID:cKTVDYCV0(1) AAS
世の中のほとんどのプログラムにはヒープメモリが必要だからでしょ。
実行時じゃないとサイズがわからないことがあるし、スタック上に動的にメモリ領域を確保できるようにするとかなり大きめにスタックを確保しなくてはならくなるだろうし。
69
(2): (ワッチョイ e7da-ZIhe) 2022/09/08(木)18:05 ID:U6/gufpm0(1) AAS
スタックフレームに特化した言語ってどういうものを想定してるの?
Forthみたいなスタック指向の言語とは違うよね
70: (ワッチョイ 5fe0-InTp) 2022/09/08(木)18:22 ID:ydRaiFc90(1) AAS
実CPUのスタック操作なんて仕様にいれたら足枷だしね
関数のABIとは別に仮想的なローカルスタックを扱えるかんじ?
71: (ブーイモ MM8f-W2iS) 2022/09/08(木)18:50 ID:11l7kxGRM(1) AAS
>>69
COBOL++でしょ
72
(1): (テテンテンテン MM8f-jyuF) 2022/09/08(木)19:36 ID:gDKj2SJwM(1) AAS
>>69
スタックフレームならではの特性をコードに明記できる、といったイメージ。
例えばスタックにあるインスタンスしか受け付けない(参照)引数とかあれば、shared ptrとかunique ptrの参照渡しも安全に使える。
Rustがそこそこいい感じなんだけど、なんか中途半端。
73
(2): (ブーイモ MM8f-W2iS) 2022/09/08(木)21:06 ID:g68A8C0LM(1) AAS
>>72
Rustなら実用上はCopyで十分
74: (ワッチョイ 0701-Iguz) 2022/09/08(木)22:22 ID:D8Erj63H0(1) AAS
>>73
rustの話は向こうのスレでお願い
75: (ワッチョイ bf8c-jyuF) 2022/09/09(金)07:32 ID:v1OYGNdb0(1) AAS
>>73
そういうのが中途半端だと言っている。日本語も読めないのかよ。
76: (ワッチョイ a95f-Yvh5) 2022/09/16(金)11:26 ID:eTFy07in0(1) AAS
800 デフォルトの名無しさん sage 2022/09/15(木) 23:09:10.28 ID:KFRYW2wo
次スレはこれらの言語を入れてください
Zig
外部リンク:ziglang.org
Jakt
外部リンク:github.com
77: (ワッチョイ a563-jxjI) 2022/09/16(金)11:34 ID:CoCetj5m0(1/3) AAS
Jaktは知らないな
どんな処理系かな
78: (ワッチョイ a563-FZWc) 2022/09/16(金)11:58 ID:CoCetj5m0(2/3) AAS
パッと見の構文はRustソックリ
borrow checkerはなく、代わりにARCを使って実行時にメモリ管理しようとしてるっぽい

なんでRustやZig使わないんだろうと気になったけど、自作したSerenityOSのためのエコシステムはできるだけすべて自作したい、くらいの動機みたい
参考: 外部リンク:awesomekling.github.io
まあZig未満のドマイナー言語にとどまりそう
79: (ワッチョイ a563-FZWc) 2022/09/16(金)12:01 ID:CoCetj5m0(3/3) AAS
書き忘れた
jaktはC++へのトランスパイラ、ってのも特徴

SerenityOSはC++で作ってたから、C++トランスパイラにすれば移行しやすかったってことだろう
80: (アウアウウー Sa5b-8eP5) 2022/09/18(日)13:44 ID:KpBP36NGa(1) AAS
トンズラパイラに観えた
81: (ワッチョイ 1e66-JEMU) 2022/09/28(水)19:48 ID:Tun9Z/EC0(1) AAS
Nim追加
Language x10 x100 x200 x400 Memory Comment
--------------------------------------------------------------
Zig 0.118 1.073 2.113 4.203 3.2MB (std.HashMap, caller-hash by Context(Fnv1a_64))
Nim(clang) 0.211 1.171 2.245 4.372 4.2MB (CustomCountTable,LTO,ARC,caller-hash) New
C(gcc) 0.136 1.146 2.271 4.531 2.0MB (optimized.c,binary IO,jemalloc,O4,LTO)
C(clang/LLVM) 0.137 1.147 2.280 4.544 2.0MB (optimized.c,binary IO,jemalloc,O3,LTO)
Go 0.152 1.233 2.428 4.832 3.9MB (caller hash,better loop)
Go 0.164 1.346 2.654 5.279 3.8MB (caller hash)
Rust(LLVM) 0.154 1.425 2.838 5.674 2.6MB (optimized-customhashmap,O3,LTO,caller-hash)

以下、caller-hashではない
Go 0.085 0.366 0.693 1.319 61.9MB (parallel.go,reserve 65536/2)<--マルチスレッド
Nim(clang) 0.218 1.255 2.401 4.691 4.2MB (CustomCountTable,LTO,ARC) New
Zig 0.162 1.493 2.970 5.935 4.6MB (std.StringHashMap)
Go 0.182 1.563 3.063 6.097 3.8MB (customhash.go,reserve 65536)
Rust(LLVM) 0.214 1.725 3.396 6.715 3.5MB (optimized,fxhash,O3,LTO)
Nim(clang) 0.316 2.241 4.371 8.633 4.2MB (optimized.nim,std/CountTable,65536,LTO,ARC,FNV) New
Nim(clang) 0.332 2.387 4.652 9.152 4.2MB (optimized.nim,std/CountTable,65536,LTO,ARC) New

zig 0.10.0-dev/gcc 12.2.0/clang 15.0.0/Nim 1.6.8/go go1.19.1/rust 1.64.0
CPU Zen3@boost~4.75GHz

外部リンク:github.com

2chスレ:tech

今回の検証では、「C」は定点観測用として固定。
Nim/CustomCountTableはinc呼び出しの引数string copyを抑制。

Nimが想像より遥かに速くて「Cと同程度」以上の結果が出た。
82: (ワッチョイ 6bf0-rqSc) 2022/10/09(日)07:33 ID:alq59Sy20(1/2) AAS
検証 外部リンク:blog.fascode.net

Language 10^5 10^6 Comment
----------------------------------
C++(clang) 0.032 1.029 (O3,LTO,vector,fastmod)
Nim(clang) 0.033 1.031 (O3,LTO,Seq,fastmod)
Nim(gcc) 0.041 1.339 (O4,Seq,fastmod)
C++(gcc) 0.042 1.502 (O4,vector,fastmod)

以下、fastmodではない

Odin(LLVM) 0.073 3.784 (o:speed,[dynamic]int)
Nim(clang) 0.074 3.784 (O3,LTO,Seq)
C++(clang) 0.074 3.785 (O3,vector)
Cython(clang) 0.089 3.797 (O3,libcpp.vector)

Nim(gcc) 0.083 4.410 (O4,Seq)
C++(gcc) 0.085 4.412 (O4,vector)
Zig(LLVM) 0.083 4.410 (OReleaseFast,ArrayList)

Julia(LLVM) 0.254 4.583 (JIT,O3,Int[])
Python(Numba) 0.602 5.236 (JIT,list[int])
PyPy 0.162 7.046 (JIT,list[int])
Cython(clang) 0.696 39.603 (O3,list[int])
Python 1.187 75.740 (list[int])

外部リンク:odin-lang.org
外部リンク:github.com

zig 0.10.0-dev/gcc 12.2.0/clang 15.0.2/Nim 1.6.8/Odin dev-2022-10-nightly/
julia 1.8.2/Python 3.10.7/PyPy 7.3.9/Cython 0.29.32/numba 0.56.2
CPU Zen3@boost~4.75GHz
83: (ワッチョイ 6bf0-rqSc) 2022/10/09(日)07:34 ID:alq59Sy20(2/2) AAS
感想:
Juliaは確かに速いが、他との比較は最適化オプションしだい。

動的配列/リストのベンチになるかと思ったが、やってみたらgccが振るわない。
原因はmodulo計算の最適化の違い? 外部リンク:godbolt.org

ZigはLLVMのmodulo最適化をトリガー出来なかったか。

OdinはLLVM AOTコンパイラとしての性能を引き出せている(今回は)
まだ言語機能の特徴をつかんでいないが、映画、ゲームグラフィックス分野で使う様な
ライブラリが最初から入っているのが売り?

Nimは殴り書きとか、書き捨てとか、簡潔に書けて、gcc/clangの速い方を選べて、
fastmodの様なC++「header only」のライブラリを手軽に利用できるのが良い。

Cythonも慣れたらNimと同じように出来るのだろうか。
84: (ワッチョイ 074b-kHT+) 2022/10/09(日)11:10 ID:hHOnLIUR0(1) AAS
並べるときは速度の早い順で書いて下さい
85: (ワッチョイ d9f0-ofdD) 2022/10/31(月)12:29 ID:RFzpfvk70(1) AAS
「Python 3.11」がリリース、4年で5倍の高速化を目指す「Faster Cpython」計画が始動
外部リンク[html]:forest.watch.impress.co.jp

200万ドル程度と見積もられる資金はMicrosoftが協力

参考
Faster-Cpython Microsoft
Pyjion Microsoft
Cinder Instagram/Facebook/Meta
GraalPy Oracle
Pyston Dropbox->pyston-lite
Ruby3 3倍速->rya
86: (ワッチョイ 8901-HLP5) 2022/10/31(月)13:03 ID:4lYEr6WH0(1) AAS
Rust「…」
87
(1): (ワッチョイ e5f0-FFna) 2022/11/13(日)10:14 ID:lA0JSaU/0(1) AAS
検証??
画像リンク

88: (ワッチョイ 234b-H0Ic) 2022/11/13(日)17:19 ID:vYboHCwy0(1) AAS
>>87
時間比較する時は
時間で昇順ソートした表を掲載して下さい
89: (アウアウウー Saa9-FFna) 2022/11/14(月)11:28 ID:EWF0SvAna(1) AAS
>Nimが想像より遥かに速くて「Cと同程度」以上の結果

Nimが速いのはトランスパイラだからな
90: (ワッチョイ c34b-TaOI) 2022/11/19(土)20:53 ID:7QNjN12J0(1) AAS
Nimの実行速度はGCCと同等と思って良い
91
(2): (アウアウウー Sa5b-tkFl) 2022/11/28(月)15:07 ID:6X8/W5dUa(1/2) AAS
他人が比較したやつを載せるんじゃなくてお前が比較したやつ載せろよ
92: (JP 0Hcf-RPwI) 2022/11/28(月)17:49 ID:SIJnWXGqH(1) AAS
なら >>91 が 比較しろ
93: (アウアウウー Sa5b-tkFl) 2022/11/28(月)18:00 ID:6X8/W5dUa(2/2) AAS
何でやねん
94: (ワッチョイ ffcf-ykd8) 2022/11/28(月)18:40 ID:LDNjf6uN0(1) AAS
今更だけど、スレタイが前スレとは違う言語だらけで
マイナーなのをウォッチする別スレかと思ってたわ
95: (ワッチョイ b7a4-O5Hl) 2022/11/29(火)00:59 ID:QobrmxBH0(1) AAS
TypeScript、Go、Swift、Kotlinって次世代でも何でもなく普及しきってる現役言語で、それぞれ言語別のスレが伸びてるし、
ここはこのスレタイで良いと思うわ
96: (ワッチョイ b74e-WfGi) 2022/11/29(火)12:05 ID:zwTDTYOm0(1) AAS
Gleamだけ知らんのだがどんな言語?
1-
あと 212 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s