次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
上下前次1-新
58: (ワッチョイ e936-4eON) 2022/08/18(木)21:22 ID:1X5HVpNn0(1) AAS
intel ISAのドキュメントがオレオレ用語多くて意味わからん
59: (ドコグロ MM4f-06yp) 2022/09/05(月)00:54 ID:cFc+MJ1wM(1) AAS
あげ
60(2): (ワッチョイ 5f7c-eJ3+) 2022/09/05(月)01:08 ID:9iTWKe040(1) AAS
nimも早くnull安全にしてくれないかね。
61: (ワッチョイ 0701-Jj1I) 2022/09/05(月)01:34 ID:ARttffD10(1) AAS
ドラゴンブックを見て一つ一つ実装していくのが良いですよ。
誤植が猛烈に多いのも練習問題のような気がしてきますよ。
62: (テテンテンテン MM8f-jyuF) 2022/09/05(月)08:15 ID:HWNfM8e/M(1) AAS
>>60
このあたりは偏執狂のRustの方が上手だな。
いっそのこと参照型のゼロ値は禁止すればいいのに。
63: (ワッチョイ 5f4b-Iguz) 2022/09/05(月)22:33 ID:1hFtemgL0(1) AAS
>>60
std/options で
ひとまずOK じゃないか ?
64(2): (ワッチョイ 4704-Ka/N) 2022/09/06(火)04:20 ID:6xx96XME0(1) AAS
Not nil annotationはversion2.xで使えるようになるらしいよ。
外部リンク:github.com
65: (テテンテンテン MMff-jyuF) 2022/09/06(火)08:29 ID:AHhd6ypaM(1) AAS
>>64
not nil がデフォルトになるとあるね。
66: (ワッチョイ 5f4b-Iguz) 2022/09/06(火)13:26 ID:3wQQbwTr0(1) AAS
>>64
2.0がいつ出るかなんて全く不明
1.8.0の次は1.10.0
次は1.12.0となって。。。
恐らく5年以上先 ?
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
検証??
画像リンク
上下前次1-新書関写板覧索設栞歴
あと 221 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s