Rust Part6

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2018/07/28(土) 03:04:38.63ID:kAX50nYD
Mozilla発のRust言語のスレ

公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

前スレ
Rust Part5
http://mevius.5ch.net/test/read.cgi/tech/1518347244/
2019/06/21(金) 16:17:30.34ID:8yQGF7bg
>>953
「セキュリティに関わるのでお答えできません。知りたきゃソース見ろ」
だそうです
2019/06/21(金) 17:18:46.69ID:FvcOClmC
危険、危険と騒ぐ無知は有害。速やかに排除すべき
2019/06/21(金) 17:40:54.25ID:s5JHKbLh
C++はRustだった
今すぐモジラのステマ言語C++を使うのをやめろ
2019/06/21(金) 21:47:37.81ID:0JVOBbqs
別にfirefoxなくても困らんよ?
2019/06/21(金) 22:00:47.70ID:zwirEYdx
それでもFireFoxがいい
軽さとセキュリティの誠実さ
ブックマーク回りはころころ変わってひどいけど
2019/06/21(金) 23:52:53.60ID:F6GKmJuz
GoogleやMicrosoftのWebブラウザは十数枚開いただけでメモリ消費がやばいことになる
Mozillaならそんなことない
2019/06/23(日) 02:43:54.79ID:mYxXL7rb
実践Rustのソートが全くわからん
961デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:52:27.18ID:PlixDsJK
何ページ?おっちゃんが教えたる
2019/06/23(日) 09:03:51.96ID:7oQ4NVSK
実践Rustって、電子書籍版を8インチタブレット(iPad mini)でちゃんと読める大きさ?
前に出たRust本は余白カット表示してギリギリって感じだった
2019/06/23(日) 10:09:46.75ID:mYxXL7rb
ソーティングネットワークのあたり
2019/06/23(日) 13:00:06.41ID:xLLf8ygu
>>959
逆だろ
火狐はタブ10個も開けばカクツキ起きるしそれからほどなくしてフリーズ
Chromeはもちろんクソクソ言われてるEdgeすらも
動作の安定面では火狐なんぞには負けん
ちなWin10
2019/06/23(日) 14:46:23.23ID:1G/MWnzG
>>960
本のステップで分ける説明より、2→4→8→... と増えていく図を見たほうが分かりやすいと思った

ttps://www.cs.rutgers.edu/~venugopa/parallel_summer2012/bitonic_overview.html
2019/06/25(火) 23:51:23.60ID:AQcTxIKJ
>>964
FireFoxで10タブ開いてみたけどなんも変わらんよ?
2019/06/29(土) 22:20:17.93ID:nCAqicSi
>>966
20~30くらい同時に開くとビジーになるからビジーとフリーズの区別がついてないんだと思う。
2019/06/30(日) 03:54:59.91ID:Qwp9+Qng
IEやChromeで100Tabとか開いたらメモリを食いつぶしてまとも動かないよ
969デフォルトの名無しさん
垢版 |
2019/06/30(日) 12:09:57.07ID:QU2Ls1X6
ffモナ
2019/06/30(日) 12:50:53.67ID:9MaqxN1M
その分今でもメモリ周りでバギーってのは笑わせますね。
2019/07/02(火) 23:13:32.01ID:FbIiTj7v
Firefoxなら100タブくらい大丈夫だよ。IE、Chromiumでそんな事したら他の作業が出来なくなってしまうけど
実際に比べた上でFirefoxを使っている。開発やっていると開くページがどんどん増える
972デフォルトの名無しさん
垢版 |
2019/07/03(水) 13:38:17.25ID:aJKbsp3m
ffが大丈夫だと思うのは気のせい
2019/07/03(水) 23:03:04.57ID:jXq99Py9
Rust→IR→Cが実用出来るようになるのはいつだ
LLVMが対応していないアーキテクチャでRustを使いたいねん
それともトランスパイラを作った方が早いかなぁ
2019/07/03(水) 23:13:41.05ID:ahV0OFdq
>>973
V言語使えよ
2019/07/03(水) 23:20:25.57ID:+l3ADsTn
IR to Cは昔できたのにな
976デフォルトの名無しさん
垢版 |
2019/07/03(水) 23:20:30.76ID:SPfaWtwb
524 デフォルトの名無しさん sage 2019/07/02(火) 14:38:03.95 ID:ep8keXko
言語機能の複雑さという代償はあったが
GC無しでリージョン推論を実現したのがRust

記述性のためGCを入れつつも遅延を最小にすべく
GCの性能向上に努めたのがGO

一方vlangの公式によると
https://vlang.io/
> V manages memory at compilation time (like Rust)
https://vlang.io/compare
> - No GC
> That's why the language is so simple

・Rustのようにコンパイル時にメモリ管理される
・Goのように書けるがGC不要
・それでいてRustのような複雑さは無い
・という予定(まだ未実装)

本当にこの通り実現するなら
GoとRustの設計者達にマウント取れるレベル
526 デフォルトの名無しさん sage 2019/07/02(火) 14:59:25.78 ID:ep8keXko
ちなみに自動メモリ管理が未実装なので、以下の記事によると
hello worldやvlangコンパイラ自体もメモリリークしているとのこと
https://christine.website/blog/v-vaporware-2019-06-23
> The compiler itself also leaks memory
531 デフォルトの名無しさん 2019/07/02(火) 18:22:15.31 ID:NqAwj9wC
>>526
www
532 デフォルトの名無しさん sage 2019/07/02(火) 18:59:24.21 ID:8dHuftNb
>>526
あっ・・・(察し)
2019/07/03(水) 23:31:44.31ID:EsMPn/2r
>>973
rust2cトランスレータはとっくの昔にあるしとっくの昔にどれも開発止まってる
rust->llvm->c->任意のコンパイラで出来るじゃん。
2019/07/04(木) 07:00:47.22ID:oyQSn2Ss
>>974
生ポインタ使えるの?新しすぎるせいからしい情報が見つからんかった

>>977
今出てくるCバックエンドの話って関数レベルで使えれば御の字みたいなのばっかりに見える
プロジェクトレベルで実用に耐えるワークフローがあるなら詳細を知りたい
979デフォルトの名無しさん
垢版 |
2019/07/04(木) 11:51:58.94ID:NOiQUdad
>>608
横田さん潜伏中に生魚あたってハイタのかな?排他だけに。
なかなかRockだね!Lockだけに。
2019/07/04(木) 23:15:23.31ID:EwvcD2Pv
>>978
>プロジェクトレベルで実用に耐えるワークフローがあるなら詳細を知りたい
rustでは見たこと無いね。操作的意味論に基づいて命令列とグルーコードに変換するものばかり。
というかそれ以外は難しいと思う。
2019/07/05(金) 01:27:12.64ID:kDhA893Y
>>980
やっぱりそうか、残念。LLVMのバックエンドは作れる気がしないしトランスパイラの方が望みがあるけど
それでもELFのパーサとジェネレータ、変換元機械語のデコーダは最低必要だな
こういうのって処理系やエミュレータ等でしばしば使われるけど、単体のライブラリとなるとx86とかの
有名なアーキテクチャですらなかなかないんだよな
2019/07/05(金) 20:56:59.69ID:Mh/7XJmJ
Cと比べたらノウハウ少ないかもしれんけど、LLVMバックエンド作るのってそんなに面倒なの?
LLVM->Cって抽象度上げる方向だし参考になるものがもっと少ない気がする。ecmascriptenくらいじゃない?
2019/07/05(金) 21:57:46.40ID:kDhA893Y
>>982
Rust to Cは自分の手に負えそうにないので他力本願です
ググって出てくる情報を見る限り最適化コンパイラを自作できるくらいの理解がないとLLVMの理解とバックエンドの開発は難しそうに感じます
各言語やアセンブラを使える程度の理解では歯が立ちそうにないです

なので機械語 to 機械語(もしくはアセンブラ to アセンブラ)の方がまだ望みがあるかなと
2019/07/05(金) 23:46:41.28ID:C+fxCwB0
バイナリ変換ってかなり壮大な研究テーマでは…。
どうしてもLLVMに触れたくないならLLVM-IR to アセンブリを自作するほうがまだましかな。

結局素直に勉強してLLVMバックエンド作るのが一番早いと思うけど。
2019/07/06(土) 00:04:57.41ID:auWtVfNl
んなことするならc使った方がマシ
2019/07/06(土) 06:53:43.23ID:xpE3I6/t
>>984
LLVM IRってレジスタ数が青天井ですしstd付きとはいえHello worldですら十数本使っているようです
何処まで増えるのか判りませんがレジスタを数百本使うIRとか吐かれたら何とかなる気がしません

勉強すると言ってもどこから手を付ければいいのか判らない状態ですし最近は相対的にローレベルな
情報自体が減少しています。運良く自分が理解できる資料や教材に巡り会えない限り難しそうです
987デフォルトの名無しさん
垢版 |
2019/07/06(土) 09:55:08.49ID:zcl3Wfgw
オレオレ → LLVM はレジスタ何本あってもOK
LLVM → CPUネイティブ は良きに計らえ

オレらの仕事は前者
気にすんな
2019/07/06(土) 12:04:38.86ID:ZIhPrSwc
そこまで部分の最適化って自分でやらにゃならんし
計算と制約を記述するのに適したその手前までの中間言語ってないじゃろか
Lispとかか
2019/07/06(土) 13:45:06.47ID:LdZDcwTE
バイナリ変換ってダブルバッファリング的な事しないと整合性とれねー気がした。
2019/07/06(土) 13:49:10.31ID:ZIhPrSwc
いみふめい
2019/07/06(土) 17:36:17.74ID:9tt4vzxp
>>988
レジスタが1〜2本足りないくらいなら使用頻度の低いのからメモリに逃がす方法で何とかなりそうだけど
全然足りない場合全く別の方法が必要そうですが思いつかないです。自分にとっては高度な問題です

Rustと言うかLLVMが吐けてターゲットとの相性が良さそうなアーキテクチャを選ぶ必要があるけどこれも難問かな
IA32/AMD64はメジャーだけど建て増ししすぎでアドレッシングモードとかスーパーカオスだし無駄に命令も多い
ARM7あたりが無難だろうか。分岐処理が特徴的なようだけどRISCの割にレジスタが少なめなのも好条件か
純RISC系は命令セットが単純だけどレジスタが多くてLLVM IRと同じ問題が出てきそう
2019/07/06(土) 17:38:47.90ID:LdZDcwTE
キューイングしてガンガン処理して節目でプログラムカウンタを1増やす。とか理想を語る俺。
2019/07/07(日) 16:07:05.22ID:4q0rOBDI
2つのvectorの同じインデックスの要素を比較したいときってどうかくのがスマートなんでしょう
2019/07/07(日) 16:38:57.74ID:RypgULSw
>>993
zip
2019/07/07(日) 23:58:58.81ID:HO2UM4SM
MISPならツールチェイン揃ってるからPS系ハードで動かないことはない
2019/07/14(日) 21:58:47.03ID:u4tB0f+V
コンパイラチェッカーについて簡潔にまとまっている資料とかないんだろうか
数ヶ月ぶりに触ったらすっかり記憶の彼方だわ
2019/07/14(日) 23:32:23.74ID:PySyhRf9
次スレ立てた
Rust Part7
http://mevius.5ch.net/test/read.cgi/tech/1563114707/
2019/07/15(月) 16:19:43.86ID:md6OUoiD
RustってVisual Studio Codeとかでビルドしたりインテリセンスが利いたりするようにならんの
999デフォルトの名無しさん
垢版 |
2019/07/15(月) 19:12:06.92ID:38cZE3Hm
質問いいですか?∩( ´Α`)
2019/07/15(月) 19:19:28.82ID:9ryZm2UI
いいよ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 352日 16時間 14分 50秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況