C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part147
https://mevius.5ch.net/test/read.cgi/tech/1576659413/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
探検
C++相談室 part148
レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/01/31(金) 20:54:06.26ID:Nt0XFA2s
868デフォルトの名無しさん
2020/02/15(土) 16:18:40.81ID:qSK05WKV869デフォルトの名無しさん
2020/02/15(土) 16:32:01.46ID:4O8uAQVX auto hentai = SM(std::move(羞恥心));
870デフォルトの名無しさん
2020/02/15(土) 17:12:18.08ID:BMoFghq4 newより+のほうが速いってことか。
871デフォルトの名無しさん
2020/02/15(土) 17:25:57.34ID:BMoFghq4 +と-ならどっちが速いんだろう。
872はちみつ餃子 ◆8X2XSCHEME
2020/02/15(土) 17:49:06.00ID:cwLPNCdO >>871
回路はほぼ共有してるんじゃないの?
2の補数を使うのもそれが理由なんだろうし。
少なくとも Pentium 時代まではクロックは同じだったはず。
近頃の事情は知らんけど
GCC あたりで強い最適化をかけてみても引き算か足し算を特に避ける様子もないので、
まあだいたい同じなんでしょ。
回路はほぼ共有してるんじゃないの?
2の補数を使うのもそれが理由なんだろうし。
少なくとも Pentium 時代まではクロックは同じだったはず。
近頃の事情は知らんけど
GCC あたりで強い最適化をかけてみても引き算か足し算を特に避ける様子もないので、
まあだいたい同じなんでしょ。
873デフォルトの名無しさん
2020/02/15(土) 18:01:50.38ID:zARYy4pH >>870
C++の場合、+ひとつだけでも裏でどんなコードが動くか油断ならない。
C++の場合、+ひとつだけでも裏でどんなコードが動くか油断ならない。
874デフォルトの名無しさん
2020/02/15(土) 18:13:26.25ID:2RWOAy2H875はちみつ餃子 ◆8X2XSCHEME
2020/02/15(土) 18:14:19.52ID:cwLPNCdO 整数だけの話じゃなくてってことか。
ある程度の常識的判断が出来る場合もあるけど、
基本的には実装次第だわな。
ある程度の常識的判断が出来る場合もあるけど、
基本的には実装次第だわな。
876デフォルトの名無しさん
2020/02/15(土) 18:19:46.61ID:2RWOAy2H 組み込み型じゃなけりゃそりゃね
+ でミサイル発射とか
+ でミサイル発射とか
877デフォルトの名無しさん
2020/02/15(土) 19:02:33.35ID:qSK05WKV >>870
new より + の方が 170 倍速いと言うことだ。
new より + の方が 170 倍速いと言うことだ。
878デフォルトの名無しさん
2020/02/15(土) 19:04:43.75ID:cVttwiPD >>874
一度bをnegateしてから足す処理系があるかもな
一度bをnegateしてから足す処理系があるかもな
879デフォルトの名無しさん
2020/02/15(土) 19:30:46.15ID:qSK05WKV >>874
確かに引き算には順序があるので、足し算より最適化に不利になることがある。
確かに引き算には順序があるので、足し算より最適化に不利になることがある。
880デフォルトの名無しさん
2020/02/15(土) 19:48:11.00ID:x3vECiAE if(bReaZyuu){
881デフォルトの名無しさん
2020/02/16(日) 00:34:55.37ID:pXV6w9YM if (false != bReaZyuu) {
882デフォルトの名無しさん
2020/02/16(日) 00:35:58.12ID:pXV6w9YM newが常に数百クロックで済むと思ったら
間違いかもしれん…
間違いかもしれん…
883デフォルトの名無しさん
2020/02/16(日) 01:50:35.50ID:1DEBeg9G 経験的にはnewが遅いと思ったことは無い。
なお、コンストラクタの処理時間以外はnewはmallocと同じ速度。
ゲームメーカーでも必要な場合に malloc を使うことは問題ないとされている。
なお、コンストラクタの処理時間以外はnewはmallocと同じ速度。
ゲームメーカーでも必要な場合に malloc を使うことは問題ないとされている。
884デフォルトの名無しさん
2020/02/16(日) 02:03:13.40ID:MPWqg8uW new からしてmallocを呼んでる実装が多い気がする。
885デフォルトの名無しさん
2020/02/16(日) 02:34:52.46ID:yR2k1LO6 そりゃnew用とmalloc用でヒープ別けたら無駄だし
886はちみつ餃子 ◆8X2XSCHEME
2020/02/16(日) 02:36:27.06ID:VK9AAsv4 ヒープからの割り付けをする機会を減らすことで実行速度を上げる工夫はよく聞く話ではあるよな。
ただ、そこまでギリギリのチューニングが必要ってことがあまりないだけで。
ただ、そこまでギリギリのチューニングが必要ってことがあまりないだけで。
887デフォルトの名無しさん
2020/02/16(日) 07:37:50.08ID:Rlzwkt+8 newは最悪値が読めないからなぁ
組込とかシビアなゲームでは使い辛い
組込とかシビアなゲームでは使い辛い
888デフォルトの名無しさん
2020/02/16(日) 08:25:44.50ID:Yy7z+EdH 具体的な数字が出てるとイメージが湧く。
889デフォルトの名無しさん
2020/02/16(日) 08:45:53.63ID:Yy7z+EdH 170クロックならあんまり気にする必要ないな。
890デフォルトの名無しさん
2020/02/16(日) 10:26:07.87ID:w0IbR+6u 組み込みでc++がそもそもおかしい
891デフォルトの名無しさん
2020/02/16(日) 11:00:34.43ID:1DEBeg9G >>887
よっぽどでない限り、AAAゲームでも使われてるよ。
よっぽどでない限り、AAAゲームでも使われてるよ。
892デフォルトの名無しさん
2020/02/16(日) 11:01:02.59ID:B02+i8yM 最近では小規模組み込みでもC++を使う事はあります
new / deleteやヒープを無効にしたり
newのみでdelete出来ないようにしたり
なんてこともあります
new / deleteやヒープを無効にしたり
newのみでdelete出来ないようにしたり
なんてこともあります
893デフォルトの名無しさん
2020/02/16(日) 11:03:58.49ID:+vprjU7s >>890
視野狭すぎ
視野狭すぎ
894デフォルトの名無しさん
2020/02/16(日) 11:12:03.97ID:w0IbR+6u また馬鹿が無駄に一般化してできるワイ言ってんのか。。相変わらずだな。
895デフォルトの名無しさん
2020/02/16(日) 11:20:41.43ID:+vprjU7s 日本語でおk
896デフォルトの名無しさん
2020/02/16(日) 11:23:16.68ID:Yy7z+EdH ストリームってなんで遅いんだろね。
897デフォルトの名無しさん
2020/02/16(日) 11:39:47.59ID:Rlzwkt+8898デフォルトの名無しさん
2020/02/16(日) 11:42:38.67ID:Yy7z+EdH スレで、do{}while()はダメっぽいこと書いてあったけど、なんでダメなの?
899デフォルトの名無しさん
2020/02/16(日) 12:30:30.11ID:q7JzY0gs >>887
でもお前は組み込みにもゲーム開発にも携わってないじゃん
でもお前は組み込みにもゲーム開発にも携わってないじゃん
900デフォルトの名無しさん
2020/02/16(日) 12:42:15.06ID:Rlzwkt+8901デフォルトの名無しさん
2020/02/16(日) 12:54:36.44ID:Yy7z+EdH プリンタ屋さんってどんな仕事ですか?
902デフォルトの名無しさん
2020/02/16(日) 12:58:53.64ID:Rlzwkt+8903デフォルトの名無しさん
2020/02/16(日) 12:59:56.11ID:Yy7z+EdH なんか難しそうですね。
904デフォルトの名無しさん
2020/02/16(日) 13:01:18.53ID:Yy7z+EdH プリンタってプロセッサはどんな感じのを使うんですか?
newってあるんですか?
newってあるんですか?
905デフォルトの名無しさん
2020/02/16(日) 13:02:40.97ID:Yy7z+EdH プリンタのヘッドについてる穴の数は決まっているんだから、あまりヒープが必要無さそうな気もする。
906デフォルトの名無しさん
2020/02/16(日) 13:03:59.79ID:Yy7z+EdH std::vectorの上にヒープを作っても速度的に大丈夫なことは確認した。
907デフォルトの名無しさん
2020/02/16(日) 13:07:31.29ID:Rlzwkt+8 昔はSHシリーズとかR2000とか
今はARMもそれなりに使ってる
制御だとnewは基本使わない
あと俺がやってるのは業務用のLBP
今はARMもそれなりに使ってる
制御だとnewは基本使わない
あと俺がやってるのは業務用のLBP
908デフォルトの名無しさん
2020/02/16(日) 13:08:47.09ID:Yy7z+EdH ってことはキャノンですか。
909デフォルトの名無しさん
2020/02/16(日) 13:10:53.15ID:Yy7z+EdH メモ問題は結局ホワイトボード買ってきた。
ホワイトボードをワンノートに撮影するという昔っぽいことに。
ホワイトボードをワンノートに撮影するという昔っぽいことに。
910デフォルトの名無しさん
2020/02/16(日) 13:11:07.93ID:Rlzwkt+8 流石に社名までは出せんわw
911デフォルトの名無しさん
2020/02/16(日) 13:12:13.52ID:Yy7z+EdH ワンノートのアンドロイド版はカメラにホワイトボードのモードがあるんだけど、テカリ消してくれないし、ホワイトバランスも調整してくれない。
912はちみつ餃子 ◆8X2XSCHEME
2020/02/16(日) 13:12:31.37ID:VK9AAsv4 PostScript くらいならプリンタの側で処理することもあるし、
世間で想像されているよりは高級なことをやっているんじゃないかなぁという気もする。
世間で想像されているよりは高級なことをやっているんじゃないかなぁという気もする。
913デフォルトの名無しさん
2020/02/16(日) 13:16:21.65ID:Yy7z+EdH ってことは、別の人がnew使いまくりなのでは。
914デフォルトの名無しさん
2020/02/16(日) 13:17:17.71ID:Yy7z+EdH テカテカしないホワイトボードないのかな。
915はちみつ餃子 ◆8X2XSCHEME
2020/02/16(日) 13:20:18.57ID:VK9AAsv4916デフォルトの名無しさん
2020/02/16(日) 13:20:51.42ID:Yy7z+EdH ありがとん。
917デフォルトの名無しさん
2020/02/16(日) 13:27:19.36ID:Yy7z+EdH モーター動かしたりするのはnew使ったらダメなんだろな。
918デフォルトの名無しさん
2020/02/16(日) 13:52:37.96ID:Yy7z+EdH リアルタイムOSはヒープあるんだろか。
919デフォルトの名無しさん
2020/02/16(日) 14:03:56.47ID:1DEBeg9G >>900
ゲームに関しては、かなりちゃんとした現場で昔から malloc は使われていたし、全社的に使っても問題ないとされていた。
ゲームに関しては、かなりちゃんとした現場で昔から malloc は使われていたし、全社的に使っても問題ないとされていた。
920デフォルトの名無しさん
2020/02/16(日) 14:33:04.16ID:Rlzwkt+8921デフォルトの名無しさん
2020/02/16(日) 14:34:24.22ID:Rlzwkt+8 >>918
最大実行時間が読める専用のヒープを持ってたりするよ
最大実行時間が読める専用のヒープを持ってたりするよ
922デフォルトの名無しさん
2020/02/16(日) 14:44:07.47ID:Yy7z+EdH あるんだ。
923デフォルトの名無しさん
2020/02/16(日) 14:49:10.64ID:B02+i8yM >>918
ヒープを使うかどうか選べるものが多い
ヒープを使うかどうか選べるものが多い
924デフォルトの名無しさん
2020/02/16(日) 14:53:55.58ID:Yy7z+EdH 選べるってことは、用途によって使い分けが必要って事なんだろな。
925デフォルトの名無しさん
2020/02/16(日) 14:59:29.04ID:D2RmZx9z ループ内で可変長のvector使っているようなのは、外に出してループ始めにclearする方がいい
ループごとにvector出力しなきゃいけない場合も、moveしないでcopyした方がいい
ループごとにvector出力しなきゃいけない場合も、moveしないでcopyした方がいい
926デフォルトの名無しさん
2020/02/16(日) 15:03:54.38ID:k775l7KG >>920
意見されたら喧嘩売りたくなる病気なの?
意見されたら喧嘩売りたくなる病気なの?
927デフォルトの名無しさん
2020/02/16(日) 15:10:11.48ID:D2RmZx9z mallocは使い方が余程ひどく無ければ、性能上問題になることはない
問題になっている場合もプロファイラでその部分だけ対策すればどうにでもなる
断片化やmalloc自体の管理領域容量が気になるほどの環境では使わない方がいいが
問題になっている場合もプロファイラでその部分だけ対策すればどうにでもなる
断片化やmalloc自体の管理領域容量が気になるほどの環境では使わない方がいいが
928デフォルトの名無しさん
2020/02/16(日) 15:11:53.22ID:+ZTPu1gL >>926
それお前じゃね?
それお前じゃね?
929デフォルトの名無しさん
2020/02/16(日) 15:13:28.86ID:+ZTPu1gL >>927
リアルタイム系の仕事したことないならそう言う考え方でもいいと思うよ
リアルタイム系の仕事したことないならそう言う考え方でもいいと思うよ
930デフォルトの名無しさん
2020/02/16(日) 15:17:30.49ID:D2RmZx9z そもそもリアルタイム系の処理で、実処理部分でmallocするってのは普通しないよね
初期化時に必要なバッファはあらかじめ確保しておくものでしょ
そこはmallocだろうが静的確保だろうが変わらないし
初期化時に必要なバッファはあらかじめ確保しておくものでしょ
そこはmallocだろうが静的確保だろうが変わらないし
931デフォルトの名無しさん
2020/02/16(日) 15:23:06.64ID:8bxeBykO >>929はループの中で毎回malloc freeしてるからそりゃ性能が気になるよね
932デフォルトの名無しさん
2020/02/16(日) 15:24:31.11ID:1DEBeg9G >>925
std::vector<TYPE> は、リンクリストではなく、「可変長配列」なので、std::list<TYPE> に比べて、TYPE のコンストラクタがデコボコした頻度で
多めに呼び出されてしまう傾向がある。TYPEのコンストラクタの中で何かをnew していると、new が呼び出される回数をグラフにした場合、
デコボコになるため、速度的に滑らかさがなくなってしまう可能性が考えられる。
それは、newの速度がデコボコなのではなく、std::vector が持つ悪い性質の一つ。
速度的に「滑らか」にしたいならば、std::list の方が適している。
そもそも、C言語がポインタを用意したのは、リンクリストを使いたかったからで、Cはデータ集合用のデータ構造として動的リストではなくリンクリストを用いるのが伝統。
Cの高速性とはリンクリストによるものと言っても過言ではない。
newも、mallocもコンストラクタも、リンクリストと最も相性が良い傾向がある。
cppreferenceなどでも、std::vectorが出てくることが多いが、Cの新かを発揮するにはstd::listの方が良い。
std::vector<TYPE> は、リンクリストではなく、「可変長配列」なので、std::list<TYPE> に比べて、TYPE のコンストラクタがデコボコした頻度で
多めに呼び出されてしまう傾向がある。TYPEのコンストラクタの中で何かをnew していると、new が呼び出される回数をグラフにした場合、
デコボコになるため、速度的に滑らかさがなくなってしまう可能性が考えられる。
それは、newの速度がデコボコなのではなく、std::vector が持つ悪い性質の一つ。
速度的に「滑らか」にしたいならば、std::list の方が適している。
そもそも、C言語がポインタを用意したのは、リンクリストを使いたかったからで、Cはデータ集合用のデータ構造として動的リストではなくリンクリストを用いるのが伝統。
Cの高速性とはリンクリストによるものと言っても過言ではない。
newも、mallocもコンストラクタも、リンクリストと最も相性が良い傾向がある。
cppreferenceなどでも、std::vectorが出てくることが多いが、Cの新かを発揮するにはstd::listの方が良い。
933デフォルトの名無しさん
2020/02/16(日) 15:25:54.32ID:1DEBeg9G934デフォルトの名無しさん
2020/02/16(日) 15:27:49.69ID:D2RmZx9z いやいや、速度がシビアならreserveしとけと
cとの親和性考えなきゃdequeも良いが、cのAPI呼び出し考慮すると結局vectorをうまく使うのが一番良い
cとの親和性考えなきゃdequeも良いが、cのAPI呼び出し考慮すると結局vectorをうまく使うのが一番良い
935デフォルトの名無しさん
2020/02/16(日) 15:28:20.99ID:1DEBeg9G >>929
std::vector<TYPE>を使っていて、TYPEのコンストラクタの中でnewするのはリアルタイム処理には向きません。
その場合、std::list<TYPE>に変えれば劇的に速度が安定するはずです。
std::vector<TYPE>を使っていて、TYPEのコンストラクタの中でnewするのはリアルタイム処理には向きません。
その場合、std::list<TYPE>に変えれば劇的に速度が安定するはずです。
936デフォルトの名無しさん
2020/02/16(日) 15:30:12.10ID:1DEBeg9G >>934
CのAPI呼び出しで集合を渡す場合、通常、集合の要素はコンストラクタを持ちません。
その場合は、std::vectorは適すでしょう。
ところが、要素がコンストラクタを持つ場合は、std::listが適します。
CのAPI呼び出しで集合を渡す場合、通常、集合の要素はコンストラクタを持ちません。
その場合は、std::vectorは適すでしょう。
ところが、要素がコンストラクタを持つ場合は、std::listが適します。
937デフォルトの名無しさん
2020/02/16(日) 15:32:54.67ID:D2RmZx9z vectorで再配置する際にmoveされない前提なのね
938デフォルトの名無しさん
2020/02/16(日) 15:33:13.19ID:1DEBeg9G >>936
補足すれば、APIは、リング0のシステムランドで実装されていることが多いため、
リンクリストの様な複雑な構造が用いられることが少ないのです。
しかし、それはAPIに限った話で、Cは誕生したときから、要素数が変化する
集合には、動的配列よりもリンクリストを用いるのが伝統でした。
伝統と言うよりも、リンクリストこそがCの核心・本質といっても過言では有りません。
補足すれば、APIは、リング0のシステムランドで実装されていることが多いため、
リンクリストの様な複雑な構造が用いられることが少ないのです。
しかし、それはAPIに限った話で、Cは誕生したときから、要素数が変化する
集合には、動的配列よりもリンクリストを用いるのが伝統でした。
伝統と言うよりも、リンクリストこそがCの核心・本質といっても過言では有りません。
939デフォルトの名無しさん
2020/02/16(日) 15:35:27.77ID:1DEBeg9G940デフォルトの名無しさん
2020/02/16(日) 15:36:04.25ID:MPWqg8uW アドレスで直にアクセスできる言語の強みはリンクリストで活きるからごもっとも
941デフォルトの名無しさん
2020/02/16(日) 15:40:23.46ID:+ZTPu1gL942デフォルトの名無しさん
2020/02/16(日) 15:40:27.92ID:pXV6w9YM943デフォルトの名無しさん
2020/02/16(日) 15:42:34.49ID:D2RmZx9z それだとmalloc使うこと自体不味いだろ
確率でmmapしちゃうのだから
確率でmmapしちゃうのだから
944デフォルトの名無しさん
2020/02/16(日) 15:44:00.56ID:pXV6w9YM 別に
>>925の前半でおk
>>925の前半でおk
945デフォルトの名無しさん
2020/02/16(日) 15:46:21.91ID:D2RmZx9z もちろん初期化時以外でね
946デフォルトの名無しさん
2020/02/16(日) 16:01:46.00ID:1DEBeg9G >>937
moveを使いたい場合、要素の TYPE クラスに move 用の記述が必要となるため、手間がかかります。
moveを使いたい場合、要素の TYPE クラスに move 用の記述が必要となるため、手間がかかります。
947デフォルトの名無しさん
2020/02/16(日) 16:01:54.10ID:Yy7z+EdH is_pod_vで事前条件を確認してるけど、PODはなくなるんだってね。
948デフォルトの名無しさん
2020/02/16(日) 16:02:29.34ID:Rlzwkt+8949デフォルトの名無しさん
2020/02/16(日) 16:07:00.64ID:D2RmZx9z listで美味しいのはsplice使いたい時くらいだろ
multi threadのログ統合したい時とかに、lockに必要な時間を最小化出来る
multi threadのログ統合したい時とかに、lockに必要な時間を最小化出来る
950デフォルトの名無しさん
2020/02/16(日) 16:26:27.54ID:c8Po0Swg951デフォルトの名無しさん
2020/02/16(日) 17:05:35.53ID:+vprjU7s 子スレッドを休眠状態で作る方法ない?
起動直後にcondition_variable::waitとかじゃなく
初期状態として
起動直後にcondition_variable::waitとかじゃなく
初期状態として
952デフォルトの名無しさん
2020/02/16(日) 17:13:29.37ID:YrNuZAe7 何のために?それによる
953デフォルトの名無しさん
2020/02/16(日) 18:53:05.64ID:Yy7z+EdH >>950
ありがとん。
ありがとん。
954デフォルトの名無しさん
2020/02/16(日) 21:26:26.27ID:D0JJuQrX >>953
いえいえ
いえいえ
955デフォルトの名無しさん
2020/02/16(日) 23:16:48.80ID:B02+i8yM956デフォルトの名無しさん
2020/02/16(日) 23:20:30.34ID:B02+i8yM957デフォルトの名無しさん
2020/02/17(月) 00:08:48.44ID:U44ZlMgK 白物家電のマイコンやら、pfcのマイコンやらもやったが、そんなのはそもそもmalloc使うような環境じゃなかったしなぁ
RAMもkB単位で少ないし、自由に関数呼べるほどスタックも無いし
割り込み部分はアセンブリで書いてた
RAMもkB単位で少ないし、自由に関数呼べるほどスタックも無いし
割り込み部分はアセンブリで書いてた
958デフォルトの名無しさん
2020/02/17(月) 00:14:53.75ID:/jKzm6f9 今は冷蔵庫や電子レンジもAI積んでネットワークに繋がるIoT時代だけど
それでも組み込みって未だにそんな感じなの?
それでも組み込みって未だにそんな感じなの?
959デフォルトの名無しさん
2020/02/17(月) 00:16:48.70ID:U44ZlMgK まあそれは特に東南アジア向けだったし
日本よりさらにチープだったのかも
日本よりさらにチープだったのかも
960デフォルトの名無しさん
2020/02/17(月) 00:19:59.06ID:uafn9Eqq >>958
そんなのごく一部
そんなのごく一部
961デフォルトの名無しさん
2020/02/17(月) 00:20:59.44ID:uafn9Eqq いまだにチープな8bit CPUもたくさん使われている
962デフォルトの名無しさん
2020/02/17(月) 00:23:25.57ID:U44ZlMgK cortex-m0とか載ってたらもう小躍りしちゃうくらいのリッチさだよね
963デフォルトの名無しさん
2020/02/17(月) 00:34:16.83ID:H8nvOahp リッチなCPUを使うって事は
それだけ求められる事が大きいわけで
それだけ求められる事が大きいわけで
964デフォルトの名無しさん
2020/02/17(月) 07:41:59.44ID:xyBTOgD8 でもCPU節約するために人件費かけて結局商品高いじゃん
965デフォルトの名無しさん
2020/02/17(月) 09:22:40.01ID:usLteeFN 趣味じゃないんだから
当然トータルで考えるよ
開発工数、単価、機能性能、信頼性、供給、大人の事情、...
当然トータルで考えるよ
開発工数、単価、機能性能、信頼性、供給、大人の事情、...
966デフォルトの名無しさん
2020/02/17(月) 10:36:24.72ID:sgjaAMaL ゲーム業界の人だけど
new使っても問題ないってのはおれの常識とは異なる
まず問題が広すぎる
言いたいことはデフォルトのグローバルヒープを無邪気に使っていいか
ということだと仮定すると
AAAクラスでそんな杜撰なことしてるところはないと思う
組み込みもそうだがリアルタイム性が必要とされるところでは、メモリ予算というものがある
グラフィック、オーディオ、ネットワークなどのモジュールごとにメモリいくらと決められる
モジュールの責任者はその中でやりくりする
ここで大事なのはメモリの最大使用量を保証しなければならないってこと
必要ならローカルのヒープは作ったりするが、この時点で担当者が気ままにnewってのは認められない
基本的にすべてコントロールされる
現実的に最大量が正確に見積もれないものもあるがそれでも最大量は決める
new使っても問題ないってのはおれの常識とは異なる
まず問題が広すぎる
言いたいことはデフォルトのグローバルヒープを無邪気に使っていいか
ということだと仮定すると
AAAクラスでそんな杜撰なことしてるところはないと思う
組み込みもそうだがリアルタイム性が必要とされるところでは、メモリ予算というものがある
グラフィック、オーディオ、ネットワークなどのモジュールごとにメモリいくらと決められる
モジュールの責任者はその中でやりくりする
ここで大事なのはメモリの最大使用量を保証しなければならないってこと
必要ならローカルのヒープは作ったりするが、この時点で担当者が気ままにnewってのは認められない
基本的にすべてコントロールされる
現実的に最大量が正確に見積もれないものもあるがそれでも最大量は決める
967デフォルトの名無しさん
2020/02/17(月) 10:57:08.38ID:sgjaAMaL といってもグローバルヒープを使わないわけじゃない
オープンソースのもので無邪気にmallocするものは多数あるが、それほど荒ぶらなければそのまま使う
(リアルタイム性が不要なら仮想メモリに任せる)
あとmalloc遅くないという論調の人がいるけどそれはベストケースの話でしょう
ヒープメモリが不足したり一度に巨大なメモリを確保する場合はシステムコールになるからずっと遅くなる
ワーストが見積もれないものはリアルタイムで使いづらい
まぁ昨今は仮想マシン上で動くゲームが多数あるわけで気にしなくていいレベルという意見はある
ただesports系で一瞬カつくとか商品性に関わるわけで
また後から直すのも地獄なので
最初から計画的に作るべきだろう
オープンソースのもので無邪気にmallocするものは多数あるが、それほど荒ぶらなければそのまま使う
(リアルタイム性が不要なら仮想メモリに任せる)
あとmalloc遅くないという論調の人がいるけどそれはベストケースの話でしょう
ヒープメモリが不足したり一度に巨大なメモリを確保する場合はシステムコールになるからずっと遅くなる
ワーストが見積もれないものはリアルタイムで使いづらい
まぁ昨今は仮想マシン上で動くゲームが多数あるわけで気にしなくていいレベルという意見はある
ただesports系で一瞬カつくとか商品性に関わるわけで
また後から直すのも地獄なので
最初から計画的に作るべきだろう
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- 高市が早くあの発言を撤回しないと、中国からもっと大きな制裁が飛んでくるぞ [805596214]
- 【動画】ファッションモデルまんこ、裸でランウェイを歩く。これがファッションだと言われて [749674962]
- 【画像】髙市さん「無職のシンママ支援を手厚くするため、世帯年収900万円以上の控除をカットします🙂」 [881878332]
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
