[過去ログ] プログラミング言語 Rust 4 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
19: 2017/10/17(火)15:47:54.26 ID:wIRdElZt(1)調 AAS
>>18
ブラウザのレンダリング速度ってcssをどれくらい速く捌けるかが大部分なんじゃないの?
それ以外がRustになったところで速くなるといっても微々たるものなのでは...
Servoって確かJSエンジンは従来のSpiderMonkeyをそのまま使ってるんだよね
JSはGCあるし、DOM管理(Rust側のDOMオブジェクトとの連携)とかどうやってるのかよく分からんけど
DOM管理の部分とかがRustになったらさらに速くなるのかな?
今のQuantumってGecko全体の何%くらいがRustになってるんだろう?
58: 2017/10/30(月)21:06:32.26 ID:4dqnj7Aj(1/2)調 AAS
>>35
まず、そのままのコードでは new() の返り値が move されるときに
&x のアドレスが変わってしまう(実際には最適化で move されない
だろうけど言語仕様的には)ので、そのコードがエラーになるのは正当。
なので x か Foo 全体を box 化する必要がある。ただ box 化すれば
コンパイルが通るかというと、 box を deref して得られる参照は box
の中身の寿命ではなく box 自身の寿命になるので、 transmute で
チートする必要がある。
fn new() -> Self {
let mut foo = Box:new(Foo {
x: 32,
x_ref: unsafe { mem::uninitialized() },
});
foo.x_ref = unsafe{ mem::transmute::<_, &'static _>(&foo.x) };
foo
}
124: 2017/11/15(水)18:58:57.26 ID:JXP4Zmpc(1)調 AAS
ドワンゴがなんか作ってたね
179: 2017/11/19(日)17:18:54.26 ID:PCwXQfC9(2/3)調 AAS
俺が言ってるのは、別にマルチスレッドで動かすわけでもないプログラムを所有権どうこうで弾いて、
本来正しく動くはずのプログラムがコンパイルエラーになり、つまりプログラミング言語としてはご法度の、
書けないプログラムが存在するってことについて異議を唱えてる
248: 2017/11/25(土)05:40:17.26 ID:lbdvAXfn(1/3)調 AAS
Javaも最初の頃はマトモに書いてもコンパイル通らなかったこといくらでもあったもんな。
286: 2017/11/27(月)01:55:07.26 AAS
RustでDPできないの?
332: 2017/11/29(水)22:01:09.26 ID:pXSSowmn(1)調 AAS
Readした結果はmutableでいいのにlet mutと書かなければならんの面倒
人によってはletで再宣言するのかな
602(1): 2018/01/08(月)23:59:18.26 ID:y4IOANaR(3/3)調 AAS
>>575 >>596
Rustは実装にもよるけど vtable はほとんど使わないはずだよ。
「ジェネリックとトレイト境界」を使えば引数に関しては静的ディスパッチが可能。
戻り値のほうは「ジェネリックとトレイト境界」じゃどうにもできないけど、
こっちはTagged Union 使えば大体は何とかなる。
現状、クロージャを返す場合はトレイトオブジェクトを使わざるを得ないけど、
クロージャを返すことって稀だし、そこまで気にするようなことじゃないと思ってる。
Cにはそもそもクロージャ自体が存在しないわけだし。C++でもクロージャは一般的じゃない。
smart pointer に関しても unique_ptr なら遅くはならない。(ほとんど誤差みたいなもの)
だって unique_ptr は参照カウンタ使ってないし、Rallの仕組みを使って構造体(スタック)に
ポインタを持ってデストラクタで解放を行ってるだけだから、その程度で遅くなるわけがない。
そして、Rustはデフォルトが C++の unique_ptr と同じだからやはり遅くはならないはず。
遅くなるのは内部で参照カウンタを使ってるshared_ptrとweek_ptrの2つ。
Rustの場合は参照カウンタは Rc or Arc として標準ライブラリに用意されてる。
まあ、Rustで Rc or Arc を全く使わずに作るってのはちょっと現実的じゃないけど。
まぁ、自分もそれほど詳しいわけじゃないけど、
vtableとsmart pointer はRustが遅い理由にはならないんじゃないかな。
RustがC, C++ と比べて少し遅い理由は他にあると思うよ。
個人的にはまだコンパイラが成熟してないってのが主な理由だと思ってるけど。
結構いっぱい書いたけど、やっぱり結論としてはC, C++, Rust の速度差は普通に使う分には気にすようなものじゃないと思う。
653: 2018/01/13(土)19:34:17.26 ID:aU8wc9zz(1/2)調 AAS
エクセルは芸術
674(1): 2018/01/14(日)14:56:20.26 ID:ptHdDqnU(1)調 AAS
>>663 勝手にブラックボックスを作るべきではない
>>664 ブラックボックスなどないではないか
>>668 プログラミングとはそういうものだ
>>663への反論として>>664はわかるが>>668はなんかずれてると思うがな。
766: 2018/01/24(水)20:44:20.26 ID:FegGsCEt(1)調 AAS
数日前 Twitterに落ちてたWebFrameWorkの比較
https://github.com/tbrand/which_is_the_fastest
817(1): 2018/01/27(土)06:21:41.26 ID:Iiinp9++(1/2)調 AAS
>>816
特にRustはこう見えて、まだ実績のない新しい技術は採用してないからな
traitはHaskellの型クラスそのままだし
凶悪で有名なボローチェッカだってC++で既に確立されてる
メモリオーナーシップの概念をコンパイラレベルで組み込んでみただけに過ぎない
どれも既に他言語で実績のある(枯れた)ものしか使っていない
Rust(錆)ってのはそういう意味もあるんだろう
Rustは理想ばっかり追い求めたの言語とか揶揄されることがあるが意外と現実主義だよ
878(2): 2018/02/05(月)10:17:07.26 ID:/K8k+grU(2/2)調 AAS
>>876
LinuxカーネルのMLもクローズドってこと?
ばかかな?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.042s