1 名前:デフォルトの名無しさん [2017/05/21(日) 14:04:29.55 ID:9L9dm7b/.net] Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。 www.rust-lang.org/ https://github.com/rust-lang/rust Servo https://servo.org/ https://github.com/servo/servo ◆前スレ プログラミング言語 Rust 2 echo.2ch.net/test/read.cgi/tech/1478023960
898 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 23:11:15.94 ID:r8V8UQwO.net] Rust 1.20、関連定数などを追加 https://www.infoq.com/jp/news/2017/09/rust-1-20-released
899 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 00:21:45.83 ID:FngsmGBk.net] 時報が壊れたと思ってたら、常時一ヶ月遅れの情報サイトをソースに時刻通知がきたよ 本人じゃなく模倣者だろうけど次回からは一次ソースのサイトをトリガーにしような!
900 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 00:30:16.29 ID:fGSoqmif.net] 何でこの人こんなに怒ってるんだろ?
901 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 00:53:16.99 ID:FngsmGBk.net] 1. 時報が壊れたことに怒っている 2. 一ヶ月遅れのinfoqをソースにしたことを怒っている 3. 模倣者であることに怒っている 4. その他 どれだと思う?
902 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 02:25:57.30 ID:uh95Bh7/.net] 一ヶ月入院でもしてたんだろ 許してやれ
903 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 10:21:58.71 ID:YdXqj+6X.net] CもObjCもここ数年は仕様変更がないから、コンパイルはそのまま通る。 変なコード書いてなければ動作確認も問題なくパスする。 メンテナンスフリーって言われれば確かにそうかもな。 あとはフレームワークで非推奨にになったメソッド書き換える程度だけど、 これはSwiftと共通の作業だし、そもそもやらなくても動く。 とにかくSwift移行していない俺は毎年高みの見物してる。
904 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 10:22:21.88 ID:YdXqj+6X.net] すまん誤爆した
905 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:26:40.22 ID:YA9Keehz.net] これが小学生のおっぱいかよ・・・ 12歳の乳とは思えんな・・・
906 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:51:24.12 ID:2cPiFSeP.net] 誤爆しすぎだろ。
907 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:06:45.55 ID:7WUGaaf4.net] rustの前にc++とhaskellぐらいはやっておくべき?
908 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 23:43:36.68 ID:w5CvkGV8.net] C++なんてやらんでいい。haskellよりOCaml寄りじゃね? C++よりメモリ周りが「javaからgcとロック付きオブジェクトとモニタと 並列ライブラリがなくなった」代わりに低レベルなマルチスレッドコード書けば 型システムが守ってくれるモノが近い。
909 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:20:49.42 ID:BhtSjkD0.net] 所有権の概念はC++のmove sem
910 名前:antics回りが近いと思うけどな まあゲーム作るとかじゃなければわざわざC++やらなくてもいいと思うけど [] [ここ壊れてます]
911 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:05:33.32 ID:uuI0Lqz4.net] Rust言語による第一プロダクトのFirefox Quantumですが ベータ版リリースの時点でアドオンがお亡くなりになったとか、不安定でどうしようもないとか、メモリ食い潰して落ちるとか 様々なお声が聞こえてきますね これがRustという安全な言語で作ったプロダクトなんですってね おめでとうございますモジラ信者と工作員の皆様
912 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:25:31.06 ID:BhW5NZCu.net] アドオンが不安定ってのはRust関係なくね?
913 名前:デフォルトの名無しさん [2017/09/30(土) 22:38:45.63 ID:ATIH6GBG.net] ベータ版の意味も知らないガイジやんけ ガガイのガイw
914 名前:デフォルトの名無しさん [2017/09/30(土) 22:39:37.33 ID:ATIH6GBG.net] あそれあそれガイジが出た出たよよいのよいw
915 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:00:05.60 ID:HKOr6Xa1.net] >>894 API鞍替えのせいだから全く関係ない。 メモリも関係ないし、むしろ最近はバージョン上がるたびに消費メモリ減ってる。 というかパフォーマンス良くなったのは設計が変わったからで言語は関係ない。 言語関係する部分はC++よりマシだから書きやすくなったこと。
916 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:42:35.99 ID:5jXWEgsq.net] >>897 設計の変更って具体的に何を変えたの?マルチスレッドに強いとか?gpuぜんていとか?
917 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:58:38.97 ID:HtGiOKW4.net] >>898 HTMLの描画周りがマルチスレッド前提になっただけよ。 シングル前提でやるとHTML/CSSパース、DOM構築で同期取りまくりが減っただけ。 うちのmem 4g, 2core環境だとハードが足引っ張ってたから多分mem 8g, 4coreくらい要ると思う。 ここ数年のロースペックマシン以上が恩恵受けるんじゃ? gpu前提はwebrenderだからまだ入ってないんじゃない。
918 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 00:20:10.84 ID:cuHSEpt/.net] あ、悪い。webrenderもう入ってるわ。 webrenderとstyloが入ってるからもうマルチスレッドにgpu前提。
919 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 11:21:20.04 ID:pqkzvat0.net] Firefox爆速化件だけど、あのタイミングでRust化してればRustにも一気に注目集まったのにな。 もったいないな。
920 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 14:16:58.24 ID:5q9eN7RZ.net] w3mの代替になるコンソールブラウザがほしいところ
921 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 00:06:33.86 ID:eeE5kOTG.net] lynks、links、EWW(Emacs)ではいかんかった?
922 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 01:21:42.46 ID:Eb49UXKr.net] それよりAmayaの後継をwhatwgに作って欲しい
923 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 09:33:38.58 ID:xy+7bXnG.net] >>901 cssはrustになったんだよね?
924 名前:デフォルトの名無しさん [2017/10/04(水) 17:45:04.59 ID:U/p5CYqb.net] FizzBuzz を無駄にベンチマークしてみた By Nim、golang、Rust、Crystal、その他 wolfbash.hateblo.jp/entry/2017/07/25/232027
925 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:54:27.21 ID:eSRFZM0D.net] なんというか、、参考にならないベンチマークだな。
926 名前:デフォルトの名無しさん [2017/10/04(水) 23:17:46.14 ID:aUT+fN/H.net] 参考になるベンチマーク教えてくれ
927 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 00:04:55.49 ID:NTKdykpp.net] benchmarksgame.alioth.debian.org/u64q/performance.php?test=knucleotide ここの諸々 久しぶりに見たらC gccがついに抜き返しててワロタ C言語、頑張ったじゃん
928 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 01:11:32.12 ID:froF/td
] [ここ壊れてます]
929 名前:j.net mailto: >>909 6パターンだった頃は全部実行出来てたけど速度はバラバラでたしか#5が最速でC言語より速かった きっと最適化を人間が制御するのは難しくて頑張らないとJavaやC#にも勝てない 現在7パターンあるけど4つがmake errorになるくらい言語仕様が不安定 実に参考になる [] [ここ壊れてます]
930 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 02:42:46.62 ID:e0oopfTd.net] >>909 mem順にしてもgz順にしてもcpu順にしてもD言語出てこないの悲しいな
931 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 04:56:45.53 ID:ovcMkddr.net] d言語のメリットって何?
932 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 06:07:45.62 ID:eC/9GoxN.net] C++ではないこと
933 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 09:06:46.27 ID:NTKdykpp.net] >>910 人間が頑張って最適化した結果、C gccが上回ったんじゃないのかね D言語はプログラミング人口少ないから・・・ 2000年代の流行った頃ならもうちょっとスコアが出てたんじゃないかな
934 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 10:18:07.23 ID:KYi0aOcC.net] RustもJavaも血反吐吐くほど最適化してるんじゃないの? ポインタ扱いにくい言語でそれやると逆にコードが汚くなるから、 C言語よりも酷いコードになってるかもしれんよ。
935 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 10:41:40.98 ID:j9fazbko.net] unsafe使ったらRustは更に早くなるのか・・・胸熱 取り敢えず、各コードを読んでから批評してはどうか 本家Rust Teamが改修して今のスコアだけど 彼らが直したのはI/Oにバッファ使おうぜってだけでそこまで変態的じゃないのよね matchやmap, iterでクロージャー多用してるけど最適化コンパイルしたらif, forで書くのと同じ処理になるし Option.mapは関数コールがあるから重たいかなと以前調べたら LLVM中間コードの時点でインラインのif分岐(goto文)に展開されてベタコードと同じになるのかよと考えるのやめた
936 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:26:31.98 ID:291DnPVM.net] >>909 C gcc 5.38 Rust #7 5.56 C++ g++ #3 7.18 Java 8.38 ↑この並びでみると、Rustの速さよりもむしろJavaの意外な速さに驚く
937 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:31:31.21 ID:mvbuHBBx.net] ぼくも同じこと思った…
938 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:49:03.43 ID:i3OOJkl5.net] Javaは実行時最適化がはまれば速い感じ でも、カリカリにチューニングされたJavaコードは、クラスをあまり使わずArrayだらけだっりしてつらい
939 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 17:58:39.05 ID:DY6JRVMF.net] rlsもっと頑張って replも提供して😭
940 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 18:51:45.79 ID:BHTkAY6s.net] C言語の __func__ みたいなの無いのかよ〜
941 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 23:04:07.77 ID:arvYOnSy.net] Javaやら.NET等のJIT系言語は速い速い言われるけど実際のアプリケーションでその速さを体感できたことは一度もないや・・・
942 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 23:35:19.66 ID:AzAoa99L.net] >>909 rust#7はrayon使ってるから中身はcocoとfutureか。 ライブラリが頑張ってzero cost抽象化が効いてる感じかね。 javaはもうちょっと早くなるんだけどなぁ。 これ以上やるとjitとライブラリに丸投げして素直なコード書くことに 専念できなくなるからやりたくない感じ。 将来的にはconst arrayと、勝手にSIMD使ってもうちょっとマシになるかな。 >>919 連続してることが保証されないからカリカリにチューニングする時は配列には頼らないよ。 nio buffer使うことはあるけど。unsafe使わずに配列確保すると0クリアされて無駄に遅いし。 仮想関数テーブルなくしたほうが速いからメソッド検索>invokestaticのコストの時staticに変えるとか、 動的ディスパッチ自分で実装するときにconstant specific class bodyとtable switch組み合わせるとか。 >>921 ないけどrpすればすぐに入りそう。
943 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:32:27.39 ID:ckjydJIo.net] >>923 >連続してることが保証されないから それはもはやデータ構造として「配列」と呼ばれるものではないのでは……
944 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:59:19.34 ID:PVLgxPLf.net] Dは仕様変更が多すぎた
945 名前:デフォルトの名無しさん [2017/10/06(金) 01:12:44.86 ID:aJzo16CX.net] >>923 javaの配列って連続領域の保証されてないの?
946 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 11:58:56.15 ID:R7tcOQE1.net] スレチだけど、JVMの実装仕様なんてベンダー依存でしょ, OracleとGoogleでも当然違うわ
947 名前:デフォルトの名無しさん [2017/10/06(金) 22:14:03.16 ID:aJzo16CX.net] だから言語として仕様化されてないの?ってことだろ。 c++だって実装バラバラだけど連続領域な仕様だろ。
948 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 22:51:58.93 ID:R7tcOQE1.net] Cはポインタ I/F仕様に引きづられて配列仕様も必然として明確にせざる得ないからでしょ JVMはbyte codeの解釈さえあってれば良くて、データ操作の実装仕様は知るかよって話だよ VM上では連続領域に見せかけても、実態は数チャンクに分けた配列の持ち方だってあろうよ
949 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 00:56:21.68 ID:OPYXFct1.net] いやだから、データ構造としての「配列」のデータ操作の時間空間コストと 実装がズレてたらそれはもう「配列」じゃないから
950 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 02:30:16.92 ID:tD6GhHlF.net] 一般的に配列と呼ばれるオブジェクトがメモリアドレス上でも断片化しないことを保証される処理系ってほとんど無いのでは? ミュータブルオブジェクトへ要素を継ぎ足していったらコードからは連続的に見えてもメモリ配置は断片化するだろう
951 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 04:32:31.86 ID:OPYXFct1.net] 「要素を継ぎ足していったら」がそもそもオカシイ 要素継ぎ足せるのはそもそも配列じゃなくてロープかなんかだから
952 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:20:38.57 ID:PzpAWNqF.net] 配列の要件ってインデックスで要素にアクセスすることくらいじゃないの? 要素のポインタをとって操作できる言語以外は実際の記憶領域が連続かそうでないか 判断する術はないと思うが。
953 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:39:14.98 ID:rgSj2Elc.net] ポインタ操作だって処理系依存でどんな変態実装も理論上はあり得ると思うけど C/C++の仕様を調べる気力がない
954 名前:デフォルトの名無しさん [2017/10/07(土) 09:54:16.89 ID:h9TjUWM8.net] >>933 > 配列の要件ってインデックスで要素にアクセスすることくらいじゃないの? じゃリンクリストでもいいってわけ? インデックス操作は内部でポインタたどってさ。
955 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:18:14.74 ID:bipqd+gM.net] 配列だとインデックスのアクセスにO(1)を期待してるが それが保証できるのかという話じゃないの
956 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:27:49.68 ID:FDovMcEa.net] >>936 お前は話の最初から読みなおせw オーダーのことなんか誰も気にしてないよ
957 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:40:30.10 ID:efrwvuZ0.net] チューニングで気にするのはメモリ配置よりCPUキャッシュに乗るかどうかでは そのとき配列のサイズが気にされるというだけで
958 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:44:02.10 ID:bipqd+gM.net] >>937 >>930 これの解釈は?
959 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:59:08.16 ID:PzpAWNqF.net] データ構造としての「配列」と言語機能としての配列は別の話だから。
960 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 14:30:31.33 ID:bipqd+gM.net] O(1)でもO(n)でも a[i]と書けるなら配列だって感覚? そう考えるのは自由だがまともな話はできなさそうだな。
961 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 15:00:19.40 ID:FL3S/Goc.net] Rustの話はないんでしょうか
962 名前:デフォルトの名無しさん [2017/10/07(土) 16:04:55.47 ID:+/+oWVUp.net] そんなの処理系によるわ 動作は変わらないからどうでもいい
963 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 17:48:20.09 ID:M+fCWBh9.net] JavaScriptのArrayを配列と呼ぶのは間違いだ! と吠えている人がいますね
964 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:34:14.94 ID:efrwvuZ0.net] そんなに気になるならソース見に行けで終わり
965 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 20:58:38.51 ID:PTRnmd1t.net] >>941 逆にちゃんとした定義ってあるの?
966 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:52:44.13 ID:riNh/ezn.net] >>943 >そんなの処理系によるわ >動作は変わらないからどうでもいい オーダーの違いはまさに動作の違い > JavaScriptのArrayを配列と呼ぶのは間違いだ! > と吠えている人がいますね データ構造としての配列じゃないのはそうだろ 配列じゃなくてハッシュマップですよねー というのがマトモなCS出身者の反応
967 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 07:38:16.10 ID:whyFhQ9X.net] 引き続きオーダー厨がフィーバーしてんなw >>946 >>926 , >>928 曰く、C言語には仕様として配列は連続領域であることが決まってるらしいよ んで、Javaでは特に連続領域で実装することを仕様と定めてないよねーって話をしてんだろ
968 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 08:29:08.64 ID:Eg4i3QFB.net] >データ構造としての配列じゃないのはそうだろ >配列じゃなくてハッシュマップですよねー 結局、それまで展開していたオーダー云々の論理はどっかにやって 「配列じゃないものは配列じゃない」ってかw
969 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 09:02:22.19 ID:p8wkQapI.net] ポインタの値が連続でも実メモリ空間のアドレスは連続とは限らないし そのあたりのアドレスの連続性の抽象化をOSでやるか言語の処理系でやるかの違いと思えば 配列の要素の仮想メモリ空間でのアドレスが必ずしも連続ではない言語処理系があっても良いと思う
970 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 09:38:42.04 ID:whyFhQ9X.net] >>949 配列とは、連続領域で確保されO(1)でアクセス可能なものと(俺の中で)定義する それ以外の仕様、実装による配列は配列とは認めない という論理で一応オーダー云々も彼の中では含まれてるんじゃないかな ポインタのポインタで配列を設計したら、それはもうハッシュであり配列ではない的なことも言ってるし 多数の言語仕様, 言語処理系で配列ではないものが配列として扱われてて大変そうだなって思うね:D
971 名前:デフォルトの名無しさん [2017/10/08(日) 10:03:07.61 ID:W71T9805.net] JSのArrayは配列じゃなくてリスト TypedArrayが配列 メモリが連続化を気にするとかどれだけ低レベルな言語使ってるんだ インターフェイスが同じなら実装とかどうでもいい 老害かよ
972 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 10:54:24.49 ID:T4FplNPL.net] データ構造の読み書きのオーダーも仕様の内だけど、メモリ上のレイアウトまで仕様という考えはマイナーじゃない? アドレスを当然のように明示的に扱う言語だと当然の範疇かもしれんし情報として提供して欲しいけど、そうでない言語ならn番目の要素へのアクセスがO(1)であれば配列でいい で、Rustはアドレス直触りは可能だけど普通はやらない。Cみたいに構造体のメモリ上の表現がはっきり決まってるわけでもないし
973 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 15:41:19.83 ID:EDHW4lpZ.net] >>951 > 配列とは、連続領域で確保されO(1)でアクセス可能なものと(俺の中で)定義する そう思うのは勝手だけどそれに基づいて他人を批判するってどんだけ独善的なんだ
974 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 18:42:51.40 ID:4PvrPlQX.net] そろそろRustの話に戻してくれ
975 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 18:57:23.11 ID:riNh/ezn.net] array data structure でググるさま
976 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 20:18:32.63 ID:whyFhQ9X.net] >>952 (配列の定義を)お前がそう思うんならそうなんだろう お前ん中ではな ちなみに、Rustスレ住民はRust言語を使ってるゾ >>953 Rustのstructメンバは連続を保証してるんでなかったかいな repr((C)で宣言した時に限ってるんだっけ、unsafe多用してる変態がいたら教えてくれ
977 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 00:25:52.32 ID:KLfOKOYK.net] >>933 それって、(一次元)
978 名前:コンテナでは。 で、コンテナの実装方法として配列やらリンクドリストやらが存在する。 [] [ここ壊れてます]
979 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 00:29:02.79 ID:KLfOKOYK.net] >>952 > インターフェイスが同じなら実装とかどうでもいい そういう目的にはrust使う必要なくね?
980 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 00:30:54.57 ID:KLfOKOYK.net] >>953 Rustがそういう態度だと言うのなら、C/C++の代わりには使えないなぁ
981 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 01:24:12.13 ID:EU3MdReC.net] >>953 システムレベル言語でそれは無い
982 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 07:09:58.47 ID:HQb3QT54.net] https://play.rust-lang.org/?gist=9e8a69e064b98d48c48e237d87d005a1&version=nightly これ、少し前の nightly-2017-09-15-x86_64-apple-darwin だと通るのに、 最新の nightly だと conflicting implementations を起こすな。 rustup update したら急にビルドに失敗して驚いた。
983 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 08:32:46.93 ID:/FMCjJgs.net] nightlyが仕様変更したりバグったりするのを逐一驚いてたら大変じゃない?
984 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 09:00:12.81 ID:CsWYGxTc.net] >>958 もともと配列やその他のデータ構造からインターフェースのみ抽出したものがコンテナなんで、 それを言語仕様の側からは単に配列と称していることはあるだろう。 仮にそれを認めないとしても、元の質問の「JVMの配列は連続しているか」が「JVMのコンテナ(?)は 連続しているか」になるだけ。
985 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:26:26.16 ID:EKQlpQJF.net] いるなぁC++のプロジェクトでarrayで十分なところに無駄にmap使いまくるやつ おっさんプログラマとしては看過できないんだが(少なくとも仕事では) これが時代なんだろうか
986 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:43:46.40 ID:iPiyLv0T.net] なにか問題でも?
987 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:35:43.67 ID:y6Coq1tU.net] メモリコスト、CPUコストについて定量的に説明できるかな
988 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:47:42.14 ID:5Wk6yJf6.net] 自分もどちらかと言えば効率厨のつもりだけど 実行コストと可読性が大差ないなら好きな方を使えばいいと思う
989 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:19:06.41 ID:ICZ1WqoM.net] コンテナ使うとコストが見えにくくてよく分からん
990 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:24:05.08 ID:65lUV9pA.net] さすがに array と map ではアルゴリズム自体違うわけだしそれはなしだろ。
991 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:49:17.20 ID:GUc1DOLO.net] Vec<f32> を Vec<f64>に変換したいのですがどうしたらいいでしょうか? やりたいのは &[f64]を引数として受け取る関数にVec<f32>の内容を渡したいのですが。
992 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 20:31:04.63 ID:2SZ05bPF.net] https://play.rust-lang.org/?gist=0cd6e0b3f8c028d720b6936505df6c9b&version=undefined 受け取る関数がTraitでf32, f64を受けろと思うけど、外部ライブラリで作ってるなら仕方ないんだろうよ
993 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 20:46:44.09 ID:g5Xwcr4f.net] >>972 ありがとうございます 今回は外部ライブラリだからしょうがないかな 普通はなんのtraitで受けとるんでしょうか?
994 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 16:41:05.41 ID:3w9jP5qe.net] 色々あるんだろうけど、こんな一例 https://play.rust-lang.org/?gist=d00fb7f7041fce1649767ecf95bb936a&version=stable AsRefとかIntoとかFromとか、なんかその辺調べたらいいんじゃないかなぁ 他人に公開する目的のpub fn以外で使うのはバイナリ容量増やす一因になるからいたずらには使いたくは無い(他人がする分には気にしない ただまぁ、枯れたおっさんプログラマの感想であって、map, arrayの使い分けに口出すおっさんは同様に口出してくると思うので注意されたし
995 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 17:46
] [ここ壊れてます]
996 名前::13.24 ID:6qFX/88z.net mailto: >>974 基本的に↓を使ってるんで、 https://docs.rs/alga/0.4.0/alga/general/trait.Real.html これの https://docs.rs/alga/0.4.0/alga/general/trait.SupersetOf.html あたりを使えばいいんすかねぇ [] [ここ壊れてます]
997 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:18:32.35 ID:SdSs/e3t.net] rustって難しいって聞くけどどうなの? 数百行程度のcliツールとか作るのにも適してる?
998 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:36:37.19 ID:wUY7e6c6.net] 借用やライフタイムを理解できない内は難しいかもね。
999 名前:デフォルトの名無しさん [2017/10/11(水) 20:58:57.23 ID:gwIT2xqO.net] %%%%4NEL%%%% 000-SAV-&1.0888214%ML<\47MBL%0.2\MSSSS4.213> 1.8882/%B/%SB/<\2/7BL\%\%B!B%47L%Si72B>%10.2%\ 002%\B%===>>>52 .B<\rbc/2.8>>\7B<<\7LB>>\72S\<%\42%><\br>001BYON$\%7L2%3.33GHz>>>2 .3GHz<\br> 41.B%LB%"<<%11.6$%><<\86.1B>>2 LB>"B???S3>>71 $-?>6%<\br> 082@<\7L@@<\br> \LOOP>0<1Entra
1000 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:41:32.32 ID:cYUXFwFa.net] >>975 RealがSupersetOf<f64>を継承してるから受け取る関数がf64を扱うならTrait Realを受ける形でも良さそう Alga使ったことなくてどっちを使う方がスマートなのか分からんから、自分が取り回しやすいと思う形でどうぞ
1001 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 09:07:46.54 ID:ZLjOYpzW.net] Announcing Rust 1.21 - The Rust Programming Language Blog https://blog.rust-lang.org/2017/10/12/Rust-1.21.html めぼしい変更無し。
1002 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:11:36.11 ID:bp4APqrz.net] Rustの話をしないRust板の住人 言語として形になってないから言語のことを話せないんだろうなぁ 直近もまともな更新ないし、世間の話題も下火だし 工作員さんもっと頑張らないといけませんよ(ハナホジ)
1003 名前:デフォルトの名無しさん [2017/10/13(金) 17:39:13.20 ID:xbVdueHZ.net] tanakhのrustベタ褒めツイートでも列挙しようか
1004 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 17:40:12.67 ID:+y/vofi6.net] >>976 性能だすために生ポ触るとかしなければボローイングなんかも そんな難しく考えずにコード書けるとは思う。 一部の馬鹿が言語機能をドヤしたいってのが一番流行るのを妨げてる。
1005 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 17:44:57.66 ID:PbP1JTIY.net] じゃんじゃんクローンすればいいんだよ 性能に困ったときだけ再考すればいい
1006 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:36:57.97 ID:FAMCtm4a.net] >>980 何代目の時報か知らんけど次スレよろ あと、2年近くかかって取り込まれたrvalue static promotionをスルーするとかどうかしてんぜ
1007 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:45:29.22 ID:RXIUnIoB.net] ムーブセマンティクスをきちんと意識すれば借用はそこまで難しかないよね まあそこでCの経験が却って邪魔になるところがあるわけだけど
1008 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:29:09.18 ID:5Bkpm/HR.net] QtをやったあとでもRustの有り難みって実感出来る?
1009 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:43:54.95 ID:dC2M8380.net] borrowing というか mutable aliasing だけはやっぱり辛いなあ。 多くの場合 struct メンバの false sharing なんだよね…。
1010 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 14:12:57.17 ID:VwleOtKV.net] >>980 「Rust 1.21」リリース
1011 名前: 2017年10月13日16:15 末岡洋子 https://mag.osdn.jp/17/10/13/161500 [] [ここ壊れてます]
1012 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:39:51.15 ID:uWD69LeP.net] 次スレ プログラミング言語 Rust 4 https://mevius.5ch.net/test/read.cgi/tech/1507970294/
1013 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:37:51.04 ID:WeNwPolS.net] >>986 moveや借用は簡単なんだけど、その結果引き起こされる制限を回避していくのが面倒。
1014 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:36:12.11 ID:GYZBU1+2.net] >>991 その「面倒」って感じるのがまさしくCの経験の負の遺産なわけよ
1015 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:08:35.93 ID:ZoMoe7Af.net] 脱出しようとして墜落してるのか
1016 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:44:35.87 ID:2lESXdgM.net] 994
1017 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:45:47.02 ID:2lESXdgM.net] 995
1018 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:46:13.27 ID:2lESXdgM.net] 996
1019 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:46:56.38 ID:2lESXdgM.net] 997
1020 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:48:00.58 ID:2lESXdgM.net] 998
1021 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:48:41.67 ID:2lESXdgM.net] 999
1022 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:49:08.90 ID:2lESXdgM.net] 1000
1023 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 151日 10時間 44分 40秒
1024 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています