1 名前:デフォルトの名無しさん mailto:sage [2020/03/24(火) 00:04:33 ID:YFRNwZnv.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part149 https://mevius.5ch.net/test/read.cgi/tech/1581974381/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1556142878/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) テンプレここまで
477 名前:◆QZaw55cn4c mailto:sage [2020/04/27(月) 00:44:23 ID:UZ/xcmyp.net] >>463 java は、少なくとも昔の java は、厳しく抑制のきいた文法と豊富なクラスライブラリでいい感じだと思いますよ、文法は意味があっての簡素なほうが好みですね c# は、クラスライブラリの全容を把握していないので、まだ評価にとりかかれないのですが、これからじっくり調べたいと思っています
478 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 00:49:16 ID:fjvRegs6.net] Javaは新しいCOBOLになってしまった 当初の理想は良かったと思うけどままならんもんだね
479 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 07:25:21 ID:8maROmCe.net] >>462 シッタカにいつもマウント取られる水準のやつからは、そう見えるだろうな
480 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 07:39:21.53 ID:xj40wisa.net] まともにコンパイルも通してないで知ったかしてるバカに言えることなんてないけどね。
481 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 10:24:31.10 ID:GkRU7UlF.net] >>460 gcの勝ち負けなんか論じてないだろ 話すり替えて誤魔化すな お前態度でかいわりに理解が周回遅れなんだよ
482 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 10:53:01.86 ID:8maROmCe.net] >>468 俺も論じてないんだがw 何が怪物に見えたのかな? 病院行ったほうがいいと思うぞ
483 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 15:48:22.92 ID:D/t5uqt1.net] なんで long long abs(long long x) なんだろうか 負の数の方が絶対値の大きい値が表せちゃうのに
484 名前:デフォルトの名無しさん [2020/04/27(月) 15:59:47.26 ID:l27UEbbh.net] 0x8000000000000000 代入してみろ
485 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 16:00:23.33 ID:8maROmCe.net] long longでないとすると、何型が妥当だと思う?
486 名前:デフォルトの名無しさん [2020/04/27(月) 16:31:02.95 ID:l27UEbbh.net] unsigned long long じゃね
487 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 16:32:36.82 ID:CPqejn5Z.net] >>466 このスレで知ったかの相手すると荒れるから、大抵中身の無いマウントカキコはスルーされてるんだが
488 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 16:44:05 ID:8maROmCe.net] つまり、こういうことか template <typename T> auto abs(T val) -> enable_if_t<is_integral_v<T>, make_unsigned_t<T>>;
489 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 17:10:02 ID:GkRU7UlF.net] singedとunsigned混在すんなってことだよ c言語レベルの質問はc言語スレでやれ というか語りつくされた話題だから適当にググれ
490 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 17:30:31 ID:BED9nwFS.net] 背伸びしたい無職が使う言語は C++かHaskellと相場が決まっとる
491 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 18:01:51.48 ID:BO0mpPru.net] C++14(gcc)でUTF8の正規化をする場合、どんなやり方が良いとされているのかご教示ください。 C++ではやったことがないので初歩的なところからご教示いただけるとありがたいです。 ・ICU以外の選択肢はあるのか? ・ICUを使う場合、直接APIを使うよりBoost.localeを使った方が良いのか?
492 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 19:07:33 ID:xj40wisa.net] >>477 最近はrustも人気。
493 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 20:41:43.99 ID:GkRU7UlF.net] >>478 文字コードスレできいたら? icuで足りるんならicuでいいと思うけど 自分の経験ではicuのでかくて重いのが問題だったらから 必要な機能だけ自作したな (unicodeがリリースしてるテストデータをパスさせた)
494 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 21:27:19 ID:hGnxzjbK.net] 集中治療室?
495 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 22:52:07.04 ID:mlDkfEpN.net] だまれ>>477 スカトロ野郎
496 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 23:00:48 ID:4DagN68Q.net] 普通はc++だろ javaとかc#とか環境整えるの面倒くさいじゃん
497 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 03:25:29 ID:5RYVSkyg.net] >>477 Cはかつて最大人気言語だった歴史があるのに対し、HaskelやRustはそうではない。 C++もCの人気を受け継いだ言語だし、処理速度が高速でメモリー使用量も少なく、 起動も速いし、Windows以外でもとても広いプラットフォームで簡単に動くのだから、 使うのは自然な流れだし、背伸びとかではない。 例えば、C#をAndroid/iOS/Linux/Macで動かすのは容易ではない。 Wasmで動かすにもネットからのダウンロード量が多くなり起動が遅くなる。 一方、C++ならWasmでも起動が速い。
498 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 03:31:09 ID:5RYVSkyg.net] >>484 C++を動かすのはOS以外に基本的に特殊なランタイムが要らない。 C#やJavaでは.NET環境やJVMが必要となる。 AndroidでもJNIを使えばC/C++は起動も速く動作速度もJava/Kotlin以上に軽快に動く。 同様にiOSでも、Swiftとリンクできるので同様。 逆にC#は、iOSやAndroidで動かすにはダウンロード時間や起動速度に問題があり、 動作速度にも desktop マシン以上に問題がある。 Androidだと、Java/Kotlinの仮想マシンの上に、.NETの仮想マシンを二重に載せる 形となるため、C/C++と比べれば、掛け算の形で遅くなってしまう。
499 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 06:21:32.17 ID:greKUeEf.net] 例外やRTTIをイネーブルしてるとでかいスタティックリンクつくけどね
500 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 08:31:29 ID:QAhIr1h2.net] 言うほどでかいか?
501 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 10:12:31 ID:hgakc7LF.net] CならRAM16バイトのPIC10F200でも使える
502 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 10:13:11 ID:hgakc7LF.net] C++も機能を絞れば非常に小さい
503 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 11:07:35 ID:greKUeEf.net] >>487 ソースコードの見た目とバイナリのサイズがCと違いすぎって意味
504 名前:デフォルトの名無しさん [2020/04/28(火) 11:08:41 ID:zAZN/f3s.net] テンプレとかソース小さくするためにあるからな
505 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 11:16:33.24 ID:greKUeEf.net] 俺>>486 だよ?
506 名前:デフォルトの名無しさん [2020/04/28(火) 11:43:34 ID:A6/2gkMb.net] Arduinoで使ってること考えたら、十分使える。 RAM2KBしかない。
507 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 11:47:47.26 ID:AaGQGXoS.net] >>486 スタティックリンクってどのライブラリをリンクするってこと? そんなのあったっけ?
508 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 12:21:03 ID:greKUeEf.net] >>494 libgccだったかな?
509 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 13:35:25 ID:IyPBiCvR.net] >>486 .NET環境は、それどころじゃない。 それはWindows Updateを見ていれば分かる。 .NETのUpdateのために、数百MB〜数GBダウンロードされる。
510 名前:477 mailto:sage [2020/04/28(火) 18:29:02 ID:pPza+bvz.net] >>480 自作はやりたくないのでICUを軸に色々試してみることにします。 ありがとうございました。
511 名前:◆QZaw55cn4c mailto:sage [2020/04/28(火) 18:49:27 ID:cQuYXkHz.net] >>495 gcc のオプションに -static を加えればいいのでは?
512 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:57:57 ID:greKUeEf.net] >>498 意味わからん 何?
513 名前: mailto:sage [2020/04/28(火) 19:09:32.04 ID:cQuYXkHz.net] >>499 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.
514 名前:はちみつ餃子 mailto:sage [2020/04/28(火) 19:15:02.93 ID:jkGkDNpV.net] >>500 流れを読め。 >>486 みたいな状況でバイナリがデカくなる→何がスタティックリンクされるんや? って話題だぞ。
515 名前:はちみつ餃子 mailto:sage [2020/04/28(火) 19:16:34.52 ID:jkGkDNpV.net] マップファイルを出力させてみれば実際に何がリンクされるかはわかるんちゃう? 試してないけど。
516 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:25:33 ID:9sR0wNPf.net] QZは頭が弱いからしょうがない
517 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:32:38 ID:AaGQGXoS.net] libgccの大きさじゃなくてunwind用のハンドラコードの増加じゃないの? (間違って別スレに書いてしまった)
518 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:43:38.13 ID:BrDWvzn9.net] >>504 RTTI の場合は、仮想テーブルと同様の場所に、実行時型情報へのリンクポインタが 書き込まれるようになる。 それがなかなか複雑な構造をしている。 RTTI情報も、ヘッダファイルの中に構造体が書いてあると、COMDAT形式で 全ての *.obj ファイルの中にいったん書きこまれることがある。 リンク段階で同じデータのsectionがある場合は、単一のsectionだけを残して 他は削除されてしまうが。
519 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:45:01.49 ID:BrDWvzn9.net] >>505 構造化例外もなかなか複雑なコードになる。 そのコードもある程度の大きさになる。
520 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 03:00:07.88 ID:s4ud4ToE.net] >>485 mono、core、zamarin調べて出直してこい
521 名前:デフォルトの名無しさん [2020/04/29(水) 10:03:27.37 ID:I9/54o5j.net] enum class を1オリジンにするスタイルはどの程度使われていますか?
522 名前:デフォルトの名無しさん [2020/04/29(水) 10:59:38.40 ID:I9/54o5j.net] char8_tってどういう経緯で採択されたんですか? Microsoftを利する提案が受け入れられるのは相当珍しいと思いますが。
523 名前:はちみつ餃子 mailto:sage [2020/04/29(水) 12:00:55.06 ID:sxS/u8Yc.net] >>509 色々と事情はあるみたいなんだけど、 UTF-8 の文字列と従来の文字列を型で区別したいというのが主な理由だと思う。
524 名前:デフォルトの名無しさん [2020/04/29(水) 12:20:11 ID:I9/54o5j.net] その要望は昔からあるけど阻止してきたのに、なぜ解禁されたのか事情知りませんか?
525 名前:はちみつ餃子 mailto:sage [2020/04/29(水) 12:43:30.81 ID:sxS/u8Yc.net] >>511 江添亮のブログで関連する提案や議論が取り上げられているので順番に読んでみたらいいと思う。 https://cpplover.blogspot.com/search?q=char8_t 具体的にこれが理由と言えるひとつの理由があるわけではないけど、 やってみたらやっぱ要るわ……という雰囲気っぽいかな。 要するに文字列をナメてたんだろう。
526 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 13:58:02.79 ID:6qGxEOGB.net] この辺詳しいかな https://cpprefjp.github.io/lang/cpp20/char8_t.html https://qiita.com/yumetodo/items/54e1a8230dbf513ea85b
527 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 14:13:57 ID:j7Bsjnws.net] charにutf8突っ込むだけでunicode対応できるとか考えるやつがようやく淘汰されてきてありがたい
528 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 14:46:58 ID:UddvUJZz.net] そもそも「Microsoftを利する提案」てなんだよ C++は別にアンチMSじゃないだろ
529 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 14:58:22 ID:fDjn2ZQ/.net] utf8は一文字が3バイトなこともある
530 名前:デフォルトの名無しさん [2020/04/29(水) 15:01:51 ID:I9/54o5j.net] std::size(u8"あいうえお" - 1)みたいな感じですかね。
531 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 16:00:32 ID:fokztjWx.net] std::u8stringとかC++は規格に出すのが遅い
532 名前:デフォルトの名無しさん [2020/04/29(水) 16:10:17.68 ID:I9/54o5j.net] >>515 W3CもアンチMicrosoftではないのだけど、会員がIT業界の人たちなので、結局のところ、如何にしてMicrosoftを落とすか討論する場所になってました。
533 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 16:22:55 ID:T9sEu8SV.net] >>509 どう利するわけ? windowsの中はutf8じゃないよ
534 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 17:04:53 ID:EKyVvulT.net] >>520 >>509がアンチMicrosoftなだけじゃないかな
535 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 17:10:00 ID:IQZPjtSj.net] enum class とか、MS起源の機能なんていくらでもあるんだけどな
536 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 18:31:43 ID:mBdz0qQc.net] >>505 そのあたりも増加原因になるのはわかる でもどちらにしろlibgccのリンクとは無関係では?
537 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 18:51:27.37 ID:BrDWvzn9.net] >>523 うむ。関係ない。
538 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 20:13:29 ID:Ck1GLV1r.net] >>513 下のみたいなノイズだらけのクソブログを挙げるな もっとマシなのあるだろ
539 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 21:26:43 ID:6qGxEOGB.net] まあ書いてあることは概ね正しいので・・・
540 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 21:36:36 ID:mBdz0qQc.net] そうかな utf8をコア仕様にいれたら「文字とは何かを理解する」ってのは ちょっと同意できないな
541 名前:デフォルトの名無しさん [2020/04/29(水) 22:08:32.37 ID:I9/54o5j.net] constexprがあるので、エンコーディングを型に組み込んでしまっても、困ることは全くない。 C++のお作法になじんでいれば、お得な事しかない。
542 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 22:11:31.22 ID:GvXmmF1B.net] それ、カーニハン・リッチーにも言えるの?
543 名前:デフォルトの名無しさん [2020/04/29(水) 23:00:00 ID:I9/54o5j.net] 連れてきてくれたら、ガツンと言ってやるよ。
544 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 23:13:52 ID:sxS/u8Yc.net] 一休さんかよ
545 名前:デフォルトの名無しさん mailto:sage [2020/04/30(Thu) 12:33:45 ID:yesxJOcI.net] UTF8ベースにしたらどうやって1文字ずつ処理するの?めんどくさい?
546 名前:デフォルトの名無しさん mailto:sage [2020/04/30(Thu) 12:38:45 ID:yesxJOcI.net] >>513 下のサイト的に言えば、誰もが 固定長に数値が収まるという夢を見た愚か者たち なので、必要悪な気はするな
547 名前:デフォルトの名無しさん mailto:sage [2020/04/30(Thu) 12:45:47 ID:ERcZittz.net] >>532 code point単位なら結局utf32にして数える(部分的に可能) 面倒なのはgrapheme clusterから上 もう土方レベルが扱える代物じゃないね
548 名前:デフォルトの名無しさん [2020/04/30(Thu) 12:50:20 ID:IVFUa3Rm.net] ICUのイテレータ使えばよいのでは。
549 名前:◆QZaw55cn4c mailto:sage [2020/04/30(Thu) 20:12:10 ID:IOnQoYGj.net] 内部では utf-32 ベースで処理して、出口入り口で utf-8 に/から変換するものだと思いますが…
550 名前:デフォルトの名無しさん [2020/04/30(木) 20:49:36.61 ID:IVFUa3Rm.net] そんな単純なものではないだろうけど。
551 名前:デフォルトの名無しさん [2020/04/30(Thu) 23:06:50 ID:b9TIw4B4.net] 期間工ブログの収入は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
552 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 00:49:44.42 ID:2K4VYu4Y.net] >>529 リッチーならともかくカーニハンは見てる可能性
553 名前:はちみつ餃子 mailto:sage [2020/05/01(金) 01:06:57.59 ID:Qu9UE9Tc.net] >>536 色んな文字コード (符号化) を扱うときは出入口で変換する方法は妥当な選択だと思うけど、 UTF-32 を中心に据えるのが良いかは一概に言えるものでもないでしょ。 たとえば Windows API がいう Unicode は UTF-16 なわけだし、 外部とのデータのやりとりで内部用の符号に変換する処理が入るのは仕方がないにしても API の呼び出しのときまで毎回変換が入るのも煩雑なんで、 UTF-16 に統一した方全体としては楽じゃない? サロゲートペアの扱いが面倒くせぇとかいうのと天秤にかけたとしても Windows では UTF-16 から離れられない。 結局のところ実行環境とかフレームワークとかの都合に縛られるから (内部用の符号として UTF-32 が優秀なことは承知しているが) そのへんの規約とか習慣に従うしかしゃーない。
554 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 01:37:06 ID:/3xCHgCD.net] 出入り口から内部処理まで出来る限りutf-8で統一して処理するのが トラブルが少なくて済む(個人の感想です)
555 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 02:27:55.90 ID:uatxyJey.net] それは文字列としてだけ扱って文字単位(code point単位)の操作しないときでしょ あるいは小難しいところは全部ライブラリに投げてるとかね
556 名前: mailto:sage [2020/05/01(金) 07:33:59.06 ID:w4TGDP35.net] >>540 >たとえば Windows API がいう Unicode は UTF-16 なわけだし、(略) >API の呼び出しのときまで毎回変換が入るのも煩雑なんで、 >UTF-16 に統一した方全体としては楽じゃない? Windows では UTF-16 を使うといっても、実際に変換しなければならないのは、ファイル名・パス名を扱うときだけですし、 UTF-16 も可変長の部分があって扱いにくいので、私なら UTF-32 で楽したいと考えますね
557 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:23:58 ID:DtDCGOpK.net] 実際にソフト開発したことが無いような書き込みだな
558 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:31:51 ID:NLgIsVNa.net] UTF-32でも結合文字と異体字セレクタはある 結局ライブラリに投げるでしょ、ならどれでも同じじゃね?
559 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:47:44 ID:sYrLq0eo.net] マルチプラットフォームのアプリじゃ内部はUTF-8にする場合が多いけどな なぜならUTF-8にはバイト順問題がないから どのみち一文字表すのに複数のコードポイントが必要なんだからUTF-8、16、32のどれを使っても言語処理の手間は同じだ 「イングランドの旗」絵文字なんてコードポイントで7要素も必要なんだぜ
560 名前:デフォルトの名無しさん [2020/05/01(金) 09:58:16 ID:k2YlXFh6.net] マルチコアの高速化と同様に 32bitのCPUで16bitを扱うと2倍速 64bitのCPUで16bitを扱うと4倍速 みたいにならないんですか?
561 名前:デフォルトの名無しさん [2020/05/01(金) 10:00:07 ID:tdkjZBPc.net] なりますよ。
562 名前:デフォルトの名無しさん [2020/05/01(金) 10:02:36 ID:tdkjZBPc.net] 32ビットと64ビットで二倍の時間になるのではなく、たいてい4倍になりますよ。
563 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 10:13:13 ID:Ia4c8IgS.net] 文字列関連の処理はだいたいメモリアクセスかIOがボトルネックなので、単純にサイズが 増えればその分遅くなるよ
564 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 10:19:22 ID:DtDCGOpK.net] 文字処理のほとんどは64bitがいかされない
565 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 10:22:39.64 ID:DtDCGOpK.net] 文字処理以外でもそれほど多くない
566 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 13:13:05 ID:uatxyJey.net] >>547 simd使えばそれに近づくだろうけど そうでなければシリアルに計算されるだけなのでほぼ変わらない 大量のデータを処理する場合はメモリ効率の点で速くなるかもしれない しかしintへの拡大変換が入るので演算自体は遅くなる方向 まぁ自分でベンチとってアセンブラ眺めてみたらいい かなり環境依存・実装依存なんだから人にきいてもあんまり意味ない 4倍になる人とかいるらしいしw
567 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 13:22:02 ID:DtDCGOpK.net] SIMDなら32bit CPUとか64bit CPUとか関係ないし
568 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 14:33:57.85 ID:RpLrbaMs.net] 例えばRGBAの計算は早くなるよ
569 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 14:54:56 ID:8qmJgOle.net] tclインタプリタに投げる 邪魔くさい
570 名前:デフォルトの名無しさん [2020/05/01(金) 15:22:00 ID:tdkjZBPc.net] >>553 ベンチとるとおよそ4倍になりますよ。
571 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 16:04:33.87 ID:uatxyJey.net] >>557 そのベンチどっかに貼ってみて wandboxとか
572 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 16:07:40.19 ID:wrmDV0oq.net] 64bitを使っても、大部分のソフトウェアは速くも良くもならない事が知られている。 16bitから32bitの時には急激に多くのメモリが使えるようになって劇的にソフトウェア が作り易くなったのと対照的。 メモリ容量に関してはたいていのアプリでは32bitでも既に十分。 速度に関してはそもそもCPUが扱えるデータビット数を多くしても滅多に速くならない。 速くなるのはグラフィックで単純なBitBLTを行うような場合のみ。 縮尺や回転が入るだけで64BITの効果は通常、生かせなくなる。
573 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 16:13:27.06 ID:DtDCGOpK.net] >>555 変わった文字列処理だな
574 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 16:15:49.44 ID:wrmDV0oq.net] >>555 RGBA計算も、(SIMDを使わずに)単純にデータバスが64BITになっただけでは速く出来ない。 なぜなら、R,G,B,Aはそれぞれ1バイトだから1バイトずつの計算するしかないため。 SIMDを使う場合は、CPUの種類によっては、SIMD自体のベクトルの要素数が倍になるため、高速化できる可能性はある。 ただしそれは、整数命令が64BIT化されたこととは直接関係ない。 SIMD命令のベクトルの「次元」が上がったかどうかの問題。
575 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 16:18:51 ID:DtDCGOpK.net] >>561 なんでわざわざ関係ないことを書いてわざわざ混乱させようとするかなあ
576 名前:デフォルトの名無しさん [2020/05/01(金) 16:20:54 ID:tdkjZBPc.net] 64ビットの演算1回の時間で、32ビットの演算4回出来るんですよ。
577 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 16:22:03 ID:wrmDV0oq.net] >>548 なりません。 ならないからこそ、GPGPUのようにマルチコア化が進められています。 SIMD命令も扱いにくいので、マルチコア化が適しています。 例えば、3Dのレイトレーシングなどは、SIMD化することはとても難しい のですが、マルチコア化は比較的容易です。 人工知能のニューラルネットワークの計算はSIMD化し易い部分もあります。 しかし、300コアなどのマルチコアと、8要素のSIMD命令では、 前者に軍配が上がり易く、しかも、コア数が増えてもプログラムの修正が ほぼ不要なので、マルチコアの方がSIMDより好まれます。 ただし、命令自体の速度がx86系は速いため、どちらが実際に速いかは 単純ではありませんが。