「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
・C/C++ <=> Rust いまさら聞けない移行質問なども適当にどぞ
・レスバはじめんのは勝手だけど、面白いこと・へぇなこと書いたヤツが優勝
・マな話は、マのスレもご活用ください↓
前スレ: 結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/
関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 8traits
■ このスレッドは過去ログ倉庫に格納されています
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
615デフォルトの名無しさん
2023/11/22(水) 22:59:48.09ID:Lo22StDU >>614
Firefoxはservoで行き詰ったよ
Firefoxはservoで行き詰ったよ
616デフォルトの名無しさん
2023/11/22(水) 23:05:36.01ID:F4GGzYS9 Effective C++の初版はほぼこのコピーをいかにうまくやるかを解説した本だった
あらゆる手段でコピーが発生してもオブジェクトの整合性が取れるように注意点を書きまくった
しかしその内容はあまりにも普通の人には難し過ぎた
そして一つのクラスを作るたびにこんなに気をつけて実装しないといけないのか!やってられん!となって
その結果、もう全部ヒープにとって生ポインタでいいじゃんとなってしまった
そのおかげでコピー問題は無くなったが
メモリリークや二重開放、ヌルポの山を産んだ
あらゆる手段でコピーが発生してもオブジェクトの整合性が取れるように注意点を書きまくった
しかしその内容はあまりにも普通の人には難し過ぎた
そして一つのクラスを作るたびにこんなに気をつけて実装しないといけないのか!やってられん!となって
その結果、もう全部ヒープにとって生ポインタでいいじゃんとなってしまった
そのおかげでコピー問題は無くなったが
メモリリークや二重開放、ヌルポの山を産んだ
617デフォルトの名無しさん
2023/11/22(水) 23:09:46.91ID:EF2LJjbV ポインターをメンバーに持つと言うのがコピーの問題になってるだけやん?
アドレスをコピーするのか、実体を複製して新しいポインターとして格納するのか
用途によってはどちらかが不都合だったりするからなぁ
アドレスをコピーするのか、実体を複製して新しいポインターとして格納するのか
用途によってはどちらかが不都合だったりするからなぁ
618デフォルトの名無しさん
2023/11/22(水) 23:14:04.80ID:F4GGzYS9 >>617
実態を持っても同じだよ
そのオブジェクトが内部にポインタを持ってたら同じ問題が発生
さらにそのオブジェクトが(ry
というわけで地獄のような連鎖になることがわかる
そして厄介なのは自分が作っていないクラスだった場合お手上げということ
いかにやばいか分かっていただけただろうか
だから一時期はあらゆるオブジェクトがヒープ割り当てをしていた
実態を持っても同じだよ
そのオブジェクトが内部にポインタを持ってたら同じ問題が発生
さらにそのオブジェクトが(ry
というわけで地獄のような連鎖になることがわかる
そして厄介なのは自分が作っていないクラスだった場合お手上げということ
いかにやばいか分かっていただけただろうか
だから一時期はあらゆるオブジェクトがヒープ割り当てをしていた
619デフォルトの名無しさん
2023/11/22(水) 23:21:57.25ID:F4GGzYS9 スマートポインタによって状況はだいぶ改善されたとは思うが
しかしこのコピー問題というのは常に残っているのだ
そのオブジェクトを安全にコピーできるようにするという本質的な難しさは変わっていない
そしてムーブかコピーかみたいなものをライブラリ提供者が決めなければならず
それを使う側が意識することはかなり難しい
ドキュメントを読み込んで使い方を熟読するしかない
数百個のクラスがあった場合その全てのクラスの性質を暗記しないといけないのである!
しかも一個のミスで全てが崩壊する
こんなことは不可能に近い
しかしこのコピー問題というのは常に残っているのだ
そのオブジェクトを安全にコピーできるようにするという本質的な難しさは変わっていない
そしてムーブかコピーかみたいなものをライブラリ提供者が決めなければならず
それを使う側が意識することはかなり難しい
ドキュメントを読み込んで使い方を熟読するしかない
数百個のクラスがあった場合その全てのクラスの性質を暗記しないといけないのである!
しかも一個のミスで全てが崩壊する
こんなことは不可能に近い
620デフォルトの名無しさん
2023/11/22(水) 23:27:21.33ID:F4GGzYS9 その結果全てのオブジェクトをヒープにとってそのポインタだけを持ち回る、という実装がほとんどとなったのである
こうすればとりあえずコピーに関する問題はなくなる
俺はその時期にC++を仕事で書いていた
全てのオブジェクトがヒープにあった
コピーに関して悩んだことがなかったので
Effective C++を読んでもこの本は何でこんな「不整合が起きないオブジェクト」の作り方の解説ばっかりやってるんだろうと思っていたぐらいだ
こうすればとりあえずコピーに関する問題はなくなる
俺はその時期にC++を仕事で書いていた
全てのオブジェクトがヒープにあった
コピーに関して悩んだことがなかったので
Effective C++を読んでもこの本は何でこんな「不整合が起きないオブジェクト」の作り方の解説ばっかりやってるんだろうと思っていたぐらいだ
621デフォルトの名無しさん
2023/11/22(水) 23:30:42.74ID:F4GGzYS9 ちなみにこの全てのオブジェクトをヒープに取ればいいじゃんの思想をデフォルトにした言語がJavaである
メモリの解放漏れはGCにより問題なくなったがヌルポを量産したのは言うまでもない
メモリの解放漏れはGCにより問題なくなったがヌルポを量産したのは言うまでもない
622デフォルトの名無しさん
2023/11/22(水) 23:32:00.30ID:UBOPkQxC ChatGPTとまでは言わんが、IDEも仕事しろ、っていう世の中ではある
623デフォルトの名無しさん
2023/11/22(水) 23:37:47.47ID:Rf3A/fx6 >>615
金がなくなっただけでスポンサーついたら復活した
金がなくなっただけでスポンサーついたら復活した
624デフォルトの名無しさん
2023/11/23(木) 00:06:01.85ID:KrVwEhLS625デフォルトの名無しさん
2023/11/23(木) 00:11:54.90ID:mLPybMZb Javaにはポインタしかない
ゆえにコンポジションを繰り返せばリンクリストのようになる
でも実装継承なら
という風に二つの問題は一つにつながる
ゆえにコンポジションを繰り返せばリンクリストのようになる
でも実装継承なら
という風に二つの問題は一つにつながる
626デフォルトの名無しさん
2023/11/23(木) 01:52:03.12ID:FMewW6Qw >>616
Effective C++がコピーの話ばっかりという印象はないけどな
あるのはもともとCにあるコピー問題をいかにC++で解決するかというスタンスの解説
あとコピー問題を解決するためヒープを使うってのも謎理論
それは因果関係逆でしょ
ポインタをメンバーに持つデータ構造のコピーをいかに安全に実現するかでしょ
STLコンテナによりそこに厳密な意味定義が必要となった
Effective C++がコピーの話ばっかりという印象はないけどな
あるのはもともとCにあるコピー問題をいかにC++で解決するかというスタンスの解説
あとコピー問題を解決するためヒープを使うってのも謎理論
それは因果関係逆でしょ
ポインタをメンバーに持つデータ構造のコピーをいかに安全に実現するかでしょ
STLコンテナによりそこに厳密な意味定義が必要となった
627デフォルトの名無しさん
2023/11/23(木) 07:44:46.73ID:N5SmR8A3 >>568
と負け犬が申しております
と負け犬が申しております
628デフォルトの名無しさん
2023/11/23(木) 09:38:23.37ID:jt92Atwz >>621
ヌルポは型無しnullpointerによる型の制約に違反する問題だろ。
スタックだろうがヒープだろうが型無しインスタンスを使う限り発生する。
c++もポインタを排除して参照のみにできれば随分違うだろうけど。
ヌルポは型無しnullpointerによる型の制約に違反する問題だろ。
スタックだろうがヒープだろうが型無しインスタンスを使う限り発生する。
c++もポインタを排除して参照のみにできれば随分違うだろうけど。
629デフォルトの名無しさん
2023/11/23(木) 10:31:50.34ID:mLPybMZb 中途半端に浅いコピーは、深い方が正しい可能性を否定できない
これがコピー問題
ヒープを使えば極端に浅いコピーになる
これはバグではなく意図的にしか見えないから問題が解消する
これがコピー問題
ヒープを使えば極端に浅いコピーになる
これはバグではなく意図的にしか見えないから問題が解消する
630デフォルトの名無しさん
2023/11/23(木) 10:37:31.57ID:mHKDjsht >>597
そこはRust最低だよな
そこはRust最低だよな
631デフォルトの名無しさん
2023/11/23(木) 10:57:07.78ID:KmXfNFgK 機能追加が常に善なら後発言語は機能お化けに
なる一方のはずだがそうはなってないので
〇〇言語には△△機能が無いからゴミという
論法はあまり意味がない
なる一方のはずだがそうはなってないので
〇〇言語には△△機能が無いからゴミという
論法はあまり意味がない
632デフォルトの名無しさん
2023/11/23(木) 12:06:15.18ID:gaANDpVB633デフォルトの名無しさん
2023/11/23(木) 12:33:56.71ID:cJqQ5Mzl634デフォルトの名無しさん
2023/11/23(木) 13:07:39.51ID:mHKDjsht C++のtemplateは失敗
635デフォルトの名無しさん
2023/11/23(木) 13:35:39.34ID:tND7y2dZ636デフォルトの名無しさん
2023/11/23(木) 13:53:47.80ID:KmXfNFgK637デフォルトの名無しさん
2023/11/23(木) 14:01:33.34ID:P5PvPGf5 実装継承不要とか言ってたやつら負けるの早すぎだろ
拍子抜けもいいところ
拍子抜けもいいところ
638デフォルトの名無しさん
2023/11/23(木) 15:08:18.27ID:m+MQWJu5 いや。参考になったから、それはそれでいいぞ(IUnk派
639デフォルトの名無しさん
2023/11/23(木) 16:01:38.36ID:M3SMKrV5 Reactの継承を使っているコードを出せない時点で負け犬はどっちか明確
強い言葉使ってやるからかかってこい
強い言葉使ってやるからかかってこい
640デフォルトの名無しさん
2023/11/23(木) 16:37:00.29ID:/KrkujPK 「Reactは本体含めて継承は一切使っておらず、全て関数だと言い張る人がいるのですが本当でしょうか?」と
自分の主張ではないフリしてStack Overflowあたりで聞いてみ?
めっちゃ馬鹿にされるだろうけどすぐに欲しがってる答えをもらえるぞw
自分の主張ではないフリしてStack Overflowあたりで聞いてみ?
めっちゃ馬鹿にされるだろうけどすぐに欲しがってる答えをもらえるぞw
641デフォルトの名無しさん
2023/11/23(木) 16:38:05.49ID:t7xzkVTj ビビってレスもできんかw
情けないクズ
情けないクズ
642デフォルトの名無しさん
2023/11/23(木) 16:43:11.88ID:9Fa6B1S9 プロトタイプ継承もわかってないのに事あるごとにReact連呼してたのかと思うと滑稽を通り越してちょっと可哀想
643デフォルトの名無しさん
2023/11/23(木) 16:52:07.60ID:t7xzkVTj はよそのコードを出せよ
それも出せないくせに偉そうに御託をごちゃごちゃ言う
偉そうに自分語りするくせに的外れ
虫唾が走る
それも出せないくせに偉そうに御託をごちゃごちゃ言う
偉そうに自分語りするくせに的外れ
虫唾が走る
644デフォルトの名無しさん
2023/11/23(木) 17:57:28.21ID:qpiJFg02 継承はプログラミングスタイルとして決定が多いため
モダンな各プログラミング言語で継承が不採用となっただけでなく
Reactでも継承を使わずに済むように進化してきたのよ
モダンな各プログラミング言語で継承が不採用となっただけでなく
Reactでも継承を使わずに済むように進化してきたのよ
645デフォルトの名無しさん
2023/11/23(木) 18:04:46.83ID:t7xzkVTj おーいまた遅レスかー?
快活クラブから出ちゃったのー?
快活クラブから出ちゃったのー?
646デフォルトの名無しさん
2023/11/23(木) 18:52:56.05ID:t7xzkVTj >>644
多分そういう意味すらわかってないと思うよ
プロトタイプ継承がどうとかそんな話とカンケーないのにな
とっととReactのリポジトリクローンしてgrepすりゃわかるのに
何でその程度のことができないのか
多分そういう意味すらわかってないと思うよ
プロトタイプ継承がどうとかそんな話とカンケーないのにな
とっととReactのリポジトリクローンしてgrepすりゃわかるのに
何でその程度のことができないのか
647デフォルトの名無しさん
2023/11/23(木) 19:34:58.02ID:5s3/w8/I src/foo/bar.jsの124行目見てどう思うプギャー
とやればいいだけなのになぜかやらない
とやればいいだけなのになぜかやらない
648デフォルトの名無しさん
2023/11/23(木) 21:12:25.76ID:FMewW6Qw >>629
それは理解がおかしい
浅い深いのコピーの分類ではうまくいかなかったのが歴史
それが所有権の概念とムーブセマンティクスの導入で整理されたのが今の状態
浅いと言っていたのがムーブで深いのがコピー
ヒープがどうのこうのってのは間接的なこと
そもそもヒープが単一って前提もc++にはない
それは理解がおかしい
浅い深いのコピーの分類ではうまくいかなかったのが歴史
それが所有権の概念とムーブセマンティクスの導入で整理されたのが今の状態
浅いと言っていたのがムーブで深いのがコピー
ヒープがどうのこうのってのは間接的なこと
そもそもヒープが単一って前提もc++にはない
649デフォルトの名無しさん
2023/11/23(木) 21:20:40.39ID:FMewW6Qw >>634
まぁ判断は難しいね
下手に表現力が高かったがために、一見言語組み込みでやるべきものの多くがユーザー側で実現されてきた
様々なテクニックが発見され発展速度向上には寄与しただろうが一方で深い考察のなく導入された結果仕様の複雑さを招いた
個人的にはエラーメッセージ見ても何が悪いのかすぐに理解できない代物になったのは許せないね
まぁ判断は難しいね
下手に表現力が高かったがために、一見言語組み込みでやるべきものの多くがユーザー側で実現されてきた
様々なテクニックが発見され発展速度向上には寄与しただろうが一方で深い考察のなく導入された結果仕様の複雑さを招いた
個人的にはエラーメッセージ見ても何が悪いのかすぐに理解できない代物になったのは許せないね
650デフォルトの名無しさん
2023/11/23(木) 21:32:54.70ID:12+j04nO C++のテンプレートはCのマクロ文化を止めたかったんでしょ
メタプロガチ勢が頑張りすぎてカオスになったけど功績は大きいと思う
メタプロガチ勢が頑張りすぎてカオスになったけど功績は大きいと思う
651デフォルトの名無しさん
2023/11/23(木) 21:58:33.69ID:hsLNP7GU ディープコピーを知らずに盛大に恥を晒した某オジがコピーについて語るとか世も末だなw
652デフォルトの名無しさん
2023/11/23(木) 22:09:33.63ID:t7xzkVTj テンプレートはコンテナを矛盾なく書くのがめちゃくちゃ難しいのよ
まず要素の型が実体とポインタ両方に対してうまく動くようにするのは至難の業
例のコピー可能オブジェクトの話とも絡んできて「無理」となる
この辺Rustはよくできてる
イテレータが可変参照なのか共有参照なのか、実体なのかによってきちんと分けられている
C++で困った部分を完全に解決してくれてる
Rust素晴らしい
まず要素の型が実体とポインタ両方に対してうまく動くようにするのは至難の業
例のコピー可能オブジェクトの話とも絡んできて「無理」となる
この辺Rustはよくできてる
イテレータが可変参照なのか共有参照なのか、実体なのかによってきちんと分けられている
C++で困った部分を完全に解決してくれてる
Rust素晴らしい
653デフォルトの名無しさん
2023/11/23(木) 22:28:06.68ID:0De2U7us654デフォルトの名無しさん
2023/11/23(木) 23:13:27.00ID:FMewW6Qw そりゃSTLで満足してる間はそれでいいだろ
アロケーターを指定したことないだろ?
アロケーターを指定したことないだろ?
655デフォルトの名無しさん
2023/11/23(木) 23:28:00.45ID:M3SMKrV5 むかしはSTLがない環境も多かったからね
windows環境ではクソ遅かったせいか
完全にないものと扱う奴さえいた
windows環境ではクソ遅かったせいか
完全にないものと扱う奴さえいた
656デフォルトの名無しさん
2023/11/23(木) 23:30:28.39ID:0De2U7us >>654,655
じゃ今のSTLは問題ないで良いのかな?
じゃ今のSTLは問題ないで良いのかな?
657デフォルトの名無しさん
2023/11/23(木) 23:37:07.63ID:u/H26W0M >>652
そこに加えてRustはスタック領域も扱えるからさらにヒープ使用を減らせるところ
そこに加えてRustはスタック領域も扱えるからさらにヒープ使用を減らせるところ
658デフォルトの名無しさん
2023/11/23(木) 23:37:56.70ID:09UkZirn 問題ないと問われればあるだろうね
ただよく訓練されたC++使いは気に入らないと文句を垂れても仕方ない事もよく理解してるから
その環境で可能な別の手段を用いるだけだよ
ただよく訓練されたC++使いは気に入らないと文句を垂れても仕方ない事もよく理解してるから
その環境で可能な別の手段を用いるだけだよ
659デフォルトの名無しさん
2023/11/23(木) 23:39:53.17ID:0De2U7us660デフォルトの名無しさん
2023/11/23(木) 23:48:05.78ID:09UkZirn どのような問題かなんて別の手段で解決した後に覚えてるわけないじゃん
何でも欲しがりさんには判らないか
何でも欲しがりさんには判らないか
661デフォルトの名無しさん
2023/11/23(木) 23:58:49.29ID:0De2U7us >>660
示せないなら問題あるなんて言ってはいかんだろうよ?
示せないなら問題あるなんて言ってはいかんだろうよ?
662デフォルトの名無しさん
2023/11/24(金) 00:21:55.00ID:oZLKiYTi C++はSTLを一応擁しているけど、各プロジェクトで、もうちょっと軽量で自分とこ向きのコンテナ持ってるとこが多い
異論は認める
異論は認める
663デフォルトの名無しさん
2023/11/24(金) 00:29:35.14ID:qKRvRsRu664デフォルトの名無しさん
2023/11/24(金) 00:31:58.77ID:oZLKiYTi 俺はSTLが重厚すぎて自分の手に負えないと思ってるので、なんとも。
STLにもバリエーションがあるのは承知していて、あんまり幅広く試せてないってのも。
ただし、依存(include)してるプロジェクトは当然あるし、試作には便利なので、ないのは困る。
STLにもバリエーションがあるのは承知していて、あんまり幅広く試せてないってのも。
ただし、依存(include)してるプロジェクトは当然あるし、試作には便利なので、ないのは困る。
665デフォルトの名無しさん
2023/11/24(金) 07:39:29.33ID:eRQLkcC1666デフォルトの名無しさん
2023/11/24(金) 08:38:00.98ID:4SGglGUV667デフォルトの名無しさん
2023/11/24(金) 11:26:41.73ID:qKRvRsRu668デフォルトの名無しさん
2023/11/24(金) 11:31:35.71ID:UKwUTpr8 継承を使いこなせない者同士仲良くしろよなw
669デフォルトの名無しさん
2023/11/24(金) 14:20:00.82ID:v63PRHPl 嫌儲にまでスレ立てることないだろw
670デフォルトの名無しさん
2023/11/24(金) 14:23:40.25ID:9RAaBgN9 全然伸びてなくて草
こんな過疎スレで敗走したからって嫌儲民おらに力を分けてくれーーってやろうとしたけど
そこでも無視されてる
情けない奴だ
だからゴミクズなんだよ
こんな過疎スレで敗走したからって嫌儲民おらに力を分けてくれーーってやろうとしたけど
そこでも無視されてる
情けない奴だ
だからゴミクズなんだよ
671デフォルトの名無しさん
2023/11/24(金) 14:29:03.78ID:rK2EDUzF Why I think C++ is still a desirable coding platform compared to Rust
https://lucisqr.substack.com/p/why-i-think-c-is-still-a-very-attractive
https://lucisqr.substack.com/p/why-i-think-c-is-still-a-very-attractive
672デフォルトの名無しさん
2023/11/24(金) 14:36:54.58ID:eHJQmp62673デフォルトの名無しさん
2023/11/24(金) 16:11:19.50ID:UVQLfV0S >>671
これは酷いw
これは酷いw
674デフォルトの名無しさん
2023/11/24(金) 16:25:00.95ID:tvJVQF3W いくらめんどくさくても安全のお守りがほしいんすわ
C++製システムがクラッシュしてうなだれたあの日の鬱憤が安全を求めるんすわ
C++製システムがクラッシュしてうなだれたあの日の鬱憤が安全を求めるんすわ
675デフォルトの名無しさん
2023/11/24(金) 16:34:40.23ID:6OrpRj0R676デフォルトの名無しさん
2023/11/24(金) 16:45:30.90ID:Oe/LAESW677デフォルトの名無しさん
2023/11/24(金) 16:52:45.75ID:KbRqc6TK フルボッコで草
678デフォルトの名無しさん
2023/11/24(金) 16:55:26.04ID:rK2EDUzF めっちゃ感想来てるw
俺は読まずに貼った、おもしろそうだったから
[Roast Me] って付いてたので、異論は認める系の日記かなって思ってた
仕事終わったら俺も読む 気にしないから感想はご自由に
俺は読まずに貼った、おもしろそうだったから
[Roast Me] って付いてたので、異論は認める系の日記かなって思ってた
仕事終わったら俺も読む 気にしないから感想はご自由に
679デフォルトの名無しさん
2023/11/24(金) 19:51:30.59ID:FR/8T+5m >>674
わかる。他人の書いたC++ライブラリがめっちゃメモリリークする時とかそう思うわ
わかる。他人の書いたC++ライブラリがめっちゃメモリリークする時とかそう思うわ
680デフォルトの名無しさん
2023/11/24(金) 19:53:16.58ID:Pf2BWo+V 元記事に英語でコメント付けに行くことはしい内弁慶たちであった
681デフォルトの名無しさん
2023/11/24(金) 20:53:52.01ID:HwIqF0Eo >>652
要約: バカには無理
要約: バカには無理
682デフォルトの名無しさん
2023/11/24(金) 22:58:47.93ID:cJ52o0CU 使うなと言ってもバカはクラス継承をどうしても使いたがって質を下げるため
モダンなプログラミング言語は一斉にクラスごと言語から排除した
モダンなプログラミング言語は一斉にクラスごと言語から排除した
683デフォルトの名無しさん
2023/11/24(金) 23:09:27.03ID:UpLQZeUm そうそうバカはclassやextendを無くせば実装継承が無くなったと勘違いするからバカに気づかれないようにカモフラージュして実装してバカが無節操に使わないようにしてるんだよなぁ
684デフォルトの名無しさん
2023/11/24(金) 23:40:23.66ID:qKRvRsRu そうしてマイナー言語マニアの思い出の一つとして
長く記憶に留まる言語となるであろう
長く記憶に留まる言語となるであろう
685デフォルトの名無しさん
2023/11/25(土) 00:57:31.51ID:xDUppX6s >>683
実装継承の定義教えてくれ
実装継承の定義教えてくれ
686デフォルトの名無しさん
2023/11/25(土) 09:02:19.65ID:rKTwm3uz >他人の書いたC++ライブラリがめっちゃメモリリークする
某OSのAPIのことですね判ります
某OSのAPIのことですね判ります
687デフォルトの名無しさん
2023/11/25(土) 09:47:04.81ID:9BsUE7B+688デフォルトの名無しさん
2023/11/25(土) 21:29:31.59ID:1Ohowu9E 嘘オジと複オジは撃沈されたようだな
689デフォルトの名無しさん
2023/11/26(日) 15:19:59.23ID:06WEnIxy OSにバグがあって後処理をしてもOSがリソースを掴みっぱなしになるといった経験はないだろうか。
そういった場合そのリソースを使う箇所だけ子プロセスとして隔離し、使い終わったらそのプロセスを終了する事でリソースを完全に開放させることが可能だ。
このプロセスの隔離はかなり万能な解決方法で、納期が短くて怪しいと思っても修正が困難なケースにも応用可能だ。
まあ要するにリークを疑われる場合一旦別プロセスにすれば必ず開放されるからリークは必ずしも怖くないよって話。
そういった場合そのリソースを使う箇所だけ子プロセスとして隔離し、使い終わったらそのプロセスを終了する事でリソースを完全に開放させることが可能だ。
このプロセスの隔離はかなり万能な解決方法で、納期が短くて怪しいと思っても修正が困難なケースにも応用可能だ。
まあ要するにリークを疑われる場合一旦別プロセスにすれば必ず開放されるからリークは必ずしも怖くないよって話。
690デフォルトの名無しさん
2023/11/26(日) 15:30:13.25ID:qv9H5y0z と、御社の現お取引先ホームページにありますね。
弊社はRust採用実績十分、リークは原則としてありません
弊社はRust採用実績十分、リークは原則としてありません
691デフォルトの名無しさん
2023/11/26(日) 16:02:44.80ID:GTIMQwMH >>687
いい定義だな
いい定義だな
692デフォルトの名無しさん
2023/11/26(日) 16:21:23.35ID:8OjiBh4l Rustはモダンな言語の一つなので
その定義でもRustは実装継承を持たずきちんと排除している
その定義でもRustは実装継承を持たずきちんと排除している
693デフォルトの名無しさん
2023/11/26(日) 18:06:50.18ID:6qvbnksS 結局、c++が最狂ってことでいいな?
694デフォルトの名無しさん
2023/11/26(日) 18:08:00.70ID:Dq1p+inG >>618
c++が最凶最悪
c++が最凶最悪
695デフォルトの名無しさん
2023/11/26(日) 18:37:35.88ID:4YJKEDWv696デフォルトの名無しさん
2023/11/26(日) 18:49:55.09ID:o8qwwCxG >一旦別プロセスにすれば必ず開放される
doubt
doubt
697デフォルトの名無しさん
2023/11/26(日) 19:14:33.38ID:6NRjjzPt すくなくともWindowsは長期間起動し続けると空きメモリが減っていく
OSが意図的に開放せずにキャッシュしてるのかリークなのかは分からないが
OSが意図的に開放せずにキャッシュしてるのかリークなのかは分からないが
698デフォルトの名無しさん
2023/11/26(日) 19:39:37.59ID:AfiVlC9p >>689
それ本当にOSのバグ?w
それ本当にOSのバグ?w
699デフォルトの名無しさん
2023/11/26(日) 19:41:06.05ID:Lbe7PiAw700デフォルトの名無しさん
2023/11/26(日) 19:44:09.20ID:EBR4w0d/ >>689
きっしょ
きっしょ
701デフォルトの名無しさん
2023/11/26(日) 22:37:51.44ID:06WEnIxy 俺が遭遇したのは2件で、どちらもOSの不具合という結論だよ
MSのナレッジに残ってるかもしれないがどっちもプロセスを終了するしか解決策が示されなかった
>>699
こういう理不尽に遭遇して回避策が示されたなら大仕事でもやらざるを得ないと思うけどね
別に難しいって程でもないし
MSのナレッジに残ってるかもしれないがどっちもプロセスを終了するしか解決策が示されなかった
>>699
こういう理不尽に遭遇して回避策が示されたなら大仕事でもやらざるを得ないと思うけどね
別に難しいって程でもないし
702デフォルトの名無しさん
2023/11/26(日) 22:48:32.77ID:06WEnIxy そういや別件でOSが設定しているタイムアウト値を待てない場合も別プロセスにして回避した事がある
この板って年寄りばかりだろうしWindowsのプログラミング長年やってれば何度かそういう事に遭遇するんじゃないの
この板って年寄りばかりだろうしWindowsのプログラミング長年やってれば何度かそういう事に遭遇するんじゃないの
703デフォルトの名無しさん
2023/11/26(日) 23:01:37.86ID:iMOX0Yuj あのね、年寄りが真面目に答えてやるとOSの観点から言うと
windowsとLinuxじゃプロセスの考え方が結構違ってて
Linuxの場合、バックグラウンドプロセスっていうのは普通に使われまくってるの
いわゆるプロセスのクローンだから扱いが楽
シェルから作れるし
一方windowsではexeなんでクソ重い上に扱いが面倒
データ共有やプロセス間通信も一苦労だ
だからwindowsではLinuxっぽいバックグラウンド処理はスレッドを使う
windowsにおいてスレッドの方が軽い
一方Linuxではスレッドもプロセスも本質的に同じ
(カーネルの構造体thread_structはプロセス生成の時も使う)
よってプログラミングモデルがだいぶ違うため
どうすべきか?はかなり違う
以上がwindowsでもLinuxでも並行処理を書いてきた俺の感想
windowsとLinuxじゃプロセスの考え方が結構違ってて
Linuxの場合、バックグラウンドプロセスっていうのは普通に使われまくってるの
いわゆるプロセスのクローンだから扱いが楽
シェルから作れるし
一方windowsではexeなんでクソ重い上に扱いが面倒
データ共有やプロセス間通信も一苦労だ
だからwindowsではLinuxっぽいバックグラウンド処理はスレッドを使う
windowsにおいてスレッドの方が軽い
一方Linuxではスレッドもプロセスも本質的に同じ
(カーネルの構造体thread_structはプロセス生成の時も使う)
よってプログラミングモデルがだいぶ違うため
どうすべきか?はかなり違う
以上がwindowsでもLinuxでも並行処理を書いてきた俺の感想
704デフォルトの名無しさん
2023/11/26(日) 23:12:09.99ID:dlQxZ4PC Windowsはプロセスもスレッドも、互換性チェックみたいのが重厚らしく超高コスト
さらに、セキュリティソフトが走ってるのが当たり前の世界なので、ファイルハンドルも高コスト
なんでもWSL2でやったほうが軽い? らしい
てことで、コルーチンはいいぞw
さらに、セキュリティソフトが走ってるのが当たり前の世界なので、ファイルハンドルも高コスト
なんでもWSL2でやったほうが軽い? らしい
てことで、コルーチンはいいぞw
705デフォルトの名無しさん
2023/11/26(日) 23:30:18.11ID:EFSUb3PR Rustの東京を使えばデフォルトでCPUのコアスレッド数をフル活用してコルーチンを何万も同時に動かせますものね
706デフォルトの名無しさん
2023/11/27(月) 00:37:45.36ID:ggQuSpTQ Elixir は、10万もの小プロセスを起動できる
Go の並行処理も、mattn の本に書いてあるけど、
C で、100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、
Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ
Goの方が、CPUコアを効率的に使える
Go の並行処理も、mattn の本に書いてあるけど、
C で、100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、
Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ
Goの方が、CPUコアを効率的に使える
707706
2023/11/27(月) 00:48:36.74ID:ggQuSpTQ とにかく、スレッドを起動したらダメ!
CPU コアや時間の大半が、起動処理に使われるから
CPU コアや時間の大半が、起動処理に使われるから
708デフォルトの名無しさん
2023/11/27(月) 00:59:58.17ID:zZXu+dmb とはいえコルーチンって使い所が難しいのよ
流行りそうで流行らないのがその理由
結局「本当の並列性が必要ないようなすぐ終わる処理を大量にする」ユースケースにしか使えないから
こういう処理ってあまりないことに気がつく
まず真の並列性が必要となる数値計算では使えない
処理の中でブロックするとダメなのでその判断も難しい
よって普通の言語では使うのが難しい
流行りそうで流行らないのがその理由
結局「本当の並列性が必要ないようなすぐ終わる処理を大量にする」ユースケースにしか使えないから
こういう処理ってあまりないことに気がつく
まず真の並列性が必要となる数値計算では使えない
処理の中でブロックするとダメなのでその判断も難しい
よって普通の言語では使うのが難しい
709デフォルトの名無しさん
2023/11/27(月) 01:36:12.87ID:O2rw1r7K710デフォルトの名無しさん
2023/11/27(月) 01:38:37.07ID:AHLzaHDv >>706
>Goの方が、CPUコアを効率的に使える
そう主張したかったら根拠を示さないとね
例えば逆の根拠として
Go各のgoroutineは別々の各々のスタック領域を必要とするけど
Rustはスタックレスなコルーチンだから必要とせずその分だけ効率的だね
>Goの方が、CPUコアを効率的に使える
そう主張したかったら根拠を示さないとね
例えば逆の根拠として
Go各のgoroutineは別々の各々のスタック領域を必要とするけど
Rustはスタックレスなコルーチンだから必要とせずその分だけ効率的だね
711デフォルトの名無しさん
2023/11/27(月) 01:45:48.38ID:zZXu+dmb >>707
普通はスレッドプール使うやろ
普通はスレッドプール使うやろ
712デフォルトの名無しさん
2023/11/27(月) 06:31:05.54ID:klBkI3Ol おれの作成したソフトは起動時に64個のスレッドを立ち上げているが常にサクサクだ
713デフォルトの名無しさん
2023/11/27(月) 07:50:36.80ID:h6EdzCL7 >>712
言語は何?
言語は何?
714デフォルトの名無しさん
2023/11/27(月) 07:54:36.67ID:klBkI3Ol cppは光速
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 ★2 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【悲報】なんで「アジア主義」を唱える右翼が居ないの🤔 [616817505]
- 野田(安倍晋三マニア)「総理は国益を損なうような発言はしてはいけない」 [884040186]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 【高市悲報】片山さつき、円安進行を受けコメント「為替の変動を緊張感を持って見極める」 [888298477]
