1 名前:デフォルトの名無しさん mailto:sageteoff [2016/11/02(水) 03:12:40.30 ID:MYQ7Ohex.net] Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。 www.rust-lang.org/ https://github.com/rust-lang/rust Servo https://servo.org/ https://github.com/servo/servo ◆前スレ プログラミング言語 Rust echo.2ch.net/test/read.cgi/tech/1327489549/
2 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:13:34.24 ID:MYQ7Ohex.net] www.infoq.com/jp/news/2012/08/Interview-Rust 日本語版 作者Graydon Hoareへのインタビュー www.infoq.com/news/2012/08/Interview-Rust "it seems a long time ago when @sayrer and I agreed to invest in @rustlang. But it was not, in Internet time." https://twitter.com/BrendanEich/status/231566448017948672
3 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:15:35.56 ID:MYQ7Ohex.net] 2016年10月31日 11時17分00秒 Firefoxを爆速化させる次世代ウェブエンジン「Project Quantum」をMozillaが発表 gigazine.net/news/20161031-mozilla-quantum-project/ > Mozillaから発表されたProject Quantumは、 > 同社が独自開発しているプログラミング言語「Rust」と > 並行処理型レンダリングエンジン「Servo」をベースとしたレンダリングエンジンです。 MozillaWikiで述べられているように主な目標は(並列処理を安全に書けるRustによる)並列化の推進だな https://wiki.mozilla.org/Quantum >Quantum will leverage the fearless concurrency of Rust and high-performance components of Servo to bring more parallelization and GPU offloading to Firefox.
4 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:18:58.64 ID:MYQ7Ohex.net] Rust Language Service (RLS) https://github.com/jonathandturner/rustls Mozilla、Language Server Protocolを実装した「Rust Language Server」を発表 https://mag.osdn.jp/16/10/21/154500
5 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:20:31.02 ID:ttxNZg5R.net] Why Rust? www.oreilly.com/programming/free/why-rust.csp Contributing to Rust ・ The Rust Programming Language https://www.rust-lang.org/en-US/contribute.html tokioはFutureパターンによる非同期IOのためのライブラリだよ(ざっくり 解説記事:https://medium.com/@carllerche/announcing-tokio-df6bb4ddb34 解説記事:aturon.github.io/blog/2016/08/26/tokio/ リポジトリ:https://github.com/tokio-rs/tokio
6 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:21:47.93 ID:ttxNZg5R.net] Announcing Rust 1.12 https://blog.rust-lang.org/2016/09/29/Rust-1.12.html エラーメッセージがカッコよくなってる あとMIRが有効になって配列アクセスの境界チェックの最適化とかがより高度になってる 試してみた限りでは、get_unchecked()を使って手動で配列アクセスを最適化したりする意義がかなり薄れて来た印象
7 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:22:18.42 ID:ttxNZg5R.net] Announcing Rust 1.12.1 https://blog.rust-lang.org/2016/10/20/Rust-1.12.1.html 安定版では初となるpoint release MIR関連の問題の修正が主らしい 将来のpoint releaseの予行練習的意味合いもあるだとか
8 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:23:07.37 ID:FzlbzNie.net] 乙
9 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:27:18.65 ID:MYQ7Ohex.net] LinuxのカーネルがRustで書かれればいいのに ↓ カーネルより先に手を付けるべきとこあるからなぁ 待てない人はRedoxOS試してみたら? ↓ まずはOpenSSLかLibreSSLのpure Rust実装からだな ↓ TLS https://github.com/ctz/rustls ↓ RustってOS作れるほどのローレベル操作が出来るの? それともC/C++みたいにアセンブルコード併記できるってだけ? ↓ https://github.com/redox-os/redox/tree/master/kernel/asm なんだ、アセンブルコード普通に書いてるだけか…全部Rustで作れるわけじゃないんだな
10 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:28:17.50 ID:MYQ7Ohex.net] 最後のリンク切れてたスマソ
11 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 05:47:26.44 ID:ydCUsA37.net] >>9 それ言語の問題じゃなくデバイスドライバ関係の問題じゃないの? OSはRustで書けるけどLinuxのデバドラ関係はハードウエア会社がCで供出してるのが多くない?
12 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 14:46:31.43 ID:db1quxwb.net] O2
13 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 22:26:01.78 ID:Q6z2ZaLV.net] -C opt-level=2
14 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 02:12:42.03 ID:uNlJqCt7.net] >>9 https://github.com/redox-os/redox/search?l=nasm アセンブルのコードがなくなったわけじゃないのか
15 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 21:21:20.79 ID:jd7v1+bJ.net] bootloaderとその次のモード切り替えとかページングを設定するところは、マジックだらけでアセンブリ以外で書くなんて逆に面倒だよ intermezzOS書いてる人がそこら辺丁寧に説明してる ttps://intermezzos.github.io/book/ 3.1, 3.2, 4全部あたりの内容をrustで書けるようになればアセンブリはいらなくなる けど読めば分かるけどアセンブリで書いた方が楽だし、自分の知る限りここらへんも楽に書ける高級言語なんてC含め存在しない rustで書けるまでに必要なアセンブリとCで書けるまでに必要なアセンブリは同じじゃないか? これがランタイムが必須な言語とかだともう少しかかるし、Cで環境整備する必要が出てくる、はず
16 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 01:10:24.52 ID:MDpsc3Qw.net] 結局はC/C++コンパイラとはオサラバ出来ないってことだな
17 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 01:22:23.98 ID:R+xSUJD7.net] ?
18 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 04:18:50.54 ID:EaPQMBZD.net] おまいなんでこのスレにいるんだω
19 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 09:59:59.37 ID:VusNeGCl.net] 最終的にはLLVMをRustで書き直す
20 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 15:05:06.72 ID:mwwnaA+N.net] cretonneかな?
21 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 16:35:38.47 ID:R+xSUJD7.net] >>20 へえ、こんなのあるのか。初めて知ったわ てかSpiderMonkeyもoxidizeしようとしてんのか https://github.com/stoklund/cretonne/ https://internals.rust-lang.org/t/possible-alternative-compiler-backend-cretonne/4275
22 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 19:10:26.42 ID:LSc5ar9N.net] >>16 つ https://doc.rust-lang.org/book/inline-assembly.html
23 名前:デフォルトの名無しさん [2016/11/16(水) 02:47:56.82 ID:fzskfnoe.net] 早漏おつ
24 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 09:12:58.40 ID:twfBKQax.net] 配列使ってるとコードが as usize まみれにならない?
25 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 15:32:07.91 ID:1Neovnoq.net] 前>>997 YES というかfeature-gatedな機能はみんなnightlyじゃないと使えないよ
26 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 20:03:41.58 ID:WS3xMITp.net] 実はstableでもToSockeetAddrsを使うとlookup_hostと同じことが出来る use std::net::ToSocketAddrs; fn main() { for host in "www.example.com:0".to_socket_addrs().unwrap() { println!("{}", host); } } 個人的に使うプログラムなら普通にNightlyを使えばいいけど
27 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 23:59:43.38 ID:twfBKQax.net] 仕事でRust書いとる人いるの?
28 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 00:01:05.90 ID:q947Bjkq.net] >>27 いるよ(アスペ https://www.rust-lang.org/en-US/friends.html
29 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 02:54:48.66 ID:x6fZSDmo.net] メジャーバージョンアップデートでもないのに 互換性のないアップデートが続く新興言語なんてどれも実務では使えないわ まだ遊びでいじるに留めとけ
30 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 03:08:24.08 ID:q947Bjkq.net] >>29 >互換性のないアップデート 例えば何がある? さすがに「forward-compatibleじゃない」とか言われると参っちゃうけどさ
31 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 03:53:37.98 ID:PG/Ol9T0.net] ?演算子を使ったコードがrustc 1.12.1でコンパイルこけた! 互換性落ちたRust死ね!!! 何なんだよRust。 Stability as a Deliverableじゃねーのかよ。 昨日見事にコンパイルこけたわ。 どうすんだよ私code freeze出来ねーじゃねーか。 コード
32 名前:書いてメンテしてcrates.ioにpublishしてPR送ってやるって言ってるのにRust teamは何が不満なんだ? 何がpick threeだよクソ。 コード書いたはいいけど希望通りに保守するのほぼ無理だからwって言っててコード書くやつなんかいねーよ。 デグレしてもいいしCoC破るのもどうでもいいから互換性上げろよ。 Servoで何百万行無駄に使ってんだよ。 ロゴの犬とかどうでもいいから互換性上げろよ。 有名なエンジニアに払う金あるなら互換性上げろよ。 どうすんだよコーディングやめなくちゃならねーだろ。 ふざけんなRust。 互換性上げられないならバージョン0.xにしろよ。 互換性も上げられないしmajor ver.も0に戻せないけどergonomicsなんとかしたいんだよねーってそんなムシのいい話あるかボケ。 Rust teamがコード書かせないでどうすんだよ。 金があればコード書くってやつがゴマンといるんだから取り敢えず金出すかコーディングにかかる費用全てを無償にしろよ。 デグレしたりCoC破ったりTRPL作ってるやつ見繕ってMozilla職員を半分位クビにすりゃ財源作れるだろ。 まじいい加減にしろRust。 [] [ここ壊れてます]
33 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 04:29:22.06 ID:q947Bjkq.net] 何でCarol Nichols氏クビにするの!?
34 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 07:39:11.93 ID:gs7Dk9ts.net] えっ後方互換守ってるならsemver的にも1.xだよ 前方互換だとライブラリにも言語にも何一つ追加出来ないじゃん なんで ? 演算子を使ったコードを1.12.1でコンパイルする羽目になったんだろうね 外部ライブラリ? 早速移行してる奴があるのかな
35 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 07:41:12.65 ID:gs7Dk9ts.net] バージョン指定してないならお前が悪い、minorバージョン上げずに?演算子導入してたらその作者が悪い
36 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 08:58:28.37 ID:lS45HIXq.net] >>31 これはネタじゃないの?
37 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 09:19:37.76 ID:TWtGx4vL.net] この前Rust開発チームを辞めた二人とも、AppleのSwiftチームに引き抜かれてたのか この裏切り者めw
38 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 15:25:43.74 .net] >>31 保育園落ちた日本死ね!!! 何なんだよ日本。 一億総活躍社会じゃねーのかよ。 昨日見事に保育園落ちたわ。 どうすんだよ私活躍出来ねーじゃねーか。 子供を産んで子育てして社会に出て働いて税金納めてやるって言ってるのに日本は何が不満なんだ? 何が少子化だよクソ。 子供産んだはいいけど希望通りに保育園に預けるのほぼ無理だからwって言ってて子供産むやつなんかいねーよ。 不倫してもいいし賄賂受け取るのもどうでもいいから保育園増やせよ。 オリンピックで何百億円無駄に使ってんだよ。 エンブレムとかどうでもいいから保育園作れよ。 有名なデザイナーに払う金あるなら保育園作れよ。 どうすんだよ会社やめなくちゃならねーだろ。 ふざけんな日本。 保育園増やせないなら児童手当20万にしろよ。 保育園も増やせないし児童手当も数千円しか払えないけど少子化なんとかしたいんだよねーってそんなムシのいい話あるかよボケ。 国が子供産ませないでどうすんだよ。 金があれば子供産むってやつがゴマンといるんだから取り敢えず金出すか子供にかかる費用全てを無償にしろよ。 不倫したり賄賂受け取ったりウチワ作ってるやつ見繕って国会議員を半分位クビにすりゃ財源作れるだろ。 まじいい加減にしろ日本。
39 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 16:06:27.38 ID:A0HGbkef.net] >>35 ネタだという点を引いてもツッコミ所が……
40 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 16:08:52.05 ID:q947Bjkq.net] >>36 https://internals.rust-lang.org/t/rust-team-alumni/3784 >They got jobs that prevent them contributing. 迂遠な言い回しをなさることで てかNomiconどうすんだろう? Beingessner氏がいなくなってから全然進んでないじゃん
41 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 16:34:09.37 ID:A0HGbkef.net] 今書かれてる新TRPL(rust-lang.github.io/book/)が完成してからとかになりそうだなー ただクラブニク氏やゴルディング氏がその辺の記事書けるかどうか…… どちらも言語やライブラリの開発に関わってないし
42 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 18:55:40.39 ID:Drbt4+cn.net] Rustに貢献することがAppleへの転職活動になるなら、 それを期待して気合い入れてやる人も増えるだろうし、 1ユーザー的には、よろしいんじゃございませんか
43 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 19:00:40.42 ID:Pl+03tlF.net] 日本人は低レベル云々とか言い出すから良くないんだな 海外ではその辺まとめてシステムプログラミングと呼ぶことで平和になってる
44 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 20:24:03.49 ID:lS45HIXq.net] 外国人はシステムプログラミング云々とか言い出すから良くないんだな 国内ではその辺分けて低レベルと呼ぶことで考察/議論してる
45 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 20:25:33.13 ID:lS45HIXq.net] テキトーなラベリングやグルーピングで海外ageとか欧米か
46 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 21:18:21.62 .net] 低レベルと言うとナイーブな人がショボいんだと勘違いしかねないので損な言い方だ
47 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 21:31:41.19 ID:Drbt4+cn.net] 下層プログラミング ローレベルプログラミング
48 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 21:51:27.83 .net] 基幹レイヤーとか横文字混ぜつつそれっぽくすれば煙にまける
49 名前:デフォルトの名無しさん [2016/11/17(木) 22:41:13.69 ID:TglxajGy.net] 昔はREPLが公式のリポジトリに入ってたみたいだけどなんで消されたの? https://github.com/murarth/rusti なんかこれは開発止まってるみたいだし。 REPLあったら便利なのに。
50 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 22:53:18.85 ID:q947Bjkq.net] Miriのreportでfuture projectとしてREPLの話が触れられているけど、今どうなってるのかは知らん
51 名前:デフォルトの名無しさん mailto:sage [2016/11/17(木) 23:04:57.14 ID:Xpn3XiCU.net] 一行毎にコードを累積していって毎回コンパイル・再実行するようなもので まともに動く感じじゃなかったし 誰も使わずメンテもされず放置されて結局消された
52 名前:デフォルトの名無しさん [2016/11/18(金) 00:19:24.79 ID:7Bhmrgzh.net] もうrustも頭打ちだな。資金力的にも限界か? こりゃ早々にswiftに流れた方がいいんでない?
53 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 00:19:48.50 ID:8Vgx8rP9.net] おっ、ようやくマクロが#[macro_use]の代わりに普通にuse出来るようになるのか
54 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 00:29:13.23 ID:eBWh43b3.net] >>51 iconとかどう? https://www.cs.arizona.edu/icon/
55 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 00:31:08.99 ID:oLAPaOst.net] >>52 ほほう https://github.com/rust-lang/rust/pull/37732
56 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 01:03:00.53 ID:E7bW9eot.net] >>53 ぱっと見Rustユーザと共鳴するような要素がなさそうに見えるんだが FAQを流し読んだだけだけど
57 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 01:14:06.04 ID:oLAPaOst.net] >>55 Ponyとかはどうだろう? www.ponylang.org/
58 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 10:17:38.16 ID:t+31LzEv.net] AdventCalendarでtokio触ろうとしてる人居るけど、あれ12月までに安定するかねぇ 大幅な改造の途中なので厳しいかも
59 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 12:23:03.10 ID:Mjcgtpxv.net] 整数型の暗黙のアップキャストが無いのは不便じゃない? 前にも書いたけど、配列のインデックスで as usize を頻繁に書かされてつらい。 実行効率的には、同じ処理をC言語で書いた時も、size_tへの 暗黙のアップキャスト処理が入るのかな? 意識してなかったけど。
60 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 15:05:29.01 ID:ujW5dFKb.net] 移植性がRust的には問題なのかなぁ as usize は環境によってはダウンキャストかもしれないじゃん 今の所明確なポリシーはないが、例えば usize == u8 という環境への移植性も考えて impl From<u16> for usize が存在しなかったりするし (https://github.com/rust-lang/rfcs/issues/1748) 個人的にそんなにキャストが必要になった記憶は無いんだけど 対策するとしたら、こんな感じでVecのラッパを書くとか https://play.rust-lang.org/?gist=17c0c0ab946046a5670d78a5ac821a73&version=stable&backtrace=2
61 名前:デフォルトの名無しさん [2016/11/18(金) 15:59:29.27 ID:vbdBJsNN.net] >>31 firefoxをdisりたいならあっちで
62 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 17:11:13.69 ID:oLAPaOst.net] 'static [T; 0x100]の添え字としてu8を突っ込むことは割とよくあるから、そこだけでも暗黙の変換をして欲しいと思ったりする impl<T,U,Idx> Index<T> for U where T: Into<Idx>, U: Index<Idx> を公式に実装したら何か問題があるのだろうか? 過去に誰かしら議論してそうなもんだけど、それっぽいものが見つからない
63 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 18:48:56.40 ID:JDsTmOFu.net] 定型処理用は演算子になるのか。 @演算子はどんな処理を担うのかしらん。
64 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 18:57:53.19 ID:ujW5dFKb.net] どこかのスライドで &'static str とするべき所 'static str と書かれてたが この'staticは参照に対するパラメータなんだよな、切るとすれば &'static / str 例えば [i32; 0x100] とか自体は [i32; 0x100]: 'static 以外のライフタイムを持たない 束縛した変数や借用に初めて寿命が付く >>61 今のRustだと追加できなさそう (T: Into<T> なので、他の impl Index<某> for 何がし と衝突する) それ以上にRustコミュニティの暗黙の変換の類に対する反感が大きいっぽいという問題があるけど
65 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 18:59:11.49 ID:ujW5dFKb.net] T が非 'static のライフタイムパラメータを含まないなら T: 'static、で合ってるっけ
66 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 21:18:08.74 ID:Mjcgtpxv.net] 配列インデックスの件、ググってたらこれが理由とする書き込みがあったんだが、 正直、意味わからん。 ループカウンタがレジスタサイズと異なるとおかしい事になるって感じ? https://gist.github.com/rygorous/e0f055bfb74e3d5f0af20690759de5a7
67 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 21:34:00.80 ID:aJxYJn23.net] >>56 なんか思想的に、グリーンスレッドが存在したりしてた頃のRustみたいだな
68 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 10:14:06.26 ID:1EpFjc3X.net] 小さなツールを作ってみてJava版より数割遅かったんだけど、 プロファイラで調べてみたら、どうやらmalloc/freeに相当する処理が 遅いことが分かった
69 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 10:48:44.85 ID:kg262VVv.net] malloc/free実装者を断頭台へ!
70 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 10:53:20.16 ID:cW+sH+/p.net] https://github.com/jemalloc/jemalloc/
71 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 11:43:08.65 ID:0HSHfyI4.net] JVMはひまにならないとfree処理しないから なんか普通に負けそう
72 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:17:15.89 ID:goLgdzFN.net] 足りなくなった時も free するから 常に忙しいときに限って free するハメになるのが実態
73 名前:デフォルトの名無しさん [2016/11/21(月) 12:22:33.26 ID:gVIfBZaZ.net] おまいらの部屋と一緒だな
74 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:30:45.34 ID:cW+sH+/p.net] ちっ……ちげえし……
75 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:32:42.35 ID:1EpFjc3X.net] >>67 少し補足すると、JITコンパイラが効き始める10ループ目ぐらいまでは Rustの方が速かった
76 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:38:17.81 ID:0HSHfyI4.net] >>71 そりゃ設計悪いだろ そういう時はランタイム(GC)特性を気遣って設計しろw 小さなツールならGC回りまくることもなかろう そうなると常時free処理するGCなし言語の方が不利だわ
77 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:49:34.69 ID:cW+sH+/p.net] 小さなツールならVM起動のオーバーヘッドのあるJavaの方が何でもない
78 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:52:14.62 ID:2S9X8Lpw.net] >>72 鋭すぎ
79 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 12:54:12.88 ID:h2bcMzRZ.net] 突き刺さる
80 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 13:53:31.49 ID:cBdbCQ89.net] >>76 プログラムが小さいとVM起動のオーバーヘッドはほぼ無視できる
81 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 14:12:07.49 ID:0HSHfyI4.net] 逆でないか、JVM立ち上げでGCスレッド、メインスレッド等々の初期化で結構時間かかるぞ ソフトウエア全体の処理が大きいと誤差に収まるけど 今回はalloc/freeがネックって言ってるから、そこは計測時間に入ってないと推測 ループ開始から終了までとSystem.gc呼んでの強制GCまでを計測したら、トントンないしRustのが早いってことになって欲しい(希望 それでもRustのが遅いなら断首台へ
82 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 16:38:54.33 ID:cBdbCQ89.net] >>80 逆ではない プログラムが小さいとは書いたがプログラムの演算量が小さいとは言っていない ツールが小さくてライブラリをあんまり読み込まなくていい時はJVMの初期化なんて誤差
83 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 16:49:33.16 ID:OhDwUouz.net] んん? GCが回りまくらないような、演算量の小さなツールの話じゃなかったか?
84 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 16:54:29.52 ID:cW+sH+/p.net] アレや、プログラムは小さいけど演算量が大きくてなおかつGCが回るほどヒープを消費しないアレや 例がパッと思いつかないけど、プリミティブ型ばかり処理してれば当てはまるんじゃない?
85 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 16:56:10.15 ID:cW+sH+/p.net] >>83 いや待て、自己レスになるけど、それじゃあRustでもfreeは発生しないわ
86 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 06:33:32.35 ID:vdf1OFJq.net] 昨日、Rustの初心者向けイベントがあったらしいね。 検索してみると、100人ぐらい集まったみたい。 初心者向けのはずなのに何故か難しい、って感想の人が多い。 あと、拠点を作っても外人に襲撃されて奪われるらしい。
87 名前:デフォルトの名無しさん [2016/11/26(土) 11:52:46.03 ID:S9oyLAu3.net] Mozillaってところが不安要因だな・・・
88 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 15:33:02.63 ID:T6V/AejO.net] crate logを使うと実行ファイルにビルド環境のフルパスが埋め込まれるのがモニョッとする 自分で使わなくても依存してるライブラリもあるし 専用のビルド環境作るか、そもそもソースで配布するかしないと 配布バイナリにユーザ名を埋め込んじゃうよぅ
89 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 15:53:47.96 ID:GTqt9DX8.net] PR出して直してくれ
90 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 23:43:32.36 ID:NwIkJeSB.net] >>87 確認してみたけど、logで使われてるmodule_path!() はcargoディレクトリ以下の 相対パスしか入らないから、ユーザ名は入らない。 但し、logと無関係にデバッグ情報としてフルパスが入る場合はある。 Linux版はdebugビルドでのみフルパスが入る。 Windows(MSVC ABI)版は、releaseビルドでも.pdbファイルへのフルパスが入る。 stripすれば消えるんじゃない?
91 名前:87 mailto:sage [2016/11/29(火) 18:41:45.92 ID:8U8Bj8BQ.net] >>89 確認、ありがとう 調べ直したところcrate logのみに依存した場合、フルパスは存在せず おっしゃるとおりlogは無罪 お騒がせしました 以下、環境は Linux / i686, x86_64 / stable 1.13.0 / [] [ここ壊れてます]
93 名前:87 mailto:sage [2016/11/29(火) 18:44:01.08 ID:8U8Bj8BQ.net] 途中で切れてしまったので再掲 以下、環境は Linux (i686, x86_64) stable 1.13.0 "cargo build --release" 調べたところlogの出力の為にenv_loggerとリンクしている場合、 依存しているaho_corasickやregexへの ${HOME}/.cargo/registry/src/git-****/***以下のフルパスが埋め込まれてました これは"strip -s"でも消せず はて? と思い aho_corasickのみに依存したプロジェクトを作成してみると 同様にフルパスの存在を確認 これがtoolchainによる差異なのか自分には判別できませんでした 以上、単なる状況報告ながら、一報まで 長文お目汚し失礼しました
94 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 20:05:45.86 ID:5ToPonfe.net] env_loggerでもやっぱりフルパスは入らないと思うけど、 それはともかく、env_loggerは依存ライブラリが多すぎて リビルドが重くなるから嫌い。正規表現はオプション機能でいいのに。
95 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 21:38:40.43 ID:ejQm3rha.net] >>92 regexはoptionalだからdefault-features = falseで外せるとは思うけど
96 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 23:59:57.63 ID:dyH4Mas/.net] これ見ると意外とRustのウェブフレームワークって重たいのなorz ttps://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext 上位に上がってるのはガチで速度だけを追求したLightWeightなフレームワークだからなんだけど Rust製の速度を突き詰めたフレームワークが欲しいと思った今日この頃
97 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:25:33.03 ID:MHSZZ/vj.net] 現状のRust産フレームワークは非同期処理とかまともにできてないからなあ
98 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:37:52.17 ID:vsoRl3Y/.net] その辺りはきっとtokioの五人が何とかしてくれるさ……
99 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:39:42.77 ID:hH98Vq+f.net] per secでどれだけ捌けるかってレベルだから下手な非同期は足引っ張るだけじゃね? Cとか並列でソケットを大量に保持/処理してるコードでもなかったぞ
100 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:44:29.48 ID:hH98Vq+f.net] >>96 tokioとか高レイヤー過ぎて無理だろw と思ったけど、tokioの計測サンプルないから実はそこそこの性能出てる可能性はなくもないか