C++相談室 part163

レス数が1000を超えています。これ以上書き込みはできません。
2022/12/30(金) 23:16:31.37ID:DPUEZfMS0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
950デフォルトの名無しさん (ワッチョイ 1f4b-zzYQ)
垢版 |
2023/05/05(金) 17:53:15.49ID:CaQRnUAH0
>>949
>個々のアプリをリビルドせずにVMだけリビルドすれば済むからエコシステムを維持しやすいの
>たしかM1 Macが出てから半年も経たずにARM版JavaVMが登場したと思う
>JavaアプリはIntel MacでもM1 Macでも同等の性能が出る
>ネイティブアプリは各開発者がARMビルドをリリースするのを待たなければならなかった(まだIntel版しか存在しないアプリも多い)
そのネイティブアプリとは一体……
およびそんな特定のケースを言語の優劣の一般論として展開してよい根拠とは一体……
および>>946はどうなるんじゃ……

さらに言うと、VMの改修による新規プラットフォームのトータルサポートが、特定の応用で#ifdef/#else/#endifを何個か追加して
ソースからビルドするより常に早いとする根拠は一体……
951デフォルトの名無しさん (ワッチョイ b79c-+Iiy)
垢版 |
2023/05/05(金) 18:01:52.41ID:Ds39Rblr0
ごめんね
話が噛み合わないようだからこれで最後にする

一般論として言語の優劣を語ってるつもりはないです
ソースコードからのリビルドよりVMが速いとは言ってないです
開発者の事情でリビルドされない既存バイナリで性能が出ない状況が実際にあると言ってるだけです
2023/05/05(金) 18:11:56.10ID:tbrjl4OGM
さっきも書いたけど常にc++の最適化が他の仕組みに勝つとは限らないから
他の言語でsimd化されてc++でsimd化されない場合もあるだろうと
2023/05/05(金) 18:18:32.71ID:gmBJZ0Nwa
データベースでは長期運用でデータ数が変わるから、
統計情報を参考にして、使われるアルゴリズムも変わる

特に、IBM では全自動のみ。
自分で、使うアルゴリズムを指定できない
954デフォルトの名無しさん (ワッチョイ 5701-wHlW)
垢版 |
2023/05/05(金) 18:19:38.90ID:ugKRRbai0
C++はメモリーのフラグメンテーションを解消できないからJavaより遅いというエンジニアの意見は有名だと思う
2023/05/05(金) 20:13:04.57ID:VDYHFDsH0
データベースでは独自のガベージコレクションくらい実装している
2023/05/05(金) 21:20:11.75ID:WL3Heqk40
Java仮想マシンとARM向けx64仮想マシンの比較ですか
2023/05/06(土) 03:05:01.42ID:eTXbn+faM
>>954
フラグメンテーションで遅くなるのは、キャッシュの影響だけ。
ソートだけはキャッシュが乱れまくるので、特殊。
それ以外は、ほとんどの場合は、遅くならない。
2023/05/06(土) 03:08:16.87ID:eTXbn+faM
キャッシュの乱れによる速度低下を防ぎたいなら:
・ソートは本当に必要な場合だけ行なう。
・ソートする場合でも、要素数が少なければ特に問題ない。
 すべてがキャッシュに載ってしまえば、キャッシュミスが起きないから。
・そもそも物理シミュレーターではソートは必要ないことが多い。
 なぜなら自然の物理法則はソートの概念を用いていないから。
・レイトレーシングなども物理法則に基くので、基本的にソートを
 余り使わないでよいアルゴリズムを作ることが出来る。
959デフォルトの名無しさん (ワッチョイ c24b-y4C+)
垢版 |
2023/05/06(土) 03:48:50.75ID:H05Eo8AC0
>開発者の事情でリビルドされない既存バイナリで性能が出ない状況が実際にあると言ってるだけです
そういう話ならそういう話で、
>既存バイナリの長期運用では最適な速度を出せない状況に遭遇することがあるんだ(>>947
と言ったときに、何と何の比較なのか(何なら「最適な」速度なのか)というレギュレーションを先に示して……

ソースコードからリビルドするだけで元より速くなるケースが本当にあるなら、そういうケースの提示をすっとばして
Javaや.NETの中間コードにしてCPU命令セットに依存させないアプローチの話なんてしないで……

一般的な速度比較ではなくて、他の言語でsimd化されてc++でsimd化されない場合の速度比較ならその話だけして……

アスペにill-definedなビミョーなネタ振りをしないで……
960デフォルトの名無しさん (ワッチョイ df01-ouLR)
垢版 |
2023/05/06(土) 03:54:48.32ID:cJf94Ar10
いや俺3行以上は読まないから
961デフォルトの名無しさん (ワッチョイ c24b-y4C+)
垢版 |
2023/05/06(土) 03:55:54.11ID:H05Eo8AC0
補足、

>既存バイナリの長期運用では最適な速度を出せない状況に遭遇することがあるんだ(>>947
と言ったときに、最適な速度をたたき出すブツが発言者の脳内にしか無いのだとしたら
そんなの単なるお気持ちの表明やんけ……

自分は最初から正しい論理展開をしていたみたいな顔するのはやめて……
962デフォルトの名無しさん (ワッチョイ df01-ouLR)
垢版 |
2023/05/06(土) 03:57:28.42ID:cJf94Ar10
あと2行削れば読んでやるよ
2023/05/06(土) 07:33:39.33ID:ZJYG9vPbd
それも度が過ぎとるな
964デフォルトの名無しさん (ブーイモ MM0e-wpjJ)
垢版 |
2023/05/06(土) 08:23:03.54ID:1oIUqUCFM
>>961
はじめから「中間コード」と「ビルド済バイナリの長期運用」って書いてあるぞ?
965デフォルトの名無しさん (ブーイモ MM0e-wpjJ)
垢版 |
2023/05/06(土) 08:31:13.11ID:1oIUqUCFM
俺は産業用システムのフロントエンドUIをC#で組むことが多いんだが、とあるデバイスの制御APIがネイティブDLL(.NETアセンブリではない)で提供されていたんだ
そのデバイスメーカーはなぜか32ビット版のDLLしか提供してくれなかった
それでC#プログラムも32ビット版.NETランタイムで動かさなきゃならなくなった

C++が速いとかどうでもいいけどさ、せめて64ビットビルドできるようになってから言ってくれないかな?
2023/05/06(土) 09:34:57.34ID:UeJlmTL80
C++が速いとか関係なく、そのデバイスメーカーに言え
2023/05/06(土) 09:50:15.65ID:ZqhRZXgdM
64ビット版.NETランタイムから32ビットDLL使う方法あるでしょ
NeeViewがそういうことしてる
2023/05/06(土) 10:15:28.65ID:SIOBPdzxM
最近のc++プログラマってプロセス間通信も知らないの?
2023/05/06(土) 11:51:45.90ID:P9lpeDx50
NeeViewもSusieプラグイン用の32bitプロセス起動してプロセス間通信してるだけやで
2023/05/06(土) 12:09:15.03ID:avN3CO0q0
もうC++の話しじゃねーじゃん
2023/05/06(土) 14:00:34.30ID:O4KUwdol0
比較と称して対立煽りすればスレの勢いが伸びる
ただし意味のある議論はほぼ発生しない

技術板にアイデンティティを勝手に感じている技術力ゼロの雑魚だけがこういう話を振り、乗っかる
2023/05/06(土) 16:35:41.29ID:OFKQ7dHId
ない環境の仕事が長くなってさわりしか覚えてないな
2023/05/07(日) 12:16:32.15ID:ExrtxK200
>>964
>はじめから「中間コード」と「ビルド済バイナリの長期運用」って書いてあるぞ?
同じアプリの*実在する*中間コード版と
*実在する*長期運用されたビルド済バイナリとで比較しているのかっていうか、
その根拠こそ求められる
>>964はふいんきに飲まれて詐欺に遭いやすいタイプなのではないか……
974デフォルトの名無しさん (ワッチョイ 639c-wpjJ)
垢版 |
2023/05/07(日) 13:31:09.45ID:Hp3D+to80
同じアプリである必要あるか?
2023/05/07(日) 18:18:18.80ID:ExrtxK200
>同じアプリである必要あるか?
ある
「中間コード」と「ビルド済バイナリの長期運用」の速度を比較しようとしているのだから、
それらの違い以外は同じに保たねば正しい比較にならない
976デフォルトの名無しさん (ワッチョイ df01-ouLR)
垢版 |
2023/05/07(日) 18:20:17.74ID:+pQ1lZnP0
0xの頃のように混とんとしてきたが、あの頃の熱さはないな
977デフォルトの名無しさん (ワッチョイ df01-ouLR)
垢版 |
2023/05/07(日) 18:21:16.14ID:+pQ1lZnP0
C++20で飯の三杯くらいは食えると思うが
2023/05/08(月) 12:43:08.47ID:pyo/bzDB0
昔Windows上でJavaがエラー吐いたとき
VCのエラーを出力してたから
裏ではC++使ってるんだろ
つまりJavaもC++のパワー借りてんだから
C++のほうが速いって話にならない?
2023/05/08(月) 13:06:18.19ID:6qkGyJAY0
>>978
ならない。
980デフォルトの名無しさん (ワッチョイ df01-ouLR)
垢版 |
2023/05/08(月) 18:41:34.65ID:A57Tkf070
C++はエンジン、Javaはターボという関係では?
2023/05/08(月) 20:29:15.27ID:COjnYNf80
JavaってAVXとかNEONとか使えるの?
982デフォルトの名無しさん (ワッチョイ 639c-wpjJ)
垢版 |
2023/05/08(月) 21:28:12.53ID:DEBLNIPs0
JavaでもAVX等の拡張命令は使われるみたいよ
https://www.slideshare.net/nttdata-tech/java-maximize-cpu-2019-nttdata-suenaga
2023/05/09(火) 01:01:11.52ID:y3l/xMzR0
命令を記述出来るかってこと
AVXやNEONはコンパイラじゃ性能出ない
984デフォルトの名無しさん (ワッチョイ 639c-wpjJ)
垢版 |
2023/05/09(火) 01:14:10.24ID:A/U8BALn0
あー 自分で書きたいのか
Javaの場合はJEP417 Vector APIでAVX命令を扱えるよ
2023/05/09(火) 07:03:13.01ID:1INpcxJUd
つstd::valarray
2023/05/09(火) 07:36:45.97ID:y3l/xMzR0
>>894 >>895
自分で書けなきゃ性能出ないって言ってるのに
例えばvpshufbなんかコンパイラが使わんでしょ

Javaは遅いっていう流れで書いたわけで
987デフォルトの名無しさん (ワッチョイ 639c-wpjJ)
垢版 |
2023/05/09(火) 09:28:23.14ID:A/U8BALn0
???
JavaのVector APIはSIMDを扱うために新たに策定されたもの
C++の動的配列std::vectorとはまったくの別物よ?
2023/05/09(火) 12:20:03.88ID:Ac7S+28Ld
ごく一部の命令をごく一部の処理で使えたってダメだよ
1000個以上も命令あるんだし

コンパイラが使いこなせなそうな命令の具体例を上げてるのに

CやC++ならいろんな方法で使えるわけで
・ライブラリ経由
・Intrinsics
・インラインアセンブラ
・アセンブラ
2023/05/09(火) 12:24:30.62ID:oJhOeTc40
また無意味な比較合戦が始まった
990デフォルトの名無しさん (ワッチョイ df01-ouLR)
垢版 |
2023/05/10(水) 05:01:02.91ID:w0EnrJsq0
>>986
Javaはかなり速いのでは?
2023/05/10(水) 10:09:03.15ID:ZeVzc+se0
意味の無い比較じゃなくて
目的に対して適切な言語を使うのが大事だよな

ところでrustはc++より速いの?
2023/05/10(水) 10:20:22.13ID:EQN2Q+xhd
速いけど早くない
あとつらい
2023/05/10(水) 10:43:52.47ID:Fy7GG/DG0
>>991
煽りよるwww

>>992
C++ の一番のつらさはいつの間にか未定義を踏み抜いていることなので
そういうのでとけていく時間と天秤にかけたら結果的に Rust のほうが「早い」こともある。
2023/05/10(水) 16:25:34.12ID:/njob5Qxd
処理系定義や未規定を未定義と誤認するやつ
理由がコンパイラに警告されたからとか
笑っちまうよな
2023/05/12(金) 00:22:08.92ID:AXk6Vn1nM
未定義踏みぬくなんて高度なことをやってるんだなと書きながら
単純化すると
cout < i++ < i++ < i++;
みたいなコードを書いている
2023/05/12(金) 00:35:46.20ID:AXk6Vn1nM
うーん酔ってるな
<< << <<
おわかりいただけだろうか?
2023/05/12(金) 12:44:21.56ID:AudFgWb9M
C++相談室 part164
http://mevius.5ch.net/test/read.cgi/tech/1683600652/
2023/05/12(金) 18:01:57.78ID:6OZpLVgk0
>>997
2023/05/12(金) 18:02:15.57ID:6OZpLVgk0
2023/05/12(金) 18:03:13.12ID:8/ssS+jd0
質問いいですか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 132日 18時間 46分 42秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況