「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
前スレ: 結局C++とRustってどっちが良いの? 3traits
https://mevius.5ch.net/test/read.cgi/tech/1683154196/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 4traits
■ このスレッドは過去ログ倉庫に格納されています
2023/06/06(火) 19:13:06.15ID:ZuKzBsFa
602デフォルトの名無しさん
2023/06/23(金) 18:29:00.54ID:yx0nUQ6l603デフォルトの名無しさん
2023/06/23(金) 18:35:21.00ID:yL4QamKB Rubyは、パッケージシステムやインストーラーを強要しなかったから
普及したが、node.jsは強要したので普及が遅いかも。
Rustもcargoを強要するのでダメ。
普及したが、node.jsは強要したので普及が遅いかも。
Rustもcargoを強要するのでダメ。
604デフォルトの名無しさん
2023/06/23(金) 18:46:22.56ID:TFVs7aSp >>601
水深4000フィートまで耐えられるよう建造して
水深4000メートル潜ろうとして途中で水圧に耐えられなかった
長さの単位が統一されていないUSAだから起きた
メートル法に統一しているべきだった
この件はプログラミング言語は関係なさそうだ
しかし似たような事例で文字エンコーディングの不統一のためのバグが昔あった
Rustなら言語レベルでstrとStringがUTF8に統一され正当性チェックもあるため
入力の間違いやプログラムの間違いで取り違えたまま実行されることはなさそうだが
水深4000フィートまで耐えられるよう建造して
水深4000メートル潜ろうとして途中で水圧に耐えられなかった
長さの単位が統一されていないUSAだから起きた
メートル法に統一しているべきだった
この件はプログラミング言語は関係なさそうだ
しかし似たような事例で文字エンコーディングの不統一のためのバグが昔あった
Rustなら言語レベルでstrとStringがUTF8に統一され正当性チェックもあるため
入力の間違いやプログラムの間違いで取り違えたまま実行されることはなさそうだが
605デフォルトの名無しさん
2023/06/23(金) 18:46:27.54ID:yL4QamKB Rustは全体的に、実際の使い方を無視した作り。
606デフォルトの名無しさん
2023/06/23(金) 18:52:53.90ID:TFVs7aSp607デフォルトの名無しさん
2023/06/23(金) 18:56:09.97ID:yL4QamKB608デフォルトの名無しさん
2023/06/23(金) 18:57:27.27ID:yL4QamKB そして、crateを使うことで、オープンソース思想に染まった一員
のようになってしまい。オープンソースが指示されているかのような
嘘の証拠を作ってしまう。
のようになってしまい。オープンソースが指示されているかのような
嘘の証拠を作ってしまう。
609デフォルトの名無しさん
2023/06/23(金) 19:30:18.50ID:caqXKb/X オープンソース思想っていうか、オープンソース世代だね
プロプラもオープンソースも貪欲に利用できる大胆さがほしいね
プロプラもオープンソースも貪欲に利用できる大胆さがほしいね
610デフォルトの名無しさん
2023/06/23(金) 19:31:29.42ID:yL4QamKB また、cargoを使うことで、exeサイズの増大が起きるだろう。
611デフォルトの名無しさん
2023/06/23(金) 19:53:35.15ID:TFVs7aSp >>607
できるよ
まずクレートbarをコンパイル
$ rustc --crate-type=rlib bar.rs
ライブラリファイルができた
$ ls -l libbar.rlib
ライブラリのある場所を指定してコンパイル
$ rustc -L . foo.rs
できあがったので実行
$ ./foo
できるよ
まずクレートbarをコンパイル
$ rustc --crate-type=rlib bar.rs
ライブラリファイルができた
$ ls -l libbar.rlib
ライブラリのある場所を指定してコンパイル
$ rustc -L . foo.rs
できあがったので実行
$ ./foo
612デフォルトの名無しさん
2023/06/23(金) 19:55:15.02ID:yL4QamKB しかし、現実的に出来ないんだろうて。
そんなに簡単なら、cargoなんて不要なんだから。
そんなに簡単なら、cargoなんて不要なんだから。
613デフォルトの名無しさん
2023/06/23(金) 21:20:51.32ID:LDs+BN7c SOのサーベイの所得プロットなんだけどZigの所を見る限り、普通に受け止める「言語別所得」と違う
https://survey.stackoverflow.co/2023/#section-salary-salary-and-experience-by-language
https://www.itmedia.co.jp/news/articles/2306/23/news109.html
https://image.itmedia.co.jp/news/articles/2306/23/l_dy_fig_04.png
まずZigの平均経験が10年以上が有り得ない(Zigは2016~)
あと、ホバーすると出てくる数字だと
$103,000 * 259 = $ 26.7m = 38億円 となって、
現段階では純Zig案件でこんな額は注がれてるイメージが出来ない
(せいぜいZig Software Foundationトータルで$1m寄付が有るか無いか程度)
言語別というより、言語扱う人別(複数延べ)データとして見ないと可笑しなことになる
Zigの場合は、250人位が仕事は他言語、完全趣味+OSSでZig、の方が近いのでは
https://survey.stackoverflow.co/2023/#section-salary-salary-and-experience-by-language
https://www.itmedia.co.jp/news/articles/2306/23/news109.html
https://image.itmedia.co.jp/news/articles/2306/23/l_dy_fig_04.png
まずZigの平均経験が10年以上が有り得ない(Zigは2016~)
あと、ホバーすると出てくる数字だと
$103,000 * 259 = $ 26.7m = 38億円 となって、
現段階では純Zig案件でこんな額は注がれてるイメージが出来ない
(せいぜいZig Software Foundationトータルで$1m寄付が有るか無いか程度)
言語別というより、言語扱う人別(複数延べ)データとして見ないと可笑しなことになる
Zigの場合は、250人位が仕事は他言語、完全趣味+OSSでZig、の方が近いのでは
614デフォルトの名無しさん
2023/06/23(金) 21:27:03.23ID:LPMfBj5g cmakeやcargoが必要なのは、gccとllvmの仕様が統一される保証がないから?
615デフォルトの名無しさん
2023/06/23(金) 22:27:58.10ID:LDs+BN7c それと愛され言語の呼び名が変わったけど
https://survey.stackoverflow.co/2023/#technology-admired-and-desired
Go
desired-admired
20.59%-62.45%
所得プロットでの"人数" 6650
これも下と比較すると全く整合性がない
https://go.dev/blog/survey2023-q1-results
satisfied = 92%
n=5280
調査による差が激し過ぎでは
https://survey.stackoverflow.co/2023/#technology-admired-and-desired
Go
desired-admired
20.59%-62.45%
所得プロットでの"人数" 6650
これも下と比較すると全く整合性がない
https://go.dev/blog/survey2023-q1-results
satisfied = 92%
n=5280
調査による差が激し過ぎでは
616デフォルトの名無しさん
2023/06/23(金) 23:53:15.64ID:IZaiassJ >>602
何かBlasはndarrayクレートのオプションをfeatures = ["blas"]で、Cargo.tomlに設定すると使えるらしいですよ。
何かBlasはndarrayクレートのオプションをfeatures = ["blas"]で、Cargo.tomlに設定すると使えるらしいですよ。
618デフォルトの名無しさん
2023/06/24(土) 00:00:59.86ID:ObyKbwEW 間違えた。俺は584でなく586だった。
619デフォルトの名無しさん
2023/06/24(土) 00:29:26.68ID:1dD5h2Tm かつて日本人が1000人いたら、300人くらいはNECのマシンを
買ったことがあった。
RedHatはかつてのNEC以上に大儲けしていることになっているが、
fact checkが必要で、1000人いても、一人も世話になってない
気がするぞ。
つまり、オープンソースはfakeだらけなんじゃないの。
だれが、Linuxのサポートなんて必要としているものか。
買ったことがあった。
RedHatはかつてのNEC以上に大儲けしていることになっているが、
fact checkが必要で、1000人いても、一人も世話になってない
気がするぞ。
つまり、オープンソースはfakeだらけなんじゃないの。
だれが、Linuxのサポートなんて必要としているものか。
620デフォルトの名無しさん
2023/06/24(土) 00:50:52.07ID:1dD5h2Tm そもそも、そんなに大人数の会社のサポートが本当に儲かっている
なら、誰でも真似できるはず。RedHatに優秀な人材なんて
入社するわけ無いんだから、その辺のマクドナルドのアルバイト
みたいなのにコールセンターで「サポート」させればいいだけ。
でもRedHatに続く企業が現れないと言うことは、RedHat
は、左翼によって捏造された企業である疑いが濃厚。
いつも左翼はそうやって嘘を付いて人々を操る。
なら、誰でも真似できるはず。RedHatに優秀な人材なんて
入社するわけ無いんだから、その辺のマクドナルドのアルバイト
みたいなのにコールセンターで「サポート」させればいいだけ。
でもRedHatに続く企業が現れないと言うことは、RedHat
は、左翼によって捏造された企業である疑いが濃厚。
いつも左翼はそうやって嘘を付いて人々を操る。
621デフォルトの名無しさん
2023/06/24(土) 00:54:46.96ID:1dD5h2Tm RedHatなんて、多分に嘘だろうけど1万9,000人も社員がいて
年間4000億円もの収益があるとされている。
サポートで収益がそんなにあるわけない。
誰がそんな有象無象の社員の電話サポートなんて必要とするものか。
じゃあ聞くが、Windowsのサポートなんて何回電話したこと有る?
無料でさえ電話しない。
金取るのにそんな電話するわけ無い。
つまり、捏造。
オープンソースは、カルト宗教で信者達が捏造しているに決まってる。
年間4000億円もの収益があるとされている。
サポートで収益がそんなにあるわけない。
誰がそんな有象無象の社員の電話サポートなんて必要とするものか。
じゃあ聞くが、Windowsのサポートなんて何回電話したこと有る?
無料でさえ電話しない。
金取るのにそんな電話するわけ無い。
つまり、捏造。
オープンソースは、カルト宗教で信者達が捏造しているに決まってる。
622デフォルトの名無しさん
2023/06/24(土) 01:00:58.75ID:1dD5h2Tm 1万9,000人もコンサルタント(?)がいて、そんな人のアドバイスで
ことが改善するわけ無いことは、誰の目にも明らか。
カルト宗教の力が無ければ、とっくに衰退しているはず。
そもそも技術力が無いから、サポートが必要なOSにしか育て
られないわけで、サポートを必要とするのは技術力が無い
ことの証明になっている。
そんなことは、誰でもわかることで、パッパラパーでなければ、
そんなテレホンサポートになんて金払って電話するわけ無い。
カルト信者の集団捏造に決まってる。
githubは、中国の国営企業がスポンサーの大多数を占めていて、
共産主義のプロパバンダ組織になっている。
そして、5chのLinux板とプログラマ板は、中国の五毛党による
工作活動が盛んで、オープンソースと社会主義を礼賛ばかりしている。
ことが改善するわけ無いことは、誰の目にも明らか。
カルト宗教の力が無ければ、とっくに衰退しているはず。
そもそも技術力が無いから、サポートが必要なOSにしか育て
られないわけで、サポートを必要とするのは技術力が無い
ことの証明になっている。
そんなことは、誰でもわかることで、パッパラパーでなければ、
そんなテレホンサポートになんて金払って電話するわけ無い。
カルト信者の集団捏造に決まってる。
githubは、中国の国営企業がスポンサーの大多数を占めていて、
共産主義のプロパバンダ組織になっている。
そして、5chのLinux板とプログラマ板は、中国の五毛党による
工作活動が盛んで、オープンソースと社会主義を礼賛ばかりしている。
623デフォルトの名無しさん
2023/06/24(土) 01:10:03.43ID:hWkUa9G8 あのーCppとRustのどっちが良いのかと関係ない話すんのやめてもらえますか?
624デフォルトの名無しさん
2023/06/24(土) 01:13:08.69ID:1dD5h2Tm SDGsで考えれば、そんなカルト宗教集団の作ったものを使うことは、
カルト宗教に利することになってしまうからダメだ。
カルト宗教に利することになってしまうからダメだ。
625デフォルトの名無しさん
2023/06/24(土) 01:15:57.63ID:hfFEmYqp626デフォルトの名無しさん
2023/06/24(土) 01:17:50.98ID:1dD5h2Tm また五毛党のオープンソース支持が始まったぞ。
627デフォルトの名無しさん
2023/06/24(土) 01:21:09.80ID:1dD5h2Tm 若いと、世界が制御下におかれていることが分かって無い。
学校では世界がまるで実力社会であるかのように教えるからな。
現実は嘘つきや捏造であふれかえっている。
学校では世界がまるで実力社会であるかのように教えるからな。
現実は嘘つきや捏造であふれかえっている。
628デフォルトの名無しさん
2023/06/24(土) 01:28:41.72ID:1dD5h2Tm そもそも、平均寿命が日本より8.15歳も短い国がまともなわけが無い。
人権だ自由だなんて言っても、実際には助ける振りしてるだけで
人を助けないし。
最近じゃ彼らの思う「自由」の限界が来て超監視社会になっている。
アメリカではネットすら監視装置として使うことが当たり前になっているし。
当然日本の個人も監視されている。
これは妄想ではない。スノーデン氏などのハッカーにも指摘されているし。
アメリカのGDPが高いのも、はっきり言って寿命が短いからだろう。
人権だ自由だなんて言っても、実際には助ける振りしてるだけで
人を助けないし。
最近じゃ彼らの思う「自由」の限界が来て超監視社会になっている。
アメリカではネットすら監視装置として使うことが当たり前になっているし。
当然日本の個人も監視されている。
これは妄想ではない。スノーデン氏などのハッカーにも指摘されているし。
アメリカのGDPが高いのも、はっきり言って寿命が短いからだろう。
629デフォルトの名無しさん
2023/06/24(土) 01:32:20.34ID:1dD5h2Tm アメリかは911事件によって、初めて恐怖を味わった。
それにより初めて自由を制限することこそ重要である事を悟った。
彼らは極端なので、超監視社会に移行した。
彼らはやっと、自由を制限しないと、自分の自由も守られない
ことを知った。
世界の国の何週も後を行っている国家。
嘘つき大国で、あらゆることが嘘。
Rust人気も嘘。github人気も嘘。オープンソース人気も嘘。
RedHatが大儲けしていると言うのも嘘。カルト信者の
集団協力により、数値が捏造されているだけ。
それにより初めて自由を制限することこそ重要である事を悟った。
彼らは極端なので、超監視社会に移行した。
彼らはやっと、自由を制限しないと、自分の自由も守られない
ことを知った。
世界の国の何週も後を行っている国家。
嘘つき大国で、あらゆることが嘘。
Rust人気も嘘。github人気も嘘。オープンソース人気も嘘。
RedHatが大儲けしていると言うのも嘘。カルト信者の
集団協力により、数値が捏造されているだけ。
630デフォルトの名無しさん
2023/06/24(土) 01:43:01.82ID:hfFEmYqp631デフォルトの名無しさん
2023/06/24(土) 01:48:07.36ID:1dD5h2Tm632デフォルトの名無しさん
2023/06/24(土) 01:51:03.98ID:hfFEmYqp633デフォルトの名無しさん
2023/06/24(土) 02:19:05.92ID:3hzbY+kw アメリカのハッカー文化は中国の工作だった!?
634デフォルトの名無しさん
2023/06/24(土) 03:10:24.26ID:jT+bc5KP Linuxって寄付がおおきいんじゃなかっけ?
大企業でもその上でアプリを作って儲けようようという算段があるから
インターフェースだけしっかり作ってくれれば自社製品で使うのはそんなに
大変じゃない
日本との文化の違いだな
大企業でもその上でアプリを作って儲けようようという算段があるから
インターフェースだけしっかり作ってくれれば自社製品で使うのはそんなに
大変じゃない
日本との文化の違いだな
635デフォルトの名無しさん
2023/06/24(土) 05:49:32.16ID:S/KOiw3o Rustのndarrayはonesとzerosを高次元のの形状に関して実行速度を計測するとなぜかonesの時がzerosよりも6桁くらい実効時間が遅かった。これ、絶対バグあるな。
636デフォルトの名無しさん
2023/06/24(土) 06:02:34.14ID:aH3683O8 かすだよ
637デフォルトの名無しさん
2023/06/24(土) 06:06:16.85ID:aH3683O8 >>613
HTML/CSS がプログラミング言語部門の二位ってなんの冗談ランキングだ?
HTML/CSS がプログラミング言語部門の二位ってなんの冗談ランキングだ?
638デフォルトの名無しさん
2023/06/24(土) 09:17:43.46ID:gTqPfmEf 数学100点マンが100点をとったのは何十年も前でマイクロソフトの一部の環境しか知らずオープンソースが大嫌いなのか
639デフォルトの名無しさん
2023/06/24(土) 10:03:50.07ID:XV/ZbH2M 非標準ライブラリを弄らないと何も作れないC
unsafeを使わないとライブラリを作れないRust
STLやboostだけでも成立する競プロ
出題範囲内だけで成立する何十年前の数学
unsafeを使わないとライブラリを作れないRust
STLやboostだけでも成立する競プロ
出題範囲内だけで成立する何十年前の数学
640デフォルトの名無しさん
2023/06/24(土) 11:04:11.18ID:1s9t2nQ4 >>639
そろそろunsafeの意味を覚えろよ
unsafe = 人間がコードの安全性を保証しなければいけない部分
C/C++はプログラム全体がunsafeであることが様々な問題を引き起こしてきた
そこでunsafeな部分をできる限り小さく限定することで問題を根本的解決することになった
そろそろunsafeの意味を覚えろよ
unsafe = 人間がコードの安全性を保証しなければいけない部分
C/C++はプログラム全体がunsafeであることが様々な問題を引き起こしてきた
そこでunsafeな部分をできる限り小さく限定することで問題を根本的解決することになった
641デフォルトの名無しさん
2023/06/24(土) 11:11:37.55ID:afjv60iV C/C++は、普通、やっちゃだめなところは避けて使う
当たり前のことを守れないコーダーが現場に大量導入されて今に至る
Rustは、普通、unsafeを最小化して使う
…おなじことになるだろ?
当たり前のことを守れないコーダーが現場に大量導入されて今に至る
Rustは、普通、unsafeを最小化して使う
…おなじことになるだろ?
642デフォルトの名無しさん
2023/06/24(土) 11:32:51.54ID:1s9t2nQ4 >>641
Rustはほとんどのケースで一般プログラマーがunsafeを使う必要がない
もしunsafeを使っていたら厳重にチェックされ必要ないのにunsafeを使うプログラマーは排除される
どうしてもunsafeを避けられない構造が発見されると一般化されるとともにモジュール内に閉じ込められ多数の監視の元に管理される
Rustの標準ライブラリもそうしてできあがった
Rustはほとんどのケースで一般プログラマーがunsafeを使う必要がない
もしunsafeを使っていたら厳重にチェックされ必要ないのにunsafeを使うプログラマーは排除される
どうしてもunsafeを避けられない構造が発見されると一般化されるとともにモジュール内に閉じ込められ多数の監視の元に管理される
Rustの標準ライブラリもそうしてできあがった
643デフォルトの名無しさん
2023/06/24(土) 11:33:07.59ID:hWkUa9G8 デフォルト全危険 人間が責任を持たねばならないのが全域
デフォルト全安全 明示したところだけは人間が責任を持てば良い
同じと見るか違うと見るかは自分次第
ただしチームメンバーのことを信用できるか? チームメンバーが自分を信用していると確信できるか?
ここを考えるとハゲ具合は一目瞭然やろ
他言語バインディング関連は…知らんので全部Rustで置き換えろ
デフォルト全安全 明示したところだけは人間が責任を持てば良い
同じと見るか違うと見るかは自分次第
ただしチームメンバーのことを信用できるか? チームメンバーが自分を信用していると確信できるか?
ここを考えるとハゲ具合は一目瞭然やろ
他言語バインディング関連は…知らんので全部Rustで置き換えろ
644デフォルトの名無しさん
2023/06/24(土) 12:30:06.63ID:YdMK17ri struct Hoge {
Foo* foo;
};
この構造体が所有するfooはこの構造体が所有しているのか?
所有している場合、他に外部で参照しているオブジェクトはないのか?
それは弱参照としての扱いかそれとも所有者として振る舞っているのか?
fooは共有されるのか?
fooの生存期間は?
fooの初期化方法は?
デストラクタなどで勝手に破棄して良いのか?
(他に参照がある場合、ダングリングポインタ発生)
このオブジェクトは変更されるのか?されないのか?
このオブジェクトがコピーされる時の動作は?
クローンすべきなのかムーブすべきなのか
ポインタのコピーで良いのか?
C/C++の問題点はこれに尽きる
何もわからないのだ
C++だともう少し明確になるが問題は変わらない
上記を全てクリアにするために文法や仕組みを考えたらrustになったと言う話
Foo* foo;
};
この構造体が所有するfooはこの構造体が所有しているのか?
所有している場合、他に外部で参照しているオブジェクトはないのか?
それは弱参照としての扱いかそれとも所有者として振る舞っているのか?
fooは共有されるのか?
fooの生存期間は?
fooの初期化方法は?
デストラクタなどで勝手に破棄して良いのか?
(他に参照がある場合、ダングリングポインタ発生)
このオブジェクトは変更されるのか?されないのか?
このオブジェクトがコピーされる時の動作は?
クローンすべきなのかムーブすべきなのか
ポインタのコピーで良いのか?
C/C++の問題点はこれに尽きる
何もわからないのだ
C++だともう少し明確になるが問題は変わらない
上記を全てクリアにするために文法や仕組みを考えたらrustになったと言う話
645デフォルトの名無しさん
2023/06/24(土) 12:53:31.49ID:OQHAeLQi646デフォルトの名無しさん
2023/06/24(土) 12:55:13.50ID:OQHAeLQi647デフォルトの名無しさん
2023/06/24(土) 12:59:38.18ID:OQHAeLQi >>643
>デフォルト全危険 人間が責任を持たねばならないのが全域
>デフォルト全安全 明示したところだけは人間が責任を持てば良い
ネガティブリストの方が扱いやすいが漏れが発生しやすい
大規模になるとポジティブリストより面倒臭いぞ?
>デフォルト全危険 人間が責任を持たねばならないのが全域
>デフォルト全安全 明示したところだけは人間が責任を持てば良い
ネガティブリストの方が扱いやすいが漏れが発生しやすい
大規模になるとポジティブリストより面倒臭いぞ?
648デフォルトの名無しさん
2023/06/24(土) 13:03:08.56ID:OQHAeLQi >>644
おまいはドキュメントも参照せずにAPI利用する糞プログラマ
おまいはドキュメントも参照せずにAPI利用する糞プログラマ
649デフォルトの名無しさん
2023/06/24(土) 13:41:17.82ID:Ne+ocOnc C++ってまともなドキュメントなんてあったっけ
650デフォルトの名無しさん
2023/06/24(土) 13:41:50.49ID:afjv60iV > 必要ないのにunsafeを使うプログラマーは排除される
これができるかどうかだな
ま、unsafe使ったコード全部排除したらいいだけなんだが
これができるかどうかだな
ま、unsafe使ったコード全部排除したらいいだけなんだが
651デフォルトの名無しさん
2023/06/24(土) 13:55:59.31ID:mvYogJe7 >>648
その観点でドキュメントAPIに全面依存の遅れた考えの人がまだいることに驚いた
ドキュメントは書き忘れたり書き間違えたり更新でコードと乖離したりするうえに
ドキュメントを読まない人や読み間違える人や更新された時に追随を忘れるなどミスは多岐に渡る
人間に大きく依存していることが敗因なので可能な限り自動チェック化が進められてきた
その観点でドキュメントAPIに全面依存の遅れた考えの人がまだいることに驚いた
ドキュメントは書き忘れたり書き間違えたり更新でコードと乖離したりするうえに
ドキュメントを読まない人や読み間違える人や更新された時に追随を忘れるなどミスは多岐に渡る
人間に大きく依存していることが敗因なので可能な限り自動チェック化が進められてきた
652デフォルトの名無しさん
2023/06/24(土) 14:13:04.49ID:hfFEmYqp653デフォルトの名無しさん
2023/06/24(土) 14:15:01.22ID:hfFEmYqp654デフォルトの名無しさん
2023/06/24(土) 15:23:36.60ID:mvYogJe7 各企業がコンパイラを乱立し始めると統一のために規格書が必要となる
Rustは大手ITが手を組んでRust Foundationが支える単一コンパイラだから規格書は不要だろう
Rustは大手ITが手を組んでRust Foundationが支える単一コンパイラだから規格書は不要だろう
655デフォルトの名無しさん
2023/06/24(土) 15:32:23.38ID:f99aBnHH 既にrustcとrust-analyzerが異なるコードベースを独自に抱えてしまっていることすら知らずに、彼はそうつぶやくのだった
656デフォルトの名無しさん
2023/06/24(土) 15:59:34.51ID:L0Xo4lse 言語を広めるために規格が必要だった時代があったんだよ
特に異なるプラットフォーム用に異なるコンパイラを各プラットフォームベンダが先んじて作らないといけなかった時代にはね
特に異なるプラットフォーム用に異なるコンパイラを各プラットフォームベンダが先んじて作らないといけなかった時代にはね
657デフォルトの名無しさん
2023/06/24(土) 16:16:21.63ID:XjXA5z9c658デフォルトの名無しさん
2023/06/24(土) 16:22:08.74ID:Ne+ocOnc659デフォルトの名無しさん
2023/06/24(土) 16:33:30.41ID:6hD+tJAm 生ポを使わないとスマポを定義できない点はブーメラン刺さってる
あとは、安全と自称するより何も自称しない方が謙虚だと思うかもしれないが
unsafeな箇所をunsafeと自称するのはもっと謙虚である
あとは、安全と自称するより何も自称しない方が謙虚だと思うかもしれないが
unsafeな箇所をunsafeと自称するのはもっと謙虚である
660デフォルトの名無しさん
2023/06/24(土) 17:25:28.61ID:WA5+ENf3661デフォルトの名無しさん
2023/06/24(土) 17:35:28.23ID:oz8gwXPK ナマポが危険ってのは
どこで必要になるか
どこがスコープでがスコープに入るか、もしくはstaticで参照して解放まで用意するか
どこで使わなくなるか
等の設計ができてないから危険と思うんだよね
こういうのが出来てないとポインタだけ危険とか言っても他の場所でバグらせそうな気しかしない
セマホみたいな排他制御で解放せぬまま進めたり終わらせて起動できなくなったり
さらに設計が出来て無い人からぐちゃぐちゃのソースになりそう
初めからどこで使ってプールするから解放は最後とか決めて書けば解放はほぼできると思うけどな
どこで必要になるか
どこがスコープでがスコープに入るか、もしくはstaticで参照して解放まで用意するか
どこで使わなくなるか
等の設計ができてないから危険と思うんだよね
こういうのが出来てないとポインタだけ危険とか言っても他の場所でバグらせそうな気しかしない
セマホみたいな排他制御で解放せぬまま進めたり終わらせて起動できなくなったり
さらに設計が出来て無い人からぐちゃぐちゃのソースになりそう
初めからどこで使ってプールするから解放は最後とか決めて書けば解放はほぼできると思うけどな
662デフォルトの名無しさん
2023/06/24(土) 17:50:09.49ID:wheR/Gfw >>660
自前のホルダーとファクトリーを定義すればだいたい強制できる。
生ポインタを晒す必要があるときが厳しいけど、global deleter以外はなんとか禁止できる。
c++標準にget()を無くしたsmart ptr欲しい。
自前のホルダーとファクトリーを定義すればだいたい強制できる。
生ポインタを晒す必要があるときが厳しいけど、global deleter以外はなんとか禁止できる。
c++標準にget()を無くしたsmart ptr欲しい。
663デフォルトの名無しさん
2023/06/24(土) 17:52:53.86ID:S/KOiw3o Rustのndarrayの改善点を自分なりに調査してまとめてみた。
1) 配列の型変換のサポートが微妙。
2) ブロードキャスト機能のサポートが微妙。
3) numpyと比べてユーザーが配列の中の型を一々意識する必要がある。
4) pytorchのtensor型が持っているような機能がない。(requires_gradとか)
1) 配列の型変換のサポートが微妙。
2) ブロードキャスト機能のサポートが微妙。
3) numpyと比べてユーザーが配列の中の型を一々意識する必要がある。
4) pytorchのtensor型が持っているような機能がない。(requires_gradとか)
664デフォルトの名無しさん
2023/06/24(土) 20:49:47.56ID:CQgi0HrB665デフォルトの名無しさん
2023/06/24(土) 20:54:27.16ID:CQgi0HrB >>663
あとベクトル演算を自動で使ってくれ
AVX命令ね
https://zenn.dev/termoshtt/books/b4bce1b9ea5e6853cb07/viewer/simd
さらにスレッドを使うオプションも欲しい
あとベクトル演算を自動で使ってくれ
AVX命令ね
https://zenn.dev/termoshtt/books/b4bce1b9ea5e6853cb07/viewer/simd
さらにスレッドを使うオプションも欲しい
666デフォルトの名無しさん
2023/06/24(土) 20:55:59.01ID:CQgi0HrB さらにいうと演算を一度グラフ構造に落とし込んで依存関係を解析し
依存ごとに並列実行してもらえるとありがたい
ここまでやるとガチで速いと思う
依存ごとに並列実行してもらえるとありがたい
ここまでやるとガチで速いと思う
667デフォルトの名無しさん
2023/06/24(土) 21:01:14.04ID:CQgi0HrB どちらにしろrequires_grad入れるならこれをやらないと勾配計算できないから必須
668デフォルトの名無しさん
2023/06/24(土) 23:42:18.72ID:S/KOiw3o >>665
そこら辺はrayonでサポートされてる?
そこら辺はrayonでサポートされてる?
669デフォルトの名無しさん
2023/06/24(土) 23:51:57.35ID:0M7dS181 numpyは自動でAVXとか使うようになってる
670デフォルトの名無しさん
2023/06/25(日) 12:12:20.12ID:FTiE1KXs >>666
requires_gradは実装できそう。ただ、AVX命令は今のところRustの安定版ではサポートしてない感じかな。流石に情報学科の人間ではないからAVX命令とかのハードに近い部分の実装はムズいかな。ただ、型指定に関してはだいぶpythonの様に融通が効く感じにできてるとは思う。
requires_gradは実装できそう。ただ、AVX命令は今のところRustの安定版ではサポートしてない感じかな。流石に情報学科の人間ではないからAVX命令とかのハードに近い部分の実装はムズいかな。ただ、型指定に関してはだいぶpythonの様に融通が効く感じにできてるとは思う。
671デフォルトの名無しさん
2023/06/25(日) 13:02:38.19ID:JOhJHmBJ rustではAVXの取り扱いがむずいの?
相性が悪いとか?
AVX自体は皆が思ってるより難しくない
やってることは大したことないんだけど
配列をポインタでグルグル回すだけ
利用も下請けの関数作ってそこに投げるだけなんだけどね
相性が悪いとか?
AVX自体は皆が思ってるより難しくない
やってることは大したことないんだけど
配列をポインタでグルグル回すだけ
利用も下請けの関数作ってそこに投げるだけなんだけどね
672デフォルトの名無しさん
2023/06/25(日) 13:07:52.16ID:JOhJHmBJ 基本的にこんな流れ
配列AとBがあって
それぞれをポインタなどで指して
AVX命令でロードして計算して結果をどこかに吐き出す
ポインタを進める
これを終わりまで繰り返すだけで汎用性が高い
すでに誰かが書いたコードを丸パクリすることも簡単
誰にでも使える
でもみんな毛嫌いする
配列AとBがあって
それぞれをポインタなどで指して
AVX命令でロードして計算して結果をどこかに吐き出す
ポインタを進める
これを終わりまで繰り返すだけで汎用性が高い
すでに誰かが書いたコードを丸パクリすることも簡単
誰にでも使える
でもみんな毛嫌いする
673デフォルトの名無しさん
2023/06/25(日) 13:25:13.49ID:JOhJHmBJ 問題は都合の良い配列じゃない場合w
674デフォルトの名無しさん
2023/06/25(日) 13:26:14.51ID:IscOqakE675デフォルトの名無しさん
2023/06/25(日) 13:52:05.25ID:eajcjBGp >>672
AVX判ってないだろ
AVX判ってないだろ
676デフォルトの名無しさん
2023/06/25(日) 15:15:05.11ID:jiJG4zxf rustでそこまで型を気にしなくてよくてnumpyと殆どAPIが一緒で実行速度も十分なライブラリができれば、rustはもっと流行ると思う。ということでまずはrustのndarraryクレートベースで作っておいおいndarrayクレートの中身もAVXやrayonで最適化を目指す感じかな。
677デフォルトの名無しさん
2023/06/25(日) 15:46:57.93ID:IUvWuTOb >>670
この本がめちゃくちゃわかりやすかったよ
https://www.cutt.co.jp/book/978-4-87783-387-9.html
この本は数値計算で必要な概念が全部説明されてるしおすすめ
というかこんなニッチな分野独学以外無理
この本がめちゃくちゃわかりやすかったよ
https://www.cutt.co.jp/book/978-4-87783-387-9.html
この本は数値計算で必要な概念が全部説明されてるしおすすめ
というかこんなニッチな分野独学以外無理
678デフォルトの名無しさん
2023/06/25(日) 15:51:36.65ID:Z8A/BhXz unsafe はガン細胞のようなもの
unsafe を散らすのが Rust
unsafe のままそっとじするのが C++
unsafe を散らすのが Rust
unsafe のままそっとじするのが C++
679デフォルトの名無しさん
2023/06/25(日) 15:52:07.68ID:IUvWuTOb 同じ著者のこれもおすすめ
https://www.cutt.co.jp/book/978-4-87783-369-5.html
よく使うAVX命令がほぼ全て説明されてるが機械的なので上の本を読んでからの方が良い
内容はかなり被ってる
https://www.cutt.co.jp/book/978-4-87783-369-5.html
よく使うAVX命令がほぼ全て説明されてるが機械的なので上の本を読んでからの方が良い
内容はかなり被ってる
680デフォルトの名無しさん
2023/06/25(日) 16:02:23.56ID:JOhJHmBJ681デフォルトの名無しさん
2023/06/25(日) 16:07:38.74ID:RcJ+KYyJ AVX512(zmm)は、使えないCPUもあると思う。
Intelでも少し古い場合や、AMDだと最近のものでも
使えない場合があるはず。
GPUだと、コア数が少なくなってもそれなりに動くが、AVXだと
ハングアップするだろう。
Intelでも少し古い場合や、AMDだと最近のものでも
使えない場合があるはず。
GPUだと、コア数が少なくなってもそれなりに動くが、AVXだと
ハングアップするだろう。
682デフォルトの名無しさん
2023/06/25(日) 16:12:23.04ID:JOhJHmBJ SIMDに対応するかどうか判定することもできるので分岐でもなんでもしたらいい
さらにベクタ長を出すこともできる
ループのところでベクタ長で割ってループさせる
ベストプラクティスは知らんけど動く
さらにベクタ長を出すこともできる
ループのところでベクタ長で割ってループさせる
ベストプラクティスは知らんけど動く
683デフォルトの名無しさん
2023/06/25(日) 16:12:55.40ID:IUvWuTOb まあndarrayは使いにくいと思う
684デフォルトの名無しさん
2023/06/25(日) 16:18:49.28ID:RcJ+KYyJ それにIntelのSIMDは、並列化の度合いが少な過ぎる。
AVX512ですら、float32で、やっと16倍個同時では、そんなに高速化
はできない。なぜなら、計算の前と後の処理に時間が掛かるので。
それに科学技術計算では、float64 が基本だから、AVX512ですら、
中核部分ですら8倍にしかならない。
それに8倍といっても、基本的に掛け算や足し算の計算部分だけが
8倍になるだけだし。
実際には、ソースや結果(デスト)のコピーやループしたりするのに時間が掛かる。
GPUだと、計算以外のコピーの部分まで高速化できる可能性がある。
AVX512ですら、float32で、やっと16倍個同時では、そんなに高速化
はできない。なぜなら、計算の前と後の処理に時間が掛かるので。
それに科学技術計算では、float64 が基本だから、AVX512ですら、
中核部分ですら8倍にしかならない。
それに8倍といっても、基本的に掛け算や足し算の計算部分だけが
8倍になるだけだし。
実際には、ソースや結果(デスト)のコピーやループしたりするのに時間が掛かる。
GPUだと、計算以外のコピーの部分まで高速化できる可能性がある。
685デフォルトの名無しさん
2023/06/25(日) 16:22:17.26ID:RcJ+KYyJ Intelも設計の悪さにやっと気付いたらしく「、AVX512は廃止される
らしい。
数%しか速度向上しないのに、電力が23%位上がってしまうのだとか。
だったら、GPUみたいにした方がいい。
GPUだと、コア数に比例して速くなるはずだから、集積度を上げるだけで
速度はいくらでも上がる。問題は電力使用量。
だから、電力を如何に抑えるかが重要になる。
それだのに、電力が異常に上がってしまうAVXは設計が悪すぎる。
そもそも、Intelは命令セットの全体的な設計力には昔から問題が有る。
らしい。
数%しか速度向上しないのに、電力が23%位上がってしまうのだとか。
だったら、GPUみたいにした方がいい。
GPUだと、コア数に比例して速くなるはずだから、集積度を上げるだけで
速度はいくらでも上がる。問題は電力使用量。
だから、電力を如何に抑えるかが重要になる。
それだのに、電力が異常に上がってしまうAVXは設計が悪すぎる。
そもそも、Intelは命令セットの全体的な設計力には昔から問題が有る。
686デフォルトの名無しさん
2023/06/25(日) 16:22:32.80ID:JOhJHmBJ その結論はCPUによる高速化は効率が悪いからしないほうがいいと言うことか?
だったら愚かな人間の考えはやはり愚かと言うことだよ
だったら愚かな人間の考えはやはり愚かと言うことだよ
687デフォルトの名無しさん
2023/06/25(日) 16:25:56.93ID:JOhJHmBJ Intel、超高速AVX-512ソートライブラリを公開、Numpyが10〜17倍高速ソートに対応
masapoco 投稿日:2023年2月16日 16:35
https://texal.jp/2023/02/16/intel-publishes-blazing-fast-avx-512-sorting-library-numpy-switching-to-it-for-1017x-faster-sorts/
masapoco 投稿日:2023年2月16日 16:35
https://texal.jp/2023/02/16/intel-publishes-blazing-fast-avx-512-sorting-library-numpy-switching-to-it-for-1017x-faster-sorts/
688デフォルトの名無しさん
2023/06/25(日) 16:26:26.91ID:RcJ+KYyJ AVXの場合、乗算と除算、加算、減算のような中核部分だけが
速くなるだけ。転送はデータバスのビット数のまま。
だから、限界がある。
データバスが64BIT程度では、どうにもならない。
一方、GPUは、完全に並列化できるので、コア数に比例するような
速度向上が見込めるはずだ。知らんけど。
それに、レイトレーシングの様なものを並列化するのは、SIMDでは
無理が有る。
速くなるだけ。転送はデータバスのビット数のまま。
だから、限界がある。
データバスが64BIT程度では、どうにもならない。
一方、GPUは、完全に並列化できるので、コア数に比例するような
速度向上が見込めるはずだ。知らんけど。
それに、レイトレーシングの様なものを並列化するのは、SIMDでは
無理が有る。
689デフォルトの名無しさん
2023/06/25(日) 16:27:11.57ID:vBYApGL0 CPUとGPUは別売りできるからもしGPUは要らないと思ったらクビにできる
抱き合わせ販売は解雇規制みたいなもの
抱き合わせ販売は解雇規制みたいなもの
690デフォルトの名無しさん
2023/06/25(日) 16:28:46.84ID:RcJ+KYyJ >>686
CPUによる高速化もやるべきだけど、SIMDはとても扱いにくい。
効果が小さいのに、知るべき命令数が多すぎるし、分かりにくいし。
しかも、たかだか中核部分ですら16倍にしかならない。
しかし、それをするための準備にオーバーヘッドが大きすぎて、
典型的には1.3倍とかにしかならないらしい。
CPUによる高速化もやるべきだけど、SIMDはとても扱いにくい。
効果が小さいのに、知るべき命令数が多すぎるし、分かりにくいし。
しかも、たかだか中核部分ですら16倍にしかならない。
しかし、それをするための準備にオーバーヘッドが大きすぎて、
典型的には1.3倍とかにしかならないらしい。
691デフォルトの名無しさん
2023/06/25(日) 16:30:01.82ID:0IEJDuKo そもそもnumpyはBLASのラッパだということを理解してるか?
692デフォルトの名無しさん
2023/06/25(日) 16:32:49.75ID:JOhJHmBJ SIMDでもなんでもかんでも早くなるわけでもない
ただ自分のところではメソッドレベルで処理速度が80倍近くまで上がったものもあった
全体に占める処理量は多くないが驚異的
AVX利用できるのにしないのは何故なのかと言えば
単純に知識がないので使えないからと言うだけだろう
ただ自分のところではメソッドレベルで処理速度が80倍近くまで上がったものもあった
全体に占める処理量は多くないが驚異的
AVX利用できるのにしないのは何故なのかと言えば
単純に知識がないので使えないからと言うだけだろう
693デフォルトの名無しさん
2023/06/25(日) 16:48:59.42ID:tWScV9c+ >>692
>ただ自分のところではメソッドレベルで処理速度が80倍近くまで上がったものもあった
x87 FPUはスタックマシンで、SSE の xmm/ymm/zmm 系は
レジスタマシンだからではないのかな。
AVX512ですら、速くなるのは最大でも16倍程度のはずだ
>ただ自分のところではメソッドレベルで処理速度が80倍近くまで上がったものもあった
x87 FPUはスタックマシンで、SSE の xmm/ymm/zmm 系は
レジスタマシンだからではないのかな。
AVX512ですら、速くなるのは最大でも16倍程度のはずだ
694デフォルトの名無しさん
2023/06/25(日) 16:56:21.50ID:IUvWuTOb GPUはもう科学計算の分野では遠い存在になりつつある
あまりにもコストが高すぎる
今後どんどん上がっていくだろう
もう普通の大学や企業で研究開発の一部で使えるものではなくなった
今こそCPU復権の時だと思っている
シングルノードでカリカリにチューニングした数値計算ライブラリが欲しいよ
あまりにもコストが高すぎる
今後どんどん上がっていくだろう
もう普通の大学や企業で研究開発の一部で使えるものではなくなった
今こそCPU復権の時だと思っている
シングルノードでカリカリにチューニングした数値計算ライブラリが欲しいよ
695デフォルトの名無しさん
2023/06/25(日) 17:17:57.84ID:tWScV9c+ >>694
そんなはずない。
そんなはずない。
696デフォルトの名無しさん
2023/06/25(日) 17:30:35.22ID:t+oRHJh5697デフォルトの名無しさん
2023/06/25(日) 17:45:44.71ID:tWScV9c+ >>696
ぴんきり。CPUの価格と比べて、そんなに高いわけではない。
ぴんきり。CPUの価格と比べて、そんなに高いわけではない。
698デフォルトの名無しさん
2023/06/25(日) 17:51:16.50ID:t+oRHJh5699デフォルトの名無しさん
2023/06/25(日) 17:54:05.15ID:tWScV9c+700デフォルトの名無しさん
2023/06/25(日) 18:10:51.69ID:eajcjBGp701デフォルトの名無しさん
2023/06/25(日) 18:12:45.82ID:vBYApGL0 記号処理と数値計算の対立
文系とか関係ないね
文系とか関係ないね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
