「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
結局C++とRustってどっちが良いの? 4traits
https://mevius.5ch.net/test/read.cgi/tech/1686046386/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
結局C++とRustってどっちが良いの? 5traits
レス数が900を超えています。1000を超えると表示できなくなるよ。
2023/06/30(金) 21:56:35.52ID:PDIJ4aZy
812デフォルトの名無しさん
2023/07/22(土) 17:36:20.37ID:GoncfkXA813デフォルトの名無しさん
2023/07/22(土) 17:37:57.59ID:GoncfkXA まあとはいえそんな係数だけが大きい定数となるケースはほとんどないのでだけどね
そのような場合は間違いなくNが関与していることが多い
そのような場合は間違いなくNが関与していることが多い
814デフォルトの名無しさん
2023/07/22(土) 17:41:04.50ID:GoncfkXA 数学が苦手な人はこのように基本的な定義とか定理をきちんと理解してないことが多い
それなのにこの場合はおかしい!と言う
定義に戻ってみるとそんな場合のことは言ってないことが多い
それなのにこの場合はおかしい!と言う
定義に戻ってみるとそんな場合のことは言ってないことが多い
815デフォルトの名無しさん
2023/07/22(土) 17:46:37.41ID:GoncfkXA O記法はnを無限大に持って行った時の話
o記法はnを無限小に持って行った時の話
きちんと定義を確認しよう
これらは大学の微積でやるよ?
ちな数学での定義は厳密に書かれているから分かりにくいが直感的な理解の仕方を自分で考えるのが良い
o記法はnを無限小に持って行った時の話
きちんと定義を確認しよう
これらは大学の微積でやるよ?
ちな数学での定義は厳密に書かれているから分かりにくいが直感的な理解の仕方を自分で考えるのが良い
816デフォルトの名無しさん
2023/07/22(土) 17:55:32.12ID:XFIdOXKk817デフォルトの名無しさん
2023/07/22(土) 18:03:08.40ID:GoncfkXA 厳密に書くとそうなるだけだよ
無限大や無限小を正確に表すにはイプシロンデルタや上界下界の定義が必要
ただこれらはプログラマにとってはオーバースペックなので俺のいう上の直感的な定義を理解しとけばよろしい
無限大や無限小を正確に表すにはイプシロンデルタや上界下界の定義が必要
ただこれらはプログラマにとってはオーバースペックなので俺のいう上の直感的な定義を理解しとけばよろしい
818デフォルトの名無しさん
2023/07/22(土) 18:07:40.13ID:GoncfkXA 数学がある程度出来る人は正確な定義と
理解するための直感的な考え方を持ってる
しかし教科書ではその直感的な考え方を書くと同業者から不正確だ!って突っ込まれるので書きにくい
だから勉強しにくい
ほんと困ったものです
理解するための直感的な考え方を持ってる
しかし教科書ではその直感的な考え方を書くと同業者から不正確だ!って突っ込まれるので書きにくい
だから勉強しにくい
ほんと困ったものです
819デフォルトの名無しさん
2023/07/22(土) 18:16:40.96ID:GoncfkXA O記法やo記法はnを無限大/無限小に持って行った時
どういう関数になるのか?を表しているだけなのです!
どん!ね、簡単でしょ
どういう関数になるのか?を表しているだけなのです!
どん!ね、簡単でしょ
820デフォルトの名無しさん
2023/07/22(土) 18:20:17.39ID:sToEtmK8 京大の数学専攻に行った人知ってるけどまあひどいありさまだよ
中学の担任がまずそれで暴力教師
社会に出てあった人はうつ病で施設を行ったり来たり
もう一人は中退して地元帰ってきてギャンブルにのめりこんで今もパチプロみたいな生活してる
中学の担任がまずそれで暴力教師
社会に出てあった人はうつ病で施設を行ったり来たり
もう一人は中退して地元帰ってきてギャンブルにのめりこんで今もパチプロみたいな生活してる
821デフォルトの名無しさん
2023/07/22(土) 18:23:18.53ID:kAWTuV72 確率計算がさくっとできちゃうからパチプロできるんだったりして
雀士とかいうのも聞いたことある マンガとかでだけどw
雀士とかいうのも聞いたことある マンガとかでだけどw
822デフォルトの名無しさん
2023/07/22(土) 18:38:00.93ID:sToEtmK8 一般生活でも自然現象を見て脳内でモデル作って偏微分の境界条件とか気になる人が数学が出来る人
823デフォルトの名無しさん
2023/07/22(土) 18:46:30.74ID:sToEtmK8 その人たちの共通点は一つ
本人が理不尽だと感じることには絶対妥協しないで最後まで食い下がってくる
狂気を感じた
本人が理不尽だと感じることには絶対妥協しないで最後まで食い下がってくる
狂気を感じた
824デフォルトの名無しさん
2023/07/22(土) 20:16:03.51ID:DM7c04yB825デフォルトの名無しさん
2023/07/22(土) 20:38:27.64ID:bCf8Jd0F826デフォルトの名無しさん
2023/07/22(土) 20:53:08.15ID:tvxxAvU4 沢山数式暗記してても馬鹿は馬鹿なんだよな
827デフォルトの名無しさん
2023/07/22(土) 21:00:51.86ID:XFIdOXKk828デフォルトの名無しさん
2023/07/22(土) 21:06:42.21ID:YhxH2f1t829デフォルトの名無しさん
2023/07/22(土) 21:50:16.59ID:kdu4dn9d >> テンプレートは通常、コピーを避けるために const& を使用しますが、これは int のような単純な型を渡すには非効率的な方法です。
な?C++20便利だろ?
な?C++20便利だろ?
830デフォルトの名無しさん
2023/07/22(土) 22:36:24.52ID:nB6v7J6K 計算量でスモールoとか使う場所あるの
831デフォルトの名無しさん
2023/07/22(土) 23:22:57.00ID:kdu4dn9d そういえばJAXAに居たとき使ってたわ
832デフォルトの名無しさん
2023/07/22(土) 23:43:43.06ID:pjILcF77 ロケットが失敗続きな理由がなんとなくわかった
833デフォルトの名無しさん
2023/07/22(土) 23:47:22.27ID:kdu4dn9d 俺が辞めたからだろ?
834デフォルトの名無しさん
2023/07/23(日) 08:32:47.35ID:YG1/7f33 マジレスすれば、いかに優秀でも一人抜けたくらいで…といったところだが、
人材流出ネタを聞くたびに、ひょっとして…と思ってしまう自分が情けない
人材流出ネタを聞くたびに、ひょっとして…と思ってしまう自分が情けない
835デフォルトの名無しさん
2023/07/23(日) 09:44:20.13ID:mLgzCYW9 ロブ・パイクの「プログラミング5カ条」
ルール2:処理速度を測定すること。測定して、コードのある部分が他の部分を圧倒しない限り、速度の調整をしてはいけない。
ルール3:派手なアルゴリズムは、入力値のnが小さいと処理が遅い。そして通常、nは小さい。派手なアルゴリズムは大きな定数を持っている。nが頻繁に大きくなることがないなら、派手なアルゴリズムは使わないようにすること。(nが大きくなっても、まずルール2を適用すること)
https://gigazine.net/news/20200817-rob-pike-5-rules-programming/
ルール2:処理速度を測定すること。測定して、コードのある部分が他の部分を圧倒しない限り、速度の調整をしてはいけない。
ルール3:派手なアルゴリズムは、入力値のnが小さいと処理が遅い。そして通常、nは小さい。派手なアルゴリズムは大きな定数を持っている。nが頻繁に大きくなることがないなら、派手なアルゴリズムは使わないようにすること。(nが大きくなっても、まずルール2を適用すること)
https://gigazine.net/news/20200817-rob-pike-5-rules-programming/
836デフォルトの名無しさん
2023/07/23(日) 09:55:53.38ID:DSw9DmtI LinkedListの挿入削除は常にO(1)!だから最強!
草
オーダ記法を最近覚えて得意げに使ってそう
Javaの入門本でもArrayListとLinkedListの使い分けはこういう用途でやりましょうって書いてあるよねw
草
オーダ記法を最近覚えて得意げに使ってそう
Javaの入門本でもArrayListとLinkedListの使い分けはこういう用途でやりましょうって書いてあるよねw
837デフォルトの名無しさん
2023/07/23(日) 10:58:23.71ID:bnyHswx7 給料もらってるのに辞めるとか、課金してもサービス終了するようでは
フリーソフトに対する優位性がなくなってしまう
フリーソフトに対する優位性がなくなってしまう
838デフォルトの名無しさん
2023/07/23(日) 11:19:29.58ID:kMNWXVHy >>804 の実装で一番早いのは
パスカルの三角形で縦に足して行くやり方の気がする
パスカルの三角形で縦に足して行くやり方の気がする
839デフォルトの名無しさん
2023/07/23(日) 11:39:51.12ID:kMNWXVHy840デフォルトの名無しさん
2023/07/23(日) 11:43:20.98ID:NhS1+0R5 クライマックスシリーズはまだはやい
841デフォルトの名無しさん
2023/07/23(日) 11:48:32.16ID:kMNWXVHy842デフォルトの名無しさん
2023/07/23(日) 11:49:16.91ID:kMNWXVHy >>834 だった
843デフォルトの名無しさん
2023/07/23(日) 11:51:24.56ID:kMNWXVHy844デフォルトの名無しさん
2023/07/23(日) 12:06:43.78ID:GuX7KEu3845デフォルトの名無しさん
2023/07/23(日) 14:11:34.49ID:OiBoM91I Rustは、コンパイル速度が遅いと言う噂があるが、
VC++(msvc、precompiled header利用時)と比べると
どうなんだ。
VC++(msvc、precompiled header利用時)と比べると
どうなんだ。
846デフォルトの名無しさん
2023/07/23(日) 14:12:51.60ID:OiBoM91I コンパイル速度は、本を見てるだけでは分からない事
の一つだな。そして大規模開発には物凄く重要となる。
の一つだな。そして大規模開発には物凄く重要となる。
847デフォルトの名無しさん
2023/07/23(日) 15:04:02.22ID:ILZNl6Xo さすがにそこは、clangと比べるべきでは
848デフォルトの名無しさん
2023/07/23(日) 15:47:54.37ID:kMNWXVHy >>844
それがどうかしましたか?
それがどうかしましたか?
849デフォルトの名無しさん
2023/07/23(日) 15:55:24.23ID:ZTC84cTM let hoge = "a";
println!("{:2}後ろ",hoge);
let hoge = "あ";
println!("{:2}後ろ",hoge);
表示幅を揃えたいのですが上のやり方だと
後者の「あ」と「後ろ」の間にスペース1文字入ってしまいます
hogeに「あ」か「a」かどちらが入るか不定の時
どうするのが定石?
println!("{:2}後ろ",hoge);
let hoge = "あ";
println!("{:2}後ろ",hoge);
表示幅を揃えたいのですが上のやり方だと
後者の「あ」と「後ろ」の間にスペース1文字入ってしまいます
hogeに「あ」か「a」かどちらが入るか不定の時
どうするのが定石?
850デフォルトの名無しさん
2023/07/23(日) 16:38:44.72ID:bnyHswx7 traitを作る
とりあえず定石無視でimplする
とりあえず定石無視でimplする
851デフォルトの名無しさん
2023/07/23(日) 16:40:47.70ID:OMFtuUSH852デフォルトの名無しさん
2023/07/23(日) 18:04:59.73ID:hD/uYp9Y メモリ安全性は大規模開発時に有利に働く特徴なのだが、
コンパイル速度の遅さなど、Rustにはそれとは逆の特徴も
持っており、ややこしいぞ。
コンパイル速度の遅さなど、Rustにはそれとは逆の特徴も
持っており、ややこしいぞ。
853デフォルトの名無しさん
2023/07/23(日) 21:22:05.78ID:lmJrnSr9854デフォルトの名無しさん
2023/07/23(日) 22:53:08.93ID:bnyHswx7 コストカットに取り憑かれたら
文字列cloneしてスペースを付け足して返すコストも
許可がないと支払えない人間になったりして
知らんけど
文字列cloneしてスペースを付け足して返すコストも
許可がないと支払えない人間になったりして
知らんけど
855デフォルトの名無しさん
2023/07/24(月) 03:35:04.61ID:tlNrTE5b C++だと、ライブラリが大きくなってもコンパイル速度が
遅くなることは無い。異常に大きくなった場合には
リンク速度が遅くなることが有る程度だが、通常は
遅さを感じることが無い程度に留まる。
Rustだと、crateが大きくなったりcrateの個数が増えると
コンパイルが遅くなったりするの?
遅くなることは無い。異常に大きくなった場合には
リンク速度が遅くなることが有る程度だが、通常は
遅さを感じることが無い程度に留まる。
Rustだと、crateが大きくなったりcrateの個数が増えると
コンパイルが遅くなったりするの?
856デフォルトの名無しさん
2023/07/24(月) 04:35:03.66ID:8nghHebx ブラウザにはJSがあるから
C++やRustのコード修正と再コンパイルをすることなくJSのコードを修正すればいい
これが大規模開発ではないというなら小規模で十分
C++やRustのコード修正と再コンパイルをすることなくJSのコードを修正すればいい
これが大規模開発ではないというなら小規模で十分
857デフォルトの名無しさん
2023/07/24(月) 07:01:01.92ID:E3S0vo4U どうやろ?
コンパイラの暗黙の了解でサイズに対して処理は線形にならなければならないというのがある
流石にその範囲ではあるんじゃないの?
ただ線形は線形でも係数がでかいんかな
それだけならコンピュータが早くなれば体感的には改善していくはず
コンパイラの暗黙の了解でサイズに対して処理は線形にならなければならないというのがある
流石にその範囲ではあるんじゃないの?
ただ線形は線形でも係数がでかいんかな
それだけならコンピュータが早くなれば体感的には改善していくはず
858デフォルトの名無しさん
2023/07/24(月) 08:50:15.20ID:b4teMFwb Rustのcratesの依存関係でcargoが予期せぬものをいっぱいダウンロードするから
遅い回線だと(一回目の)コンパイル(というかコンパイルの準備)は超遅くなる
遅い回線だと(一回目の)コンパイル(というかコンパイルの準備)は超遅くなる
859デフォルトの名無しさん
2023/07/24(月) 11:25:58.22ID:Jt1K3EYN デフォルトが全部静的リンクだからそれが遅いのもある
860デフォルトの名無しさん
2023/07/24(月) 11:35:01.87ID:DOk3bTYa >>858
その「遅い回線」って何?
その「遅い回線」って何?
861デフォルトの名無しさん
2023/07/24(月) 13:30:21.48ID:LicyyNi9862デフォルトの名無しさん
2023/07/24(月) 13:34:38.77ID:DOk3bTYa863デフォルトの名無しさん
2023/07/24(月) 13:36:23.66ID:DOk3bTYa 通信インフラってのは
ソフトウェアの複製がゼロコストなのと違って
コストが掛かるんだよ
ソフトウェアの複製がゼロコストなのと違って
コストが掛かるんだよ
864デフォルトの名無しさん
2023/07/24(月) 13:39:12.35ID:LicyyNi9 >>862
左翼は能力の差まで無視しようとするで。
左翼は能力の差まで無視しようとするで。
865デフォルトの名無しさん
2023/07/24(月) 13:51:35.63ID:DOk3bTYa866デフォルトの名無しさん
2023/07/24(月) 13:59:42.61ID:7fuealYq 自分用には、そこそこ全体がコンパクトな方が好きかなあ
仕事用には、回線も装置も会社のものだから兎も角なんだが
仕事用には、回線も装置も会社のものだから兎も角なんだが
867デフォルトの名無しさん
2023/07/24(月) 14:04:31.32ID:LicyyNi9 「コンパイル速度が遅い」という噂が立ってるんですが、
実際は、crateのダウンロード速度が遅い、ということなんですか?
実際は、crateのダウンロード速度が遅い、ということなんですか?
868デフォルトの名無しさん
2023/07/24(月) 14:05:59.45ID:LicyyNi9869デフォルトの名無しさん
2023/07/24(月) 14:07:33.73ID:1ixoDG3j >>868
例えば? 煽りではなく
例えば? 煽りではなく
870デフォルトの名無しさん
2023/07/24(月) 15:00:19.41ID:056Z4jSG イヤちゃうやろ
流石にそれはコンパイラの作業量が純粋に多いから遅いでしょ
そりゃC++と比べて早くなるわけない
チェックしてる事多いんだから
流石にそれはコンパイラの作業量が純粋に多いから遅いでしょ
そりゃC++と比べて早くなるわけない
チェックしてる事多いんだから
871デフォルトの名無しさん
2023/07/24(月) 15:30:37.55ID:9sf7J+PW >>861
それはプログラム板で主張することじゃないやろ
それはプログラム板で主張することじゃないやろ
872デフォルトの名無しさん
2023/07/24(月) 16:03:16.33ID:7fuealYq C++派だが、C++もたいがい遅いだろ
pchとか使うのが習慣化してるけど
そういや、結構前からmoduleってのが使えるけど、きちんと使ったことないな。。
pchとか使うのが習慣化してるけど
そういや、結構前からmoduleってのが使えるけど、きちんと使ったことないな。。
873デフォルトの名無しさん
2023/07/24(月) 17:44:58.93ID:u3xro2aJ874デフォルトの名無しさん
2023/07/24(月) 18:20:23.66ID:dGeJrBxo 10人必要っぽい場所に20人投入すればいいのに
10人投入してめちゃくちゃになってから10人追加するやつって何なの?
戦力の逐次投入なの?
10人投入してめちゃくちゃになってから10人追加するやつって何なの?
戦力の逐次投入なの?
875デフォルトの名無しさん
2023/07/24(月) 18:51:49.12ID:DOk3bTYa876デフォルトの名無しさん
2023/07/24(月) 21:47:00.51ID:Zw6srC2c877デフォルトの名無しさん
2023/07/24(月) 22:22:14.29ID:dGeJrBxo 自己責任ってあれほど言ったのに
自己とは誰なのか
誰も知らないんだよな
自己とは誰なのか
誰も知らないんだよな
878デフォルトの名無しさん
2023/07/25(火) 01:43:34.89ID:bta56IUp 多次元配列のライブラリの演算スピードがまだnumpyより倍くらい遅い。また、速くできる要素は利便性の観点から悩ましい。rayonを使えばnumpyの倍速くらいにはできるようになった。
879デフォルトの名無しさん
2023/07/25(火) 03:35:47.01ID:w8nK1FpQ880デフォルトの名無しさん
2023/07/25(火) 08:41:35.71ID:UPZxbC6+ スピードが必要な部分だけRustを使わないようにすれば解決
881デフォルトの名無しさん
2023/07/25(火) 08:54:51.87ID:k8WJtY+U そういえば君らのメモリ管理の会話でLinkedListの使い道思い出したわ
Rustやその他の言語側じゃなくてOS側のメモリ管理にLinkedList使われてるわ
Rustやその他の言語側じゃなくてOS側のメモリ管理にLinkedList使われてるわ
882デフォルトの名無しさん
2023/07/25(火) 09:01:07.57ID:k8WJtY+U883デフォルトの名無しさん
2023/07/25(火) 09:02:56.16ID:k8WJtY+U >>880
unsafe {} 便利ですね判ります
unsafe {} 便利ですね判ります
884デフォルトの名無しさん
2023/07/25(火) 09:03:45.28ID:P1fUbQNp まぁ調べてみると確かに行列配列系の計算は“生rust”だと難しいんやろな
でかいデータを高速に捌くには“参照”をうまく使いこなしてなるべく“コピー”の回数を減らすくらいしかアルゴリズムの改善は見込めない
しかしrustは安全性の観点からC++のそれより所有権、生存期間の抽象度、制約を一段引き上げてる
だからそれでも速度が欲しいならunsafeで囲って危ない橋を渡るしかない、実際rcとかarcのソース読むとundafeだらけやしな
逆に言うとユーザーがその“危ない橋”を渡らなくても済むようにライブラリがあるとも言える
でかいデータを高速に捌くには“参照”をうまく使いこなしてなるべく“コピー”の回数を減らすくらいしかアルゴリズムの改善は見込めない
しかしrustは安全性の観点からC++のそれより所有権、生存期間の抽象度、制約を一段引き上げてる
だからそれでも速度が欲しいならunsafeで囲って危ない橋を渡るしかない、実際rcとかarcのソース読むとundafeだらけやしな
逆に言うとユーザーがその“危ない橋”を渡らなくても済むようにライブラリがあるとも言える
885デフォルトの名無しさん
2023/07/25(火) 13:32:44.33ID:cCDBQCCP >>884
ArcやRcは使用はやめた。マルチスレッド化の時にだるいことが多いから。仕方ないのでreshapeメソッドとかでは配列をクローンすることにした。
ArcやRcは使用はやめた。マルチスレッド化の時にだるいことが多いから。仕方ないのでreshapeメソッドとかでは配列をクローンすることにした。
886デフォルトの名無しさん
2023/07/25(火) 13:34:21.22ID:cCDBQCCP あと、行列の計算とかでループのスピードを速くするために次元はconst N: usizeを使ってる。
887デフォルトの名無しさん
2023/07/25(火) 13:51:24.76ID:nk58GX8+ 海外のサイトを見ていたら、Rustは、インクリメンタル
ビルドが遅いらしい。だから、ソースを細かく分けすぎると
遅くなるのかも知れない。しかし、ビルドの高速化の
ために発明されたのがインクリメンタルビルドだった
のだから、本末転倒の厄介な問題だ。
なんでも、リンクに10秒くらいかかるのだとか。
ある人によれば一時間くらいかかったと言う。
ビルドが遅いらしい。だから、ソースを細かく分けすぎると
遅くなるのかも知れない。しかし、ビルドの高速化の
ために発明されたのがインクリメンタルビルドだった
のだから、本末転倒の厄介な問題だ。
なんでも、リンクに10秒くらいかかるのだとか。
ある人によれば一時間くらいかかったと言う。
888デフォルトの名無しさん
2023/07/25(火) 13:53:33.03ID:nk58GX8+ >>887
crateの初回使用の時にフルコンパイルされる
ので遅いのは、それはそれで困るが、ギリギリセーフ
だとしても、それ以上に厄介なのは、自分のソースを
少しいじってビルドしなおしても、リンクはどうしても
必要だから、そこで10秒もかかってしまっては
開発は非常にストレスがかかってしまうことだ。
crateの初回使用の時にフルコンパイルされる
ので遅いのは、それはそれで困るが、ギリギリセーフ
だとしても、それ以上に厄介なのは、自分のソースを
少しいじってビルドしなおしても、リンクはどうしても
必要だから、そこで10秒もかかってしまっては
開発は非常にストレスがかかってしまうことだ。
889デフォルトの名無しさん
2023/07/25(火) 13:58:22.63ID:nk58GX8+ 中くらいの大きさのプロジェクトで、
structの中の一行を変えるだけで、5分かかって
困っていると言う報告も見つけた。
structの中の一行を変えるだけで、5分かかって
困っていると言う報告も見つけた。
890デフォルトの名無しさん
2023/07/25(火) 14:00:01.53ID:uSv6E5ak >>888
リンカーは共通だろうからC/C++と差はないと思うのだが?
リンカーは共通だろうからC/C++と差はないと思うのだが?
891デフォルトの名無しさん
2023/07/25(火) 14:15:10.14ID:nk58GX8+ https://www.reddit.com/r/rust/comments/11vrzme/help_me_love_rust_compilation_time/
Hey all, I've been writing software for about 15 years, Started from VB, .NET (C#), Java, C++, JS (Node), Scala and Go.
I've been hearing about how Rust is great from everyone ! But when I started learning it one thing drove me nuts: compilation time.
Compared to Go (my main language today) I find myself waiting and waiting for the compilation to end.
If you take any medium sized OSS project and compile once, it takes ages for the first time (3,4 minutes, up to 10 !) but even if I change one character in a string it can still take around a minute.
Hey all, I've been writing software for about 15 years, Started from VB, .NET (C#), Java, C++, JS (Node), Scala and Go.
I've been hearing about how Rust is great from everyone ! But when I started learning it one thing drove me nuts: compilation time.
Compared to Go (my main language today) I find myself waiting and waiting for the compilation to end.
If you take any medium sized OSS project and compile once, it takes ages for the first time (3,4 minutes, up to 10 !) but even if I change one character in a string it can still take around a minute.
892デフォルトの名無しさん
2023/07/25(火) 14:31:37.57ID:iTChcdyR cargo 使ってるときに rust にリンカオプション教える方法教えて
893デフォルトの名無しさん
2023/07/25(火) 14:32:50.71ID:nk58GX8+ 海外のサイトを見ていて考えられる要因の候補
・マクロの使いすぎ。Rustのマクロは乱用すると遅いらしい。
・メモリー不足で仮想記憶が働いてしまっている?
・マクロの使いすぎ。Rustのマクロは乱用すると遅いらしい。
・メモリー不足で仮想記憶が働いてしまっている?
894デフォルトの名無しさん
2023/07/25(火) 14:37:55.45ID:nk58GX8+ Rustは、ファイル単位でなく crate 単位でコンパイルするらしい。
だから、あるソースファイルの1行を直してもcrate全体の
コンパイル時間が必要となる。
C++が、ファイル単位でコンパイルするのと対照的となる。
Q: Does Rust compile fast?
A: For incremental builds, Rust will take longer to compile
than C++ (i.e. C++ wins).
This is because Rust compiles one crate at a time,
rather than one file at a time like in C++,
so Rust has to look at more code after each small change.
Jan 5, 2023
だから、あるソースファイルの1行を直してもcrate全体の
コンパイル時間が必要となる。
C++が、ファイル単位でコンパイルするのと対照的となる。
Q: Does Rust compile fast?
A: For incremental builds, Rust will take longer to compile
than C++ (i.e. C++ wins).
This is because Rust compiles one crate at a time,
rather than one file at a time like in C++,
so Rust has to look at more code after each small change.
Jan 5, 2023
895デフォルトの名無しさん
2023/07/25(火) 14:41:52.08ID:MikqYz6X でcrateってのは複数ファイルに跨ることが多いわけ?
それとも1ファイルに複数のcrateが実装されることが多いわけ?
それとも1ファイルに複数のcrateが実装されることが多いわけ?
896デフォルトの名無しさん
2023/07/25(火) 14:49:22.82ID:nk58GX8+ >>895
前者だろう。
前者だろう。
897デフォルトの名無しさん
2023/07/25(火) 14:54:39.48ID:MikqYz6X898デフォルトの名無しさん
2023/07/25(火) 14:55:34.04ID:iTChcdyR create の document の comment coverage てやっぱり判りにくいな
899デフォルトの名無しさん
2023/07/25(火) 17:54:05.55ID:eTFG8/xx Rustもまだまだだなー
Rustを始めるにはまだ早いな(時期が悪いおじさん式
Rustを始めるにはまだ早いな(時期が悪いおじさん式
900デフォルトの名無しさん
2023/07/25(火) 18:01:39.24ID:UOy+ke99 incremental buildはcodegen unit単位
開発者が明示的にリビルドを指示できるのはcrate単位
incremental buildなら変更が不要なcodegen unitはリビルドされない
codegen unitは1モジュールで2つ(non-genericとgeneric)
デフォルトでは1crateにつきcodegen unitの上限は256なのでそれを超えるようならマージされる
モジュール単位なのでファイル単位よりも細かい
開発者が明示的にリビルドを指示できるのはcrate単位
incremental buildなら変更が不要なcodegen unitはリビルドされない
codegen unitは1モジュールで2つ(non-genericとgeneric)
デフォルトでは1crateにつきcodegen unitの上限は256なのでそれを超えるようならマージされる
モジュール単位なのでファイル単位よりも細かい
901デフォルトの名無しさん
2023/07/25(火) 19:11:44.72ID:nk58GX8+ 難しいね。
902デフォルトの名無しさん
2023/07/25(火) 23:14:21.10ID:PfWx6dVw Cの (shared) objectファイルには型情報がない
というかアセンブラの出力と同じ形式にしないとアセンブラを使いにくい
型を無視すればリンクが速い
ヘッダファイルを厳密に管理し、なおかつヘッダを変更しまくれば
C++やRustと似たような遅さになるかもね
というかアセンブラの出力と同じ形式にしないとアセンブラを使いにくい
型を無視すればリンクが速い
ヘッダファイルを厳密に管理し、なおかつヘッダを変更しまくれば
C++やRustと似たような遅さになるかもね
903デフォルトの名無しさん
2023/07/26(水) 03:55:53.44ID:lJlGHJrp ああだから良く判らないcratesが乱立してるのか
cratesに分割すればするほど効率は上がる
crates.ioは氾濫して収拾付かなくなる
cratesに分割すればするほど効率は上がる
crates.ioは氾濫して収拾付かなくなる
904デフォルトの名無しさん
2023/07/26(水) 12:19:34.24ID:kTr42gXw >>902
C++はRustほど遅くない
C++はRustほど遅くない
905デフォルトの名無しさん
2023/07/26(水) 14:36:33.56ID:+VPKYlg4 cast するにも int x から (long long)x でコンパイルされるのと
x: i32 から x as i64 でコンパイルされるのと天と地ほどの時間差がありそう
x: i32 から x as i64 でコンパイルされるのと天と地ほどの時間差がありそう
906デフォルトの名無しさん
2023/07/26(水) 18:02:28.67ID:oS2bmI+b コンパイル時間かかるのは多相型から単相型を導出するとこじゃないの?
907デフォルトの名無しさん
2023/07/26(水) 18:32:17.02ID:JPp8jJPL rust好きだけどJS/TSエコシステム並みにcrateの粒度が小さいのはちょっと厳しいよな。
apacheみたいなのに集約するのはもう時代じゃないんだろうけどさ。
apacheみたいなのに集約するのはもう時代じゃないんだろうけどさ。
908デフォルトの名無しさん
2023/07/26(水) 18:57:07.57ID:jPIzcFjy いつのまにかWindowsでAndroidアプリが動くようになってる
これは便利
これは便利
909デフォルトの名無しさん
2023/07/26(水) 20:27:27.27ID:fbe27uY+910デフォルトの名無しさん
2023/07/27(木) 00:57:46.43ID:as7IkMsZ 型パラメータの候補が複数見つかったらすぐに諦めて競合エラー吐いてる印象
cargo checkだけだと割と軽いからジェネリクスの実体化(コード生成)が重いのかもしれない
型ごとに使ってる処理を割り出して必要な分だけ生成してそうだし
cargo checkだけだと割と軽いからジェネリクスの実体化(コード生成)が重いのかもしれない
型ごとに使ってる処理を割り出して必要な分だけ生成してそうだし
911デフォルトの名無しさん
2023/07/27(木) 02:10:00.11ID:+a559wq5 >>907
私はnumpy並みにデカいパッケージを作ろうと思ってますよ。
私はnumpy並みにデカいパッケージを作ろうと思ってますよ。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- クリスマスの「予定なし」54% [少考さん★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★6] [蚤の市★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★4
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★5
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- お前ら 寒さ対策どうしてるの [769050516]
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ3
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ2
