Goose、C++より1.16倍速く安全なRustより1.12倍速いメモリ安全言語
Goose: 1.16x faster than C++ and 1.12x than safe Rust, while memory safe
Gooseはヒープを持たず、すべての動的値がコンパイラ管理のデータスタック上にインラインで存在するメモリ安全なシステム言語。16ベンチマークでC++の1.16倍、安全なRustの1.12倍の速度を、それぞれ1.3倍、1.2倍少ないメモリで実現。アロケータもGCもライフタイム注釈も不要で、参照は成長後も有効、データはそのままファイル形式になる。
メモリ安全でありながら、C++や安全なRustよりも高速で、メモリ使用量も少なく、アロケータもGCもライフタイム注釈も不要。
HNでの議論
68- dang
投稿者が、言語に投稿前に追加すべき重要な要素が欠けているため、これを削除してほしいと依頼してきました。スレッドが非常に活発なのでそれはできないと思いますが、準備ができたら再投稿できるように、この投稿は埋もれさせておきます。
- tom_
Claudeのテキストが多すぎる。これは素晴らしいに違いない(何年も前にaardappelのlobsterでいろいろやったことがあるが、かなり整っていて扱いやすかった)が、Claudeの文章は脳が溶ける。
私には合わない。すみません。
- sodacanner
なぜLLMにREADMEを書かせるのか、まったく理解できない。コードや実装?それはもちろん!コーディングエージェントの目的はそれだ。
しかしREADMEは?それはプロジェクトについて最初に読むものだ。LLMに詳しい人なら、誰が書いたか一瞬で見抜ける。自分のプロジェクトを自分の言葉で書けるほど理解しているはずだよね?そうでなければ、そもそもプロジェクトの目的は何なのか?
- backlands
> GooseはCやRustに似ていて、1つのアイデアに基づいて作られている:ヒープは存在しない
つまり、メモリ管理を100%スコープベースに制限しているようだ。そのため、多くのプログラム設計がRustやJava(例えば)に適合するようには、この言語にうまく翻訳できないだろうと思う。さらに下に挙げられている、もっと制約の多い設計上の選択肢がいくつかある:
> - 何も移動しない
> - ... 文字列、文字列の配列、可変サイズのフィールドを持つレコード、およびそれらのレコードの配列は、それぞれポインタを含まない1つの連続したブロックである
この言語で多くのものを書くことが実現可能かどうかを判断するには、もう少し深く調べる必要がある。
- pizlonator
これは素晴らしい。
しかしベンチマークは小さく、Gooseはそれらに合わせてチューニングされている可能性が高い。
なので、こう読むべきだろう:GooseはCやRustと競争力のあるパフォーマンスを持ち、Rustと同じくらいメモリ安全だと彼らの言葉を信じる。