C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part149
https://mevius.5ch.net/test/read.cgi/tech/1581974381/
このスレもよろしくね。
【初心者歓迎】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++相談室 part150
■ このスレッドは過去ログ倉庫に格納されています
2020/03/24(火) 00:04:33.93ID:YFRNwZnv
468デフォルトの名無しさん
2020/04/27(月) 10:53:01.86ID:8maROmCe469デフォルトの名無しさん
2020/04/27(月) 15:48:22.92ID:D/t5uqt1 なんで
long long abs(long long x)
なんだろうか
負の数の方が絶対値の大きい値が表せちゃうのに
long long abs(long long x)
なんだろうか
負の数の方が絶対値の大きい値が表せちゃうのに
470デフォルトの名無しさん
2020/04/27(月) 15:59:47.26ID:l27UEbbh 0x8000000000000000 代入してみろ
471デフォルトの名無しさん
2020/04/27(月) 16:00:23.33ID:8maROmCe long longでないとすると、何型が妥当だと思う?
472デフォルトの名無しさん
2020/04/27(月) 16:31:02.95ID:l27UEbbh unsigned long long じゃね
473デフォルトの名無しさん
2020/04/27(月) 16:32:36.82ID:CPqejn5Z >>465
このスレで知ったかの相手すると荒れるから、大抵中身の無いマウントカキコはスルーされてるんだが
このスレで知ったかの相手すると荒れるから、大抵中身の無いマウントカキコはスルーされてるんだが
474デフォルトの名無しさん
2020/04/27(月) 16:44:05.42ID:8maROmCe つまり、こういうことか
template <typename T>
auto abs(T val) -> enable_if_t<is_integral_v<T>, make_unsigned_t<T>>;
template <typename T>
auto abs(T val) -> enable_if_t<is_integral_v<T>, make_unsigned_t<T>>;
475デフォルトの名無しさん
2020/04/27(月) 17:10:02.87ID:GkRU7UlF singedとunsigned混在すんなってことだよ
c言語レベルの質問はc言語スレでやれ
というか語りつくされた話題だから適当にググれ
c言語レベルの質問はc言語スレでやれ
というか語りつくされた話題だから適当にググれ
476デフォルトの名無しさん
2020/04/27(月) 17:30:31.42ID:BED9nwFS 背伸びしたい無職が使う言語は
C++かHaskellと相場が決まっとる
C++かHaskellと相場が決まっとる
477デフォルトの名無しさん
2020/04/27(月) 18:01:51.48ID:BO0mpPru C++14(gcc)でUTF8の正規化をする場合、どんなやり方が良いとされているのかご教示ください。
C++ではやったことがないので初歩的なところからご教示いただけるとありがたいです。
・ICU以外の選択肢はあるのか?
・ICUを使う場合、直接APIを使うよりBoost.localeを使った方が良いのか?
C++ではやったことがないので初歩的なところからご教示いただけるとありがたいです。
・ICU以外の選択肢はあるのか?
・ICUを使う場合、直接APIを使うよりBoost.localeを使った方が良いのか?
478デフォルトの名無しさん
2020/04/27(月) 19:07:33.35ID:xj40wisa >>476
最近はrustも人気。
最近はrustも人気。
479デフォルトの名無しさん
2020/04/27(月) 20:41:43.99ID:GkRU7UlF >>477
文字コードスレできいたら?
icuで足りるんならicuでいいと思うけど
自分の経験ではicuのでかくて重いのが問題だったらから
必要な機能だけ自作したな
(unicodeがリリースしてるテストデータをパスさせた)
文字コードスレできいたら?
icuで足りるんならicuでいいと思うけど
自分の経験ではicuのでかくて重いのが問題だったらから
必要な機能だけ自作したな
(unicodeがリリースしてるテストデータをパスさせた)
480デフォルトの名無しさん
2020/04/27(月) 21:27:19.90ID:hGnxzjbK 集中治療室?
481デフォルトの名無しさん
2020/04/27(月) 22:52:07.04ID:mlDkfEpN だまれ>>476
スカトロ野郎
スカトロ野郎
482デフォルトの名無しさん
2020/04/27(月) 23:00:48.56ID:4DagN68Q 普通はc++だろ
javaとかc#とか環境整えるの面倒くさいじゃん
javaとかc#とか環境整えるの面倒くさいじゃん
483デフォルトの名無しさん
2020/04/28(火) 03:25:29.21ID:5RYVSkyg >>476
Cはかつて最大人気言語だった歴史があるのに対し、HaskelやRustはそうではない。
C++もCの人気を受け継いだ言語だし、処理速度が高速でメモリー使用量も少なく、
起動も速いし、Windows以外でもとても広いプラットフォームで簡単に動くのだから、
使うのは自然な流れだし、背伸びとかではない。
例えば、C#をAndroid/iOS/Linux/Macで動かすのは容易ではない。
Wasmで動かすにもネットからのダウンロード量が多くなり起動が遅くなる。
一方、C++ならWasmでも起動が速い。
Cはかつて最大人気言語だった歴史があるのに対し、HaskelやRustはそうではない。
C++もCの人気を受け継いだ言語だし、処理速度が高速でメモリー使用量も少なく、
起動も速いし、Windows以外でもとても広いプラットフォームで簡単に動くのだから、
使うのは自然な流れだし、背伸びとかではない。
例えば、C#をAndroid/iOS/Linux/Macで動かすのは容易ではない。
Wasmで動かすにもネットからのダウンロード量が多くなり起動が遅くなる。
一方、C++ならWasmでも起動が速い。
484デフォルトの名無しさん
2020/04/28(火) 03:31:09.13ID:5RYVSkyg >>483
C++を動かすのはOS以外に基本的に特殊なランタイムが要らない。
C#やJavaでは.NET環境やJVMが必要となる。
AndroidでもJNIを使えばC/C++は起動も速く動作速度もJava/Kotlin以上に軽快に動く。
同様にiOSでも、Swiftとリンクできるので同様。
逆にC#は、iOSやAndroidで動かすにはダウンロード時間や起動速度に問題があり、
動作速度にも desktop マシン以上に問題がある。
Androidだと、Java/Kotlinの仮想マシンの上に、.NETの仮想マシンを二重に載せる
形となるため、C/C++と比べれば、掛け算の形で遅くなってしまう。
C++を動かすのはOS以外に基本的に特殊なランタイムが要らない。
C#やJavaでは.NET環境やJVMが必要となる。
AndroidでもJNIを使えばC/C++は起動も速く動作速度もJava/Kotlin以上に軽快に動く。
同様にiOSでも、Swiftとリンクできるので同様。
逆にC#は、iOSやAndroidで動かすにはダウンロード時間や起動速度に問題があり、
動作速度にも desktop マシン以上に問題がある。
Androidだと、Java/Kotlinの仮想マシンの上に、.NETの仮想マシンを二重に載せる
形となるため、C/C++と比べれば、掛け算の形で遅くなってしまう。
485デフォルトの名無しさん
2020/04/28(火) 06:21:32.17ID:greKUeEf 例外やRTTIをイネーブルしてるとでかいスタティックリンクつくけどね
486デフォルトの名無しさん
2020/04/28(火) 08:31:29.78ID:QAhIr1h2 言うほどでかいか?
487デフォルトの名無しさん
2020/04/28(火) 10:12:31.46ID:hgakc7LF CならRAM16バイトのPIC10F200でも使える
488デフォルトの名無しさん
2020/04/28(火) 10:13:11.23ID:hgakc7LF C++も機能を絞れば非常に小さい
489デフォルトの名無しさん
2020/04/28(火) 11:07:35.26ID:greKUeEf >>486
ソースコードの見た目とバイナリのサイズがCと違いすぎって意味
ソースコードの見た目とバイナリのサイズがCと違いすぎって意味
490デフォルトの名無しさん
2020/04/28(火) 11:08:41.96ID:zAZN/f3s テンプレとかソース小さくするためにあるからな
491デフォルトの名無しさん
2020/04/28(火) 11:16:33.24ID:greKUeEf 俺>>485だよ?
492デフォルトの名無しさん
2020/04/28(火) 11:43:34.53ID:A6/2gkMb Arduinoで使ってること考えたら、十分使える。
RAM2KBしかない。
RAM2KBしかない。
493デフォルトの名無しさん
2020/04/28(火) 11:47:47.26ID:AaGQGXoS494デフォルトの名無しさん
2020/04/28(火) 12:21:03.57ID:greKUeEf >>493
libgccだったかな?
libgccだったかな?
495デフォルトの名無しさん
2020/04/28(火) 13:35:25.37ID:IyPBiCvR >>494
gcc のオプションに -static を加えればいいのでは?
gcc のオプションに -static を加えればいいのでは?
498デフォルトの名無しさん
2020/04/28(火) 18:57:57.67ID:greKUeEf >>497
意味わからん 何?
意味わからん 何?
>>498
https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Link-Options.html#Link-Options
-static
On systems that support dynamic linking, this overrides -pie and prevents linking with the shared libraries.
https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Link-Options.html#Link-Options
-static
On systems that support dynamic linking, this overrides -pie and prevents linking with the shared libraries.
500はちみつ餃子 ◆8X2XSCHEME
2020/04/28(火) 19:15:02.93ID:jkGkDNpV501はちみつ餃子 ◆8X2XSCHEME
2020/04/28(火) 19:16:34.52ID:jkGkDNpV マップファイルを出力させてみれば実際に何がリンクされるかはわかるんちゃう?
試してないけど。
試してないけど。
502デフォルトの名無しさん
2020/04/28(火) 19:25:33.35ID:9sR0wNPf QZは頭が弱いからしょうがない
503デフォルトの名無しさん
2020/04/28(火) 19:32:38.39ID:AaGQGXoS libgccの大きさじゃなくてunwind用のハンドラコードの増加じゃないの?
(間違って別スレに書いてしまった)
(間違って別スレに書いてしまった)
504デフォルトの名無しさん
2020/04/29(水) 02:43:38.13ID:BrDWvzn9 >>503
RTTI の場合は、仮想テーブルと同様の場所に、実行時型情報へのリンクポインタが
書き込まれるようになる。
それがなかなか複雑な構造をしている。
RTTI情報も、ヘッダファイルの中に構造体が書いてあると、COMDAT形式で
全ての *.obj ファイルの中にいったん書きこまれることがある。
リンク段階で同じデータのsectionがある場合は、単一のsectionだけを残して
他は削除されてしまうが。
RTTI の場合は、仮想テーブルと同様の場所に、実行時型情報へのリンクポインタが
書き込まれるようになる。
それがなかなか複雑な構造をしている。
RTTI情報も、ヘッダファイルの中に構造体が書いてあると、COMDAT形式で
全ての *.obj ファイルの中にいったん書きこまれることがある。
リンク段階で同じデータのsectionがある場合は、単一のsectionだけを残して
他は削除されてしまうが。
505デフォルトの名無しさん
2020/04/29(水) 02:45:01.49ID:BrDWvzn9506デフォルトの名無しさん
2020/04/29(水) 03:00:07.88ID:s4ud4ToE >>484
mono、core、zamarin調べて出直してこい
mono、core、zamarin調べて出直してこい
507デフォルトの名無しさん
2020/04/29(水) 10:03:27.37ID:I9/54o5j enum class を1オリジンにするスタイルはどの程度使われていますか?
508デフォルトの名無しさん
2020/04/29(水) 10:59:38.40ID:I9/54o5j char8_tってどういう経緯で採択されたんですか?
Microsoftを利する提案が受け入れられるのは相当珍しいと思いますが。
Microsoftを利する提案が受け入れられるのは相当珍しいと思いますが。
509はちみつ餃子 ◆8X2XSCHEME
2020/04/29(水) 12:00:55.06ID:sxS/u8Yc510デフォルトの名無しさん
2020/04/29(水) 12:20:11.19ID:I9/54o5j その要望は昔からあるけど阻止してきたのに、なぜ解禁されたのか事情知りませんか?
511はちみつ餃子 ◆8X2XSCHEME
2020/04/29(水) 12:43:30.81ID:sxS/u8Yc >>510
江添亮のブログで関連する提案や議論が取り上げられているので順番に読んでみたらいいと思う。
https://cpplover.blogspot.com/search?q=char8_t
具体的にこれが理由と言えるひとつの理由があるわけではないけど、
やってみたらやっぱ要るわ……という雰囲気っぽいかな。
要するに文字列をナメてたんだろう。
江添亮のブログで関連する提案や議論が取り上げられているので順番に読んでみたらいいと思う。
https://cpplover.blogspot.com/search?q=char8_t
具体的にこれが理由と言えるひとつの理由があるわけではないけど、
やってみたらやっぱ要るわ……という雰囲気っぽいかな。
要するに文字列をナメてたんだろう。
512デフォルトの名無しさん
2020/04/29(水) 13:58:02.79ID:6qGxEOGB513デフォルトの名無しさん
2020/04/29(水) 14:13:57.87ID:j7Bsjnws charにutf8突っ込むだけでunicode対応できるとか考えるやつがようやく淘汰されてきてありがたい
514デフォルトの名無しさん
2020/04/29(水) 14:46:58.81ID:UddvUJZz そもそも「Microsoftを利する提案」てなんだよ
C++は別にアンチMSじゃないだろ
C++は別にアンチMSじゃないだろ
515デフォルトの名無しさん
2020/04/29(水) 14:58:22.63ID:fDjn2ZQ/ utf8は一文字が3バイトなこともある
516デフォルトの名無しさん
2020/04/29(水) 15:01:51.37ID:I9/54o5j std::size(u8"あいうえお" - 1)みたいな感じですかね。
517デフォルトの名無しさん
2020/04/29(水) 16:00:32.94ID:fokztjWx std::u8stringとかC++は規格に出すのが遅い
518デフォルトの名無しさん
2020/04/29(水) 16:10:17.68ID:I9/54o5j >>514
W3CもアンチMicrosoftではないのだけど、会員がIT業界の人たちなので、結局のところ、如何にしてMicrosoftを落とすか討論する場所になってました。
W3CもアンチMicrosoftではないのだけど、会員がIT業界の人たちなので、結局のところ、如何にしてMicrosoftを落とすか討論する場所になってました。
519デフォルトの名無しさん
2020/04/29(水) 16:22:55.14ID:T9sEu8SV520デフォルトの名無しさん
2020/04/29(水) 17:04:53.68ID:EKyVvulT521デフォルトの名無しさん
2020/04/29(水) 17:10:00.22ID:IQZPjtSj enum class とか、MS起源の機能なんていくらでもあるんだけどな
522デフォルトの名無しさん
2020/04/29(水) 18:31:43.41ID:mBdz0qQc523デフォルトの名無しさん
2020/04/29(水) 18:51:27.37ID:BrDWvzn9 >>522
うむ。関係ない。
うむ。関係ない。
524デフォルトの名無しさん
2020/04/29(水) 20:13:29.91ID:Ck1GLV1r525デフォルトの名無しさん
2020/04/29(水) 21:26:43.63ID:6qGxEOGB まあ書いてあることは概ね正しいので・・・
526デフォルトの名無しさん
2020/04/29(水) 21:36:36.72ID:mBdz0qQc そうかな
utf8をコア仕様にいれたら「文字とは何かを理解する」ってのは
ちょっと同意できないな
utf8をコア仕様にいれたら「文字とは何かを理解する」ってのは
ちょっと同意できないな
527デフォルトの名無しさん
2020/04/29(水) 22:08:32.37ID:I9/54o5j constexprがあるので、エンコーディングを型に組み込んでしまっても、困ることは全くない。
C++のお作法になじんでいれば、お得な事しかない。
C++のお作法になじんでいれば、お得な事しかない。
528デフォルトの名無しさん
2020/04/29(水) 22:11:31.22ID:GvXmmF1B それ、カーニハン・リッチーにも言えるの?
529デフォルトの名無しさん
2020/04/29(水) 23:00:00.81ID:I9/54o5j 連れてきてくれたら、ガツンと言ってやるよ。
530デフォルトの名無しさん
2020/04/29(水) 23:13:52.04ID:sxS/u8Yc 一休さんかよ
531デフォルトの名無しさん
2020/04/30(木) 12:33:45.41ID:yesxJOcI UTF8ベースにしたらどうやって1文字ずつ処理するの?めんどくさい?
532デフォルトの名無しさん
2020/04/30(木) 12:38:45.38ID:yesxJOcI533デフォルトの名無しさん
2020/04/30(木) 12:45:47.62ID:ERcZittz534デフォルトの名無しさん
2020/04/30(木) 12:50:20.00ID:IVFUa3Rm ICUのイテレータ使えばよいのでは。
内部では utf-32 ベースで処理して、出口入り口で utf-8 に/から変換するものだと思いますが…
536デフォルトの名無しさん
2020/04/30(木) 20:49:36.61ID:IVFUa3Rm そんな単純なものではないだろうけど。
537デフォルトの名無しさん
2020/04/30(木) 23:06:50.07ID:b9TIw4B4 期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
工場勤務、30代フリーターが「ブログ」で200万稼げた理由! ◯◯があったから?
https://www.youtube.com/watch?v=Cjmk4XusQVM
ブログで月200万稼ぐ、フリーランスの1日
https://www.youtube.com/watch?v=jaV2GyBgNX4
【クラウドソーシング】Webライティングで月商100万円まで稼ぐ方法をプロに解説してもらった!
https://www.youtube.com/watch?v=oYoaBwQt0Cg
1年半でライターの地位を確立した営業術!駆け出しフリーランスは要チェック【ニシキドアヤト】
https://www.youtube.com/watch?v=DFtmkhw-lHM
https://www.youtube.com/watch?v=aijLjFLOuC4
工場勤務、30代フリーターが「ブログ」で200万稼げた理由! ◯◯があったから?
https://www.youtube.com/watch?v=Cjmk4XusQVM
ブログで月200万稼ぐ、フリーランスの1日
https://www.youtube.com/watch?v=jaV2GyBgNX4
【クラウドソーシング】Webライティングで月商100万円まで稼ぐ方法をプロに解説してもらった!
https://www.youtube.com/watch?v=oYoaBwQt0Cg
1年半でライターの地位を確立した営業術!駆け出しフリーランスは要チェック【ニシキドアヤト】
https://www.youtube.com/watch?v=DFtmkhw-lHM
538デフォルトの名無しさん
2020/05/01(金) 00:49:44.42ID:2K4VYu4Y >>528
リッチーならともかくカーニハンは見てる可能性
リッチーならともかくカーニハンは見てる可能性
539はちみつ餃子 ◆8X2XSCHEME
2020/05/01(金) 01:06:57.59ID:Qu9UE9Tc >>535
色んな文字コード (符号化) を扱うときは出入口で変換する方法は妥当な選択だと思うけど、
UTF-32 を中心に据えるのが良いかは一概に言えるものでもないでしょ。
たとえば Windows API がいう Unicode は UTF-16 なわけだし、
外部とのデータのやりとりで内部用の符号に変換する処理が入るのは仕方がないにしても
API の呼び出しのときまで毎回変換が入るのも煩雑なんで、
UTF-16 に統一した方全体としては楽じゃない?
サロゲートペアの扱いが面倒くせぇとかいうのと天秤にかけたとしても
Windows では UTF-16 から離れられない。
結局のところ実行環境とかフレームワークとかの都合に縛られるから
(内部用の符号として UTF-32 が優秀なことは承知しているが)
そのへんの規約とか習慣に従うしかしゃーない。
色んな文字コード (符号化) を扱うときは出入口で変換する方法は妥当な選択だと思うけど、
UTF-32 を中心に据えるのが良いかは一概に言えるものでもないでしょ。
たとえば Windows API がいう Unicode は UTF-16 なわけだし、
外部とのデータのやりとりで内部用の符号に変換する処理が入るのは仕方がないにしても
API の呼び出しのときまで毎回変換が入るのも煩雑なんで、
UTF-16 に統一した方全体としては楽じゃない?
サロゲートペアの扱いが面倒くせぇとかいうのと天秤にかけたとしても
Windows では UTF-16 から離れられない。
結局のところ実行環境とかフレームワークとかの都合に縛られるから
(内部用の符号として UTF-32 が優秀なことは承知しているが)
そのへんの規約とか習慣に従うしかしゃーない。
540デフォルトの名無しさん
2020/05/01(金) 01:37:06.74ID:/3xCHgCD 出入り口から内部処理まで出来る限りutf-8で統一して処理するのが
トラブルが少なくて済む(個人の感想です)
トラブルが少なくて済む(個人の感想です)
541デフォルトの名無しさん
2020/05/01(金) 02:27:55.90ID:uatxyJey それは文字列としてだけ扱って文字単位(code point単位)の操作しないときでしょ
あるいは小難しいところは全部ライブラリに投げてるとかね
あるいは小難しいところは全部ライブラリに投げてるとかね
>>539
>たとえば Windows API がいう Unicode は UTF-16 なわけだし、(略)
>API の呼び出しのときまで毎回変換が入るのも煩雑なんで、
>UTF-16 に統一した方全体としては楽じゃない?
Windows では UTF-16 を使うといっても、実際に変換しなければならないのは、ファイル名・パス名を扱うときだけですし、
UTF-16 も可変長の部分があって扱いにくいので、私なら UTF-32 で楽したいと考えますね
>たとえば Windows API がいう Unicode は UTF-16 なわけだし、(略)
>API の呼び出しのときまで毎回変換が入るのも煩雑なんで、
>UTF-16 に統一した方全体としては楽じゃない?
Windows では UTF-16 を使うといっても、実際に変換しなければならないのは、ファイル名・パス名を扱うときだけですし、
UTF-16 も可変長の部分があって扱いにくいので、私なら UTF-32 で楽したいと考えますね
543デフォルトの名無しさん
2020/05/01(金) 08:23:58.09ID:DtDCGOpK 実際にソフト開発したことが無いような書き込みだな
544デフォルトの名無しさん
2020/05/01(金) 08:31:51.38ID:NLgIsVNa UTF-32でも結合文字と異体字セレクタはある
結局ライブラリに投げるでしょ、ならどれでも同じじゃね?
結局ライブラリに投げるでしょ、ならどれでも同じじゃね?
545デフォルトの名無しさん
2020/05/01(金) 08:47:44.57ID:sYrLq0eo マルチプラットフォームのアプリじゃ内部はUTF-8にする場合が多いけどな
なぜならUTF-8にはバイト順問題がないから
どのみち一文字表すのに複数のコードポイントが必要なんだからUTF-8、16、32のどれを使っても言語処理の手間は同じだ
「イングランドの旗」絵文字なんてコードポイントで7要素も必要なんだぜ
なぜならUTF-8にはバイト順問題がないから
どのみち一文字表すのに複数のコードポイントが必要なんだからUTF-8、16、32のどれを使っても言語処理の手間は同じだ
「イングランドの旗」絵文字なんてコードポイントで7要素も必要なんだぜ
546デフォルトの名無しさん
2020/05/01(金) 09:58:16.26ID:k2YlXFh6 マルチコアの高速化と同様に
32bitのCPUで16bitを扱うと2倍速
64bitのCPUで16bitを扱うと4倍速
みたいにならないんですか?
32bitのCPUで16bitを扱うと2倍速
64bitのCPUで16bitを扱うと4倍速
みたいにならないんですか?
547デフォルトの名無しさん
2020/05/01(金) 10:00:07.33ID:tdkjZBPc なりますよ。
548デフォルトの名無しさん
2020/05/01(金) 10:02:36.39ID:tdkjZBPc 32ビットと64ビットで二倍の時間になるのではなく、たいてい4倍になりますよ。
549デフォルトの名無しさん
2020/05/01(金) 10:13:13.46ID:Ia4c8IgS 文字列関連の処理はだいたいメモリアクセスかIOがボトルネックなので、単純にサイズが 増えればその分遅くなるよ
550デフォルトの名無しさん
2020/05/01(金) 10:19:22.16ID:DtDCGOpK 文字処理のほとんどは64bitがいかされない
551デフォルトの名無しさん
2020/05/01(金) 10:22:39.64ID:DtDCGOpK 文字処理以外でもそれほど多くない
552デフォルトの名無しさん
2020/05/01(金) 13:13:05.71ID:uatxyJey >>546
simd使えばそれに近づくだろうけど
そうでなければシリアルに計算されるだけなのでほぼ変わらない
大量のデータを処理する場合はメモリ効率の点で速くなるかもしれない
しかしintへの拡大変換が入るので演算自体は遅くなる方向
まぁ自分でベンチとってアセンブラ眺めてみたらいい
かなり環境依存・実装依存なんだから人にきいてもあんまり意味ない
4倍になる人とかいるらしいしw
simd使えばそれに近づくだろうけど
そうでなければシリアルに計算されるだけなのでほぼ変わらない
大量のデータを処理する場合はメモリ効率の点で速くなるかもしれない
しかしintへの拡大変換が入るので演算自体は遅くなる方向
まぁ自分でベンチとってアセンブラ眺めてみたらいい
かなり環境依存・実装依存なんだから人にきいてもあんまり意味ない
4倍になる人とかいるらしいしw
553デフォルトの名無しさん
2020/05/01(金) 13:22:02.62ID:DtDCGOpK SIMDなら32bit CPUとか64bit CPUとか関係ないし
554デフォルトの名無しさん
2020/05/01(金) 14:33:57.85ID:RpLrbaMs 例えばRGBAの計算は早くなるよ
555デフォルトの名無しさん
2020/05/01(金) 14:54:56.02ID:8qmJgOle tclインタプリタに投げる
邪魔くさい
邪魔くさい
556デフォルトの名無しさん
2020/05/01(金) 15:22:00.38ID:tdkjZBPc >>552
ベンチとるとおよそ4倍になりますよ。
ベンチとるとおよそ4倍になりますよ。
557デフォルトの名無しさん
2020/05/01(金) 16:04:33.87ID:uatxyJey558デフォルトの名無しさん
2020/05/01(金) 16:07:40.19ID:wrmDV0oq 64bitを使っても、大部分のソフトウェアは速くも良くもならない事が知られている。
16bitから32bitの時には急激に多くのメモリが使えるようになって劇的にソフトウェア
が作り易くなったのと対照的。
メモリ容量に関してはたいていのアプリでは32bitでも既に十分。
速度に関してはそもそもCPUが扱えるデータビット数を多くしても滅多に速くならない。
速くなるのはグラフィックで単純なBitBLTを行うような場合のみ。
縮尺や回転が入るだけで64BITの効果は通常、生かせなくなる。
16bitから32bitの時には急激に多くのメモリが使えるようになって劇的にソフトウェア
が作り易くなったのと対照的。
メモリ容量に関してはたいていのアプリでは32bitでも既に十分。
速度に関してはそもそもCPUが扱えるデータビット数を多くしても滅多に速くならない。
速くなるのはグラフィックで単純なBitBLTを行うような場合のみ。
縮尺や回転が入るだけで64BITの効果は通常、生かせなくなる。
559デフォルトの名無しさん
2020/05/01(金) 16:13:27.06ID:DtDCGOpK >>554
変わった文字列処理だな
変わった文字列処理だな
560デフォルトの名無しさん
2020/05/01(金) 16:15:49.44ID:wrmDV0oq >>554
RGBA計算も、(SIMDを使わずに)単純にデータバスが64BITになっただけでは速く出来ない。
なぜなら、R,G,B,Aはそれぞれ1バイトだから1バイトずつの計算するしかないため。
SIMDを使う場合は、CPUの種類によっては、SIMD自体のベクトルの要素数が倍になるため、高速化できる可能性はある。
ただしそれは、整数命令が64BIT化されたこととは直接関係ない。
SIMD命令のベクトルの「次元」が上がったかどうかの問題。
RGBA計算も、(SIMDを使わずに)単純にデータバスが64BITになっただけでは速く出来ない。
なぜなら、R,G,B,Aはそれぞれ1バイトだから1バイトずつの計算するしかないため。
SIMDを使う場合は、CPUの種類によっては、SIMD自体のベクトルの要素数が倍になるため、高速化できる可能性はある。
ただしそれは、整数命令が64BIT化されたこととは直接関係ない。
SIMD命令のベクトルの「次元」が上がったかどうかの問題。
561デフォルトの名無しさん
2020/05/01(金) 16:18:51.22ID:DtDCGOpK >>560
なんでわざわざ関係ないことを書いてわざわざ混乱させようとするかなあ
なんでわざわざ関係ないことを書いてわざわざ混乱させようとするかなあ
562デフォルトの名無しさん
2020/05/01(金) 16:20:54.72ID:tdkjZBPc 64ビットの演算1回の時間で、32ビットの演算4回出来るんですよ。
563デフォルトの名無しさん
2020/05/01(金) 16:22:03.22ID:wrmDV0oq >>547
なりません。
ならないからこそ、GPGPUのようにマルチコア化が進められています。
SIMD命令も扱いにくいので、マルチコア化が適しています。
例えば、3Dのレイトレーシングなどは、SIMD化することはとても難しい
のですが、マルチコア化は比較的容易です。
人工知能のニューラルネットワークの計算はSIMD化し易い部分もあります。
しかし、300コアなどのマルチコアと、8要素のSIMD命令では、
前者に軍配が上がり易く、しかも、コア数が増えてもプログラムの修正が
ほぼ不要なので、マルチコアの方がSIMDより好まれます。
ただし、命令自体の速度がx86系は速いため、どちらが実際に速いかは
単純ではありませんが。
なりません。
ならないからこそ、GPGPUのようにマルチコア化が進められています。
SIMD命令も扱いにくいので、マルチコア化が適しています。
例えば、3Dのレイトレーシングなどは、SIMD化することはとても難しい
のですが、マルチコア化は比較的容易です。
人工知能のニューラルネットワークの計算はSIMD化し易い部分もあります。
しかし、300コアなどのマルチコアと、8要素のSIMD命令では、
前者に軍配が上がり易く、しかも、コア数が増えてもプログラムの修正が
ほぼ不要なので、マルチコアの方がSIMDより好まれます。
ただし、命令自体の速度がx86系は速いため、どちらが実際に速いかは
単純ではありませんが。
564デフォルトの名無しさん
2020/05/01(金) 16:23:18.73ID:wrmDV0oq565デフォルトの名無しさん
2020/05/01(金) 16:25:25.15ID:tdkjZBPc 測ると大抵そうなってるというお話です。
566デフォルトの名無しさん
2020/05/01(金) 16:33:18.55ID:DtDCGOpK 測定結果みせて
567デフォルトの名無しさん
2020/05/01(金) 16:33:57.33ID:tdkjZBPc これ最初に気が付いたのは、固定小数点は速いらしいというのを見て、いろいろやってみたら、特に早いことは無くて。
じゃあ何が影響するかというと、単にビット幅だったんですよ。
floatとint32_tは同じ、doubleとint64_tは同じ。
つまり、アキュムレータの性能はあまり関係なくて、バス幅とキャッシュがすべてなんですよ。
じゃあ32ビット2回分が64ビット相当になるかというとそうでもなくて。
たいてい4回分で64ビット相当になるんですね。
じゃあ何が影響するかというと、単にビット幅だったんですよ。
floatとint32_tは同じ、doubleとint64_tは同じ。
つまり、アキュムレータの性能はあまり関係なくて、バス幅とキャッシュがすべてなんですよ。
じゃあ32ビット2回分が64ビット相当になるかというとそうでもなくて。
たいてい4回分で64ビット相当になるんですね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 [蚤の市★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【サッカー】上田綺世の活躍は「一過性」 15戦18発も…オランダ英雄は懐疑的な姿勢「確信に至っていない」 [ゴアマガラ★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★2 [597533159]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ [597533159]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
