Hello hackers !
Qiitaは、エンジニアリングに関する知識を記録・共有するためのサービスです。
コードを書いていて気づいたことや、自分がハマったあの仕様について、
他のエンジニアと知見を共有しましょう ;)
https://qiita.com/
Qiita(キータ)は、Incrementsが運営するプログラミング情報のナレッジコミュニティ。
2016年現在で日本最大のプログラマーコミュニティとされている[1]。
https://internet.watch.impress.co.jp/docs/news/1025972.html
前スレ Qiita
https://mevius.5ch.net/test/read.cgi/tech/1542357242/
Qiita 2 - キータぞ、来たぞ、キータだぞー
■ このスレッドは過去ログ倉庫に格納されています
2022/07/26(火) 00:20:10.32ID:XQj8UtG3
742デフォルトの名無しさん
2023/02/20(月) 08:38:54.50ID:N0AjjgM+ 誰も本になるような分量の記事があるとか言ってない
本物はQiitaなんかに書かずに本を執筆するという話をしてる
本物はQiitaなんかに書かずに本を執筆するという話をしてる
743デフォルトの名無しさん
2023/02/20(月) 09:48:35.13ID:6TNwVReq 本物とか恥ずかしい単語リアルでは使わないほうがいいよ
744デフォルトの名無しさん
2023/02/20(月) 10:11:22.81ID:TNlI+2Ob Zennは本を書けるQiitaだがBooksやHow it worksとExplainしていて
LGTMのようにEnglishのMeaningをMajorityにUnderstandされてないことがIssue
楽天もEnglishをCompanyのOfficial LanguageにしてFailしてるんじゃないの
LGTMのようにEnglishのMeaningをMajorityにUnderstandされてないことがIssue
楽天もEnglishをCompanyのOfficial LanguageにしてFailしてるんじゃないの
745デフォルトの名無しさん
2023/02/20(月) 11:33:01.23ID:FLiXHVYy 本物は恥ずかしくてリアルはいいのか
746デフォルトの名無しさん
2023/02/20(月) 11:36:12.83ID:CcQ7otIM747デフォルトの名無しさん
2023/02/20(月) 12:26:10.50ID:5iDqiXUz748デフォルトの名無しさん
2023/02/20(月) 12:32:32.98ID:CcQ7otIM749デフォルトの名無しさん
2023/02/20(月) 12:45:59.57ID:5iDqiXUz750デフォルトの名無しさん
2023/02/20(月) 12:59:44.42ID:CcQ7otIM751デフォルトの名無しさん
2023/02/20(月) 13:17:11.98ID:5iDqiXUz752デフォルトの名無しさん
2023/02/20(月) 13:24:09.08ID:jddlt+SR 技術書を書いて売ってた俺が通りますよ
もう10年は再版されてないけど
もう10年は再版されてないけど
753デフォルトの名無しさん
2023/02/20(月) 13:33:42.73ID:CcQ7otIM754デフォルトの名無しさん
2023/02/20(月) 13:34:11.29ID:LGz5jnMj ところがどっこい市販されてる書籍にも
アホな本はいっぱいあるんだなぁ…
キータ記事とくらべたときは敬意は払いたいけど
アホな本はいっぱいあるんだなぁ…
キータ記事とくらべたときは敬意は払いたいけど
755デフォルトの名無しさん
2023/02/20(月) 13:58:14.40ID:5iDqiXUz >>753
Qiitaの記事を300ページの分量で書くなら(その分量の記事は存在しないが)バカで本にして売ったほうがいい
3ページの記事を100倍書き溜めるか膨らませるかして300ページにして本を売ったほうがいいと言ってるのかもしれない
Qiitaの記事を300ページの分量で書くなら(その分量の記事は存在しないが)バカで本にして売ったほうがいい
3ページの記事を100倍書き溜めるか膨らませるかして300ページにして本を売ったほうがいいと言ってるのかもしれない
756デフォルトの名無しさん
2023/02/20(月) 16:21:55.47ID:/GjPyd+m マイナビ、秀和、ぎひょーは結構は割合でゴミみたいな本出してる希ガス
※個人の印象です
※個人の印象です
757デフォルトの名無しさん
2023/02/20(月) 19:36:28.01ID:N0AjjgM+ 商業で本を書いてないやつの長文記事なんて
読む価値ないって言ってるだけだが
それすらもわからんようだな
読む価値ないって言ってるだけだが
それすらもわからんようだな
758デフォルトの名無しさん
2023/02/20(月) 20:16:08.35ID:CcQ7otIM >>757
お前は体系的な情報とピンポイントな情報を同列で語るのか?
お前は体系的な情報とピンポイントな情報を同列で語るのか?
759デフォルトの名無しさん
2023/02/20(月) 20:40:16.70ID:LGz5jnMj キータはトップページか
すべてのページの下部かどっかに
※このサイトはド素人が頑張って書いたクソ記事です。
不正確な知ったか、思い込み、独自用語が含まれます。
また、訂正されないままの間違った情報も含みます。
そのことを御理解の上でお楽しみ下さい。
と書くべき
すべてのページの下部かどっかに
※このサイトはド素人が頑張って書いたクソ記事です。
不正確な知ったか、思い込み、独自用語が含まれます。
また、訂正されないままの間違った情報も含みます。
そのことを御理解の上でお楽しみ下さい。
と書くべき
760デフォルトの名無しさん
2023/02/20(月) 20:48:50.22ID:eeHITjPT761デフォルトの名無しさん
2023/02/20(月) 22:03:04.17ID:cqYsGKss ドシロウトの書いた記事も読んでて「あれ?そうだっけ?」と思ったところを
再確認すれば自分の知識のリフレッシュの役に立たないこともない。
一定の割合で嘘が混じってる運転免許試験の問題集くらいに思えば良い。
再確認すれば自分の知識のリフレッシュの役に立たないこともない。
一定の割合で嘘が混じってる運転免許試験の問題集くらいに思えば良い。
762デフォルトの名無しさん
2023/02/21(火) 11:14:59.99ID:mivnJ/gg 本業で描かれて発行されたと思われる本でもひどいのいっぱいあるわ
金返せってレベルの
金返せってレベルの
763デフォルトの名無しさん
2023/02/21(火) 13:35:10.30ID:rKhaXs3b おっとPHPの例の本の悪口はそこまでだ
764デフォルトの名無しさん
2023/02/21(火) 13:49:59.12ID:SlpL9Kc/ 正直今時本買うとか情弱だけだからなぁ
買うにしてもKindleとかデジタル版やろw
買うにしてもKindleとかデジタル版やろw
765デフォルトの名無しさん
2023/02/23(木) 17:09:50.26ID:PHmXofyo 人に読んでもらえる記事を書いて実際に「いいね」をもらえるだけの能力のない
このスレのボンクラどもは自由に記事を書いてる人たちに嫉妬してるんだろう
知らんけど
このスレのボンクラどもは自由に記事を書いてる人たちに嫉妬してるんだろう
知らんけど
766デフォルトの名無しさん
2023/02/23(木) 17:46:26.43ID:P1S+Ih0/ Qiitaのいいねは主に情弱と身内がつけてるからマジであてにならん
ソースは俺
ソースは俺
767デフォルトの名無しさん
2023/02/23(木) 18:25:41.41ID:K5zjnd86 >>766
いいね
いいねが記事の良さを示す指標になってないという反省からLGTMにしたが結局元に戻した
記事をツイートしてリツイートすることの宣伝がすごくてそういう人のQiita記事のいいねが多いと思ったことがある
閲覧数は記事の良さを示す指標では?ツイッターが閲覧数を表示したようにQiitaも表示すべき
いいね
いいねが記事の良さを示す指標になってないという反省からLGTMにしたが結局元に戻した
記事をツイートしてリツイートすることの宣伝がすごくてそういう人のQiita記事のいいねが多いと思ったことがある
閲覧数は記事の良さを示す指標では?ツイッターが閲覧数を表示したようにQiitaも表示すべき
768デフォルトの名無しさん
2023/02/24(金) 15:17:37.86ID:j1nUIy7o いいねが記事の良さを示す指標になってないことの原因は
宣伝がすごい記事と宣伝に頼らない記事を同じ土俵で戦わせること
ツイッターや某所とかで宣伝されるとバズってすごい伸びる
宣伝に頼らない記事だけにしていいねの数を比較するのなら意味があるが
宣伝に頼らない記事が宣伝がすごい記事に埋もれてしまうことが問題
宣伝がすごい記事と宣伝に頼らない記事を同じ土俵で戦わせること
ツイッターや某所とかで宣伝されるとバズってすごい伸びる
宣伝に頼らない記事だけにしていいねの数を比較するのなら意味があるが
宣伝に頼らない記事が宣伝がすごい記事に埋もれてしまうことが問題
769デフォルトの名無しさん
2023/02/24(金) 18:26:16.31ID:lUpG6Py9 よくわかってない人が「よくわからんが
ためになりそうなことが書いてありそうだ」
と錯覚するような記事を書くと「いいね」
をもらえやすいぞ。
よくわかってない人相手なので正確さは
問われない。図とか多用すると尚良し。
高校生や女の子アピールも有効。
ためになりそうなことが書いてありそうだ」
と錯覚するような記事を書くと「いいね」
をもらえやすいぞ。
よくわかってない人相手なので正確さは
問われない。図とか多用すると尚良し。
高校生や女の子アピールも有効。
770デフォルトの名無しさん
2023/02/26(日) 22:29:04.24ID:d2pW7q79 Rust で書いたプログラムがなんか遅い
https://qiita.com/Paalon/items/6c9d64bf0b8b199a5254
> なぜ Rust のコードが遅いのかわかる方がいらっしゃったら教えて下さい。
記事と言うより質問。付いてるコメントがクソ。
記事書いた人はコンパイラの生成した機械語がどうとか分からないところで
質問してるのは記事読めば明らかなのにコメントでそういうレベルでの回答
してるのは何なんだ?相手が理解するわけないだろ。自己満か?自慢か?
マジウザいわ。原辰徳。
https://qiita.com/Paalon/items/6c9d64bf0b8b199a5254
> なぜ Rust のコードが遅いのかわかる方がいらっしゃったら教えて下さい。
記事と言うより質問。付いてるコメントがクソ。
記事書いた人はコンパイラの生成した機械語がどうとか分からないところで
質問してるのは記事読めば明らかなのにコメントでそういうレベルでの回答
してるのは何なんだ?相手が理解するわけないだろ。自己満か?自慢か?
マジウザいわ。原辰徳。
771デフォルトの名無しさん
2023/02/26(日) 22:40:43.27ID:qHcJFulr コメント連投してる人は暇人だなぁと思うけど
これはいい暇人やろ
こういうふうなコメントこそ求められてると思うけど
これはいい暇人やろ
こういうふうなコメントこそ求められてると思うけど
772デフォルトの名無しさん
2023/03/06(月) 19:42:47.48ID:r0tCpgvu 質問への回答へChatGPTの応答を丸投げする人がいます #443
前回のような個別に対応しますというような曖昧な回答ではなく,是非運営として対応方針をお聞かせ願えればと思います.
前回のような個別に対応しますというような曖昧な回答ではなく,是非運営として対応方針をお聞かせ願えればと思います.
773デフォルトの名無しさん
2023/03/08(水) 23:58:04.56ID:4eHYlrtD もう匿名式の質問サイトはダメだな
774デフォルトの名無しさん
2023/03/14(火) 22:18:59.44ID:8y8SbB+t 小道具:英数の別文字コードへの変換(テキストデータなのにボールドとかイタリックとかスクリプト体とか…)
https://qiita.com/ikiuo/items/4359dd27149253cf577b
Qiitaのコメント欄はいつもこれくらいピリピリした感じがあれば良いのに。
https://qiita.com/ikiuo/items/4359dd27149253cf577b
Qiitaのコメント欄はいつもこれくらいピリピリした感じがあれば良いのに。
775デフォルトの名無しさん
2023/03/15(水) 07:34:30.82ID:S/2xoj/O マシン語がどうとか言ってるが線形探索はマシン語になっても線形探索だから辞書の方が速いんだよなあ
776デフォルトの名無しさん
2023/03/15(水) 10:39:46.92ID:pH/GSRp9 「CPU のレジスタ内で完結するコード」とか今まで考えたことすらなかった
そこまで速度にこだわる必要はないでしょ
そこまで速度にこだわる必要はないでしょ
777デフォルトの名無しさん
2023/03/15(水) 12:26:39.43ID:jerUT3o2 実測しないでどっちが速いとか迂闊なこと言えん
778デフォルトの名無しさん
2023/03/15(水) 12:41:05.39ID:S/2xoj/O779デフォルトの名無しさん
2023/03/15(水) 12:55:47.78ID:jerUT3o2 いまどきのコンパイラは勝手にベクトル化したりするしどういうコード吐くかは見ないとわからん。
ソース見ただけで計算量なんて分かるわけない。
ソース見ただけで計算量なんて分かるわけない。
780デフォルトの名無しさん
2023/03/15(水) 13:17:37.66ID:aPY7VYJu ソース見ただけでわからんとかどういうことだよ
計算量はソースからはかるもんだぞ
計算量はソースからはかるもんだぞ
781デフォルトの名無しさん
2023/03/15(水) 13:20:40.00ID:aPY7VYJu どんだけ頑張って最適化しても大量のデータでは挿入ソートは最適化しないヒープソートに勝つことはない
むしろ無駄ループ入れて1000倍の時間がかかるようにしたヒープソートにすら負ける
これが計算量よ
むしろ無駄ループ入れて1000倍の時間がかかるようにしたヒープソートにすら負ける
これが計算量よ
782デフォルトの名無しさん
2023/03/15(水) 13:44:10.45ID:JMNcqHlR 「計算量」と「実効速度」の違いがわからない人って
783デフォルトの名無しさん
2023/03/15(水) 20:35:53.94ID:KXZ51f7E >>778
異なる方法を計算量で比較できると思ってる人?
異なる方法を計算量で比較できると思ってる人?
784デフォルトの名無しさん
2023/03/15(水) 21:04:27.21ID:S/2xoj/O >>783
そのためにある指標だし
そのためにある指標だし
785デフォルトの名無しさん
2023/03/15(水) 21:29:10.82ID:h4FnK3FU 三度もレスしてて物知らないってw
786デフォルトの名無しさん
2023/03/15(水) 21:32:21.48ID:S/2xoj/O マジで計算量知らないこの板にやついるんだなって
基礎だぞ?
基礎だぞ?
787デフォルトの名無しさん
2023/03/15(水) 21:42:36.28ID:L/tI8VDO 数十文字程度の小規模データの探索の話でしょこれ
788デフォルトの名無しさん
2023/03/15(水) 22:01:25.50ID:S/2xoj/O 文書の大きさがどの程度になるかわからんだろw
逆に小さい文書しか作らないなら速度などどうでもいいっつー話w
逆に小さい文書しか作らないなら速度などどうでもいいっつー話w
789デフォルトの名無しさん
2023/03/15(水) 22:11:47.12ID:L/tI8VDO 文書の長さこそ計算量上はただの係数やろ
そうなると一文字単位の計算量じゃなく処理時間が影響するやろ
そうなると一文字単位の計算量じゃなく処理時間が影響するやろ
790デフォルトの名無しさん
2023/03/15(水) 22:30:39.09ID:CY/tziyM 質問の検索機能についてお聞かせください #450
上記のような問題を解決したいと考え、質問を検索できるようにする予定です
みなさまにお聞かせいただきたい内容
1. どのような項目で検索を絞り込みたいですか?
2. 上記の抽出条件は、主にどんな時に必要かを教えてください
上記のような問題を解決したいと考え、質問を検索できるようにする予定です
みなさまにお聞かせいただきたい内容
1. どのような項目で検索を絞り込みたいですか?
2. 上記の抽出条件は、主にどんな時に必要かを教えてください
791デフォルトの名無しさん
2023/03/15(水) 22:34:40.04ID:eoB9Ihb9792デフォルトの名無しさん
2023/03/15(水) 22:52:06.71ID:OgurmkNo 間違い指摘されたのを「荒らされた」と逆恨みしてる人かな
793デフォルトの名無しさん
2023/03/16(木) 08:14:42.42ID:coFKYGG/ >>789
文書の長さをnとした時にnの増加でどのくらい時間が増えるかを表すのが計算量だぞw
O(n)なら文書量が1000倍の時に1000倍の時間がかかるしO(n^2)なら1000000倍の時間がかかる
だからアルゴリズムをO(n^2)のままで速さを2倍にチューンナップしても500000倍の時間になるから1000倍の時間には全然文字通り桁違いにかなわんのよw
文書の長さをnとした時にnの増加でどのくらい時間が増えるかを表すのが計算量だぞw
O(n)なら文書量が1000倍の時に1000倍の時間がかかるしO(n^2)なら1000000倍の時間がかかる
だからアルゴリズムをO(n^2)のままで速さを2倍にチューンナップしても500000倍の時間になるから1000倍の時間には全然文字通り桁違いにかなわんのよw
794デフォルトの名無しさん
2023/03/16(木) 08:17:01.38ID:coFKYGG/795デフォルトの名無しさん
2023/03/16(木) 08:28:26.08ID:J6jDYyo3 >>793
いや一文字の変換方法の議論なんだからO(n)じゃなくてn×O(テーブル数)なんだよ
いや一文字の変換方法の議論なんだからO(n)じゃなくてn×O(テーブル数)なんだよ
796デフォルトの名無しさん
2023/03/16(木) 08:57:56.89ID:coFKYGG/797デフォルトの名無しさん
2023/03/16(木) 09:03:39.04ID:coFKYGG/ 辞書なら一回の変換でO(1)だから文書をnとしてO(n)なのにそこで線形探索持ってきて機械語を考慮して云々言うのがどれだけアホなのかわからんのかよw
そんなの一発で消し飛ぶのは実測しなくてもわかるわw
そんなの一発で消し飛ぶのは実測しなくてもわかるわw
798795
2023/03/16(木) 10:08:11.84ID:oia5IsuT n✕O(1)とn✕O(テーブル数)やろ
どの変換処理だろうが文字数nでループして内部変換処理にnは関わってない
どの変換処理だろうが文字数nでループして内部変換処理にnは関わってない
799デフォルトの名無しさん
2023/03/16(木) 12:06:57.05ID:coFKYGG/ 結局必要なのは個々の変換速度じゃなく最終的な速度だと何度説明してもわからんアホには何も作れんよ
800795
2023/03/16(木) 12:15:09.02ID:nUks2Duv 結論に異論はないが説明が間違ってりゃそりゃ伝わらんよ
801デフォルトの名無しさん
2023/03/16(木) 12:21:16.93ID:coFKYGG/ 間違ってるように見えるのはお前がアホだからだよ
トンチンカンなことばかり言ってるからわかる
トンチンカンなことばかり言ってるからわかる
802デフォルトの名無しさん
2023/03/16(木) 12:44:45.67ID:d8Ckr3uM >>774
異字体てなに
異字体てなに
803デフォルトの名無しさん
2023/03/16(木) 13:17:41.07ID:5yhRoe8q アホっていうやつがアホ
マジでアホ
どうしようもなくアホ
雑談する目的で誹謗中傷するのは精神がいかれてる
小学生の義務教育からリカレント教育を受け直すべき
誹謗中傷せずに話せないの?
くだらない話題にしか見えない
この話題には当然参加してない
マジでアホ
どうしようもなくアホ
雑談する目的で誹謗中傷するのは精神がいかれてる
小学生の義務教育からリカレント教育を受け直すべき
誹謗中傷せずに話せないの?
くだらない話題にしか見えない
この話題には当然参加してない
804デフォルトの名無しさん
2023/03/16(木) 13:20:30.56ID:k5zGeUtM これで自分は誹謗中傷してないつもりなのがアホだろ?w
805デフォルトの名無しさん
2023/03/17(金) 00:05:29.98ID:aeVIJ/KU 今年のカレンダーで25記事書ききってぬいぐるみとTシャツもらうためにいまから書きだめておこうと思うんだが(´・ω・`)
806デフォルトの名無しさん
2023/03/17(金) 14:38:47.90ID:2zEmq53G そのぬいぐるみは必要なんですか
807デフォルトの名無しさん
2023/03/21(火) 08:51:57.85ID:C5sD27fs ChatGPTばっかりやな
808デフォルトの名無しさん
2023/03/21(火) 09:55:36.79ID:Tpygyrgn 今そういうキャンペーンしてるしホームに並ぶ記事には運営が恣意的な重みをつけてるからな
809デフォルトの名無しさん
2023/03/21(火) 15:54:59.44ID:vHVc4/ZP セカイを変えるChatGPTを追求せよという空気でChatGPT以外の記事を書ける?
おまえは空気を読めないやつかもしれんが
おまえは空気を読めないやつかもしれんが
810デフォルトの名無しさん
2023/03/21(火) 17:23:05.79ID:GtV9DAzh 現状ちょっと弄っただけで糞とわかるChatGPTの記事なんて書く意味ない
811デフォルトの名無しさん
2023/03/22(水) 12:50:34.89ID:2yBOIXco 現状、正しいコードを書かせるためにプロントを四苦八苦してるうちに自分でコード書いたほうが早いからな…
812デフォルトの名無しさん
2023/03/25(土) 05:45:02.74ID:g6eb42ch 元編 https://qiita.com/kankikou/items/311328b36ff5a60ab19a
続編 https://qiita.com/Nabetani/items/4827584857cb1c584647
高々10Mの足し算で1秒掛かってるのが異常に遅いなと思って
試しに手動アンロールしたら3桁早くなった
主題の分岐予測を気にかけてる人は自動ベクトル化も興味あるだろうし
元編でコメント連投してた藤田望氏は5chで叩かれてもQiita頑張って欲しい
shuffled
simple: duration= 1.4129s sum=957487744000
simple_unroll4: duration= 0.0016s sum=957487744000
foreach: duration= 1.4307s sum=957487744000
opt-simple: duration= 1.4238s sum=957487744000
opt-foreach: duration= 1.4369s sum=957487744000
sorted
simple: duration= 1.4214s sum=957487744000
simple_unroll4: duration= 0.0016s sum=957487744000
foreach: duration= 1.4228s sum=957487744000
opt-simple: duration= 1.4297s sum=957487744000
opt-foreach: duration= 1.4318s sum=957487744000
続編 https://qiita.com/Nabetani/items/4827584857cb1c584647
高々10Mの足し算で1秒掛かってるのが異常に遅いなと思って
試しに手動アンロールしたら3桁早くなった
主題の分岐予測を気にかけてる人は自動ベクトル化も興味あるだろうし
元編でコメント連投してた藤田望氏は5chで叩かれてもQiita頑張って欲しい
shuffled
simple: duration= 1.4129s sum=957487744000
simple_unroll4: duration= 0.0016s sum=957487744000
foreach: duration= 1.4307s sum=957487744000
opt-simple: duration= 1.4238s sum=957487744000
opt-foreach: duration= 1.4369s sum=957487744000
sorted
simple: duration= 1.4214s sum=957487744000
simple_unroll4: duration= 0.0016s sum=957487744000
foreach: duration= 1.4228s sum=957487744000
opt-simple: duration= 1.4297s sum=957487744000
opt-foreach: duration= 1.4318s sum=957487744000
813812
2023/03/25(土) 06:46:24.02ID:kHu8aUGB 失礼、measure関数で1000回ループしてたので、高々10G回の足し算になってた
でもO3最適化が何かをやっているようだ
g++ -O2 -mavx2
shuffled
simple: duration= 4.3088s sum=957487744000
simple_unroll4: duration= 1.5359s sum=957487744000
foreach: duration= 4.3084s sum=957487744000
opt-simple: duration= 4.7163s sum=957487744000
opt-foreach: duration= 5.5201s sum=957487744000
g++ -O3 -mavx2
shuffled
simple: duration= 1.4113s sum=957487744000
simple_unroll4: duration= 0.0016s sum=957487744000
foreach: duration= 1.4264s sum=957487744000
opt-simple: duration= 1.4410s sum=957487744000
opt-foreach: duration= 1.4378s sum=957487744000
int64_t __attribute__ ((noinline)) simple_unroll4(std::vector<uint> const &data)
{
int64_t sum[4]{};
for (size_t i = 0, size = data.size(); i < size; i+=4)
{
if (128 <= data[i+0]) sum[0] += data[i+0];
if (128 <= data[i+1]) sum[1] += data[i+1];
if (128 <= data[i+2]) sum[2] += data[i+2];
if (128 <= data[i+3]) sum[3] += data[i+3];
}
return sum[0]+sum[1]+sum[2]+sum[3];
}
でもO3最適化が何かをやっているようだ
g++ -O2 -mavx2
shuffled
simple: duration= 4.3088s sum=957487744000
simple_unroll4: duration= 1.5359s sum=957487744000
foreach: duration= 4.3084s sum=957487744000
opt-simple: duration= 4.7163s sum=957487744000
opt-foreach: duration= 5.5201s sum=957487744000
g++ -O3 -mavx2
shuffled
simple: duration= 1.4113s sum=957487744000
simple_unroll4: duration= 0.0016s sum=957487744000
foreach: duration= 1.4264s sum=957487744000
opt-simple: duration= 1.4410s sum=957487744000
opt-foreach: duration= 1.4378s sum=957487744000
int64_t __attribute__ ((noinline)) simple_unroll4(std::vector<uint> const &data)
{
int64_t sum[4]{};
for (size_t i = 0, size = data.size(); i < size; i+=4)
{
if (128 <= data[i+0]) sum[0] += data[i+0];
if (128 <= data[i+1]) sum[1] += data[i+1];
if (128 <= data[i+2]) sum[2] += data[i+2];
if (128 <= data[i+3]) sum[3] += data[i+3];
}
return sum[0]+sum[1]+sum[2]+sum[3];
}
814812
2023/03/25(土) 06:53:15.92ID:kHu8aUGB measure関数に __attribute__ ((noinline)) を付けたら正しく動きました
失礼しました
失礼しました
815812
2023/03/25(土) 17:13:39.86ID:hUI94gGa uint16_tにしたら続編のAVX512と似通ったレベルが出た(続編のsumがmacとwindowsで違うのは何故?)
g++ -O3 (avx2を明示しない方が速かった)
shuffled
simple: duration= 1.0470s sum=957487744000
simple_unroll4: duration= 0.7678s sum=957487744000 ★
foreach: duration= 1.0765s sum=957487744000
opt-simple: duration= 1.3134s sum=957487744000
opt-foreach: duration= 1.3262s sum=957487744000
sorted
simple: duration= 1.0430s sum=957487744000
simple_unroll4: duration= 0.7652s sum=957487744000 ★
foreach: duration= 1.0726s sum=957487744000
opt-simple: duration= 1.3084s sum=957487744000
opt-foreach: duration= 1.3201s sum=957487744000
clang++ -O3 -mavx2 (avx2を明示)
shuffled
simple: duration= 0.8695s sum=957487744000
simple_unroll4: duration= 1.3842s sum=957487744000
foreach: duration= 0.8715s sum=957487744000
opt-simple: duration= 0.8683s sum=957487744000
opt-foreach: duration= 0.8636s sum=957487744000 ★
sorted
simple: duration= 0.8812s sum=957487744000
simple_unroll4: duration= 1.3900s sum=957487744000
foreach: duration= 0.8701s sum=957487744000
opt-simple: duration= 0.8691s sum=957487744000
opt-foreach: duration= 0.8682s sum=957487744000 ★
g++ -O3 (avx2を明示しない方が速かった)
shuffled
simple: duration= 1.0470s sum=957487744000
simple_unroll4: duration= 0.7678s sum=957487744000 ★
foreach: duration= 1.0765s sum=957487744000
opt-simple: duration= 1.3134s sum=957487744000
opt-foreach: duration= 1.3262s sum=957487744000
sorted
simple: duration= 1.0430s sum=957487744000
simple_unroll4: duration= 0.7652s sum=957487744000 ★
foreach: duration= 1.0726s sum=957487744000
opt-simple: duration= 1.3084s sum=957487744000
opt-foreach: duration= 1.3201s sum=957487744000
clang++ -O3 -mavx2 (avx2を明示)
shuffled
simple: duration= 0.8695s sum=957487744000
simple_unroll4: duration= 1.3842s sum=957487744000
foreach: duration= 0.8715s sum=957487744000
opt-simple: duration= 0.8683s sum=957487744000
opt-foreach: duration= 0.8636s sum=957487744000 ★
sorted
simple: duration= 0.8812s sum=957487744000
simple_unroll4: duration= 1.3900s sum=957487744000
foreach: duration= 0.8701s sum=957487744000
opt-simple: duration= 0.8691s sum=957487744000
opt-foreach: duration= 0.8682s sum=957487744000 ★
816812
2023/03/25(土) 17:24:06.36ID:hUI94gGa 合わせて手動アンロールも少し修正
int64_t __attribute__ ((noinline)) simple_unroll4(std::vector<uint> const &data)
{
int64_t sum = 0;
size_t const size = data.size();
size_t i = 0;
size_t const overflow_safe_chunk_size = (1ULL<< (8*sizeof(uint)))/(1ULL<<8); // 0xff = (1<<8)-1
for(size_t ichunk = 0; ichunk < size ; ichunk += overflow_safe_chunk_size){
uint sub[4]{};
for ( ; i < ichunk; i+=4)
{
if (128 <= data[i+0]) sub[0] += data[i+0];
if (128 <= data[i+1]) sub[1] += data[i+1];
if (128 <= data[i+2]) sub[2] += data[i+2];
if (128 <= data[i+3]) sub[3] += data[i+3];
}
sum += sub[0]+sub[1]+sub[2]+sub[3];
}
for ( ; i < size; i+=1)
{
if (128 <= data[i]) sum += data[i];
}
return sum;
}
gccとclangでかなりの違いが出てるのでSIMD intrinsicsで書くべきなんだろうけど
そこまでするとM1/M2で使えなくなるのでこの辺が落としどころ?
int64_t __attribute__ ((noinline)) simple_unroll4(std::vector<uint> const &data)
{
int64_t sum = 0;
size_t const size = data.size();
size_t i = 0;
size_t const overflow_safe_chunk_size = (1ULL<< (8*sizeof(uint)))/(1ULL<<8); // 0xff = (1<<8)-1
for(size_t ichunk = 0; ichunk < size ; ichunk += overflow_safe_chunk_size){
uint sub[4]{};
for ( ; i < ichunk; i+=4)
{
if (128 <= data[i+0]) sub[0] += data[i+0];
if (128 <= data[i+1]) sub[1] += data[i+1];
if (128 <= data[i+2]) sub[2] += data[i+2];
if (128 <= data[i+3]) sub[3] += data[i+3];
}
sum += sub[0]+sub[1]+sub[2]+sub[3];
}
for ( ; i < size; i+=1)
{
if (128 <= data[i]) sum += data[i];
}
return sum;
}
gccとclangでかなりの違いが出てるのでSIMD intrinsicsで書くべきなんだろうけど
そこまでするとM1/M2で使えなくなるのでこの辺が落としどころ?
817デフォルトの名無しさん
2023/03/26(日) 11:02:32.91ID:4Q+hammq818デフォルトの名無しさん
2023/03/26(日) 15:18:31.53ID:76I76+n1 こいつQiitaのコメントで暴れまくってる藤田望だろ
819デフォルトの名無しさん
2023/03/26(日) 15:52:08.11ID:8M1XC4pp 本人じゃないよ
https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
で更に早くなった
g++ -O4 -mavx2
shuffled
simple: duration= 1.4165s sum=957487744000
simple_unroll4: duration= 0.9939s sum=957487744000
simple_vec16: duration= 0.5607s sum=957487744000
simple_vec32: duration= 0.2914s sum=957487744000 ★
sorted
simple: duration= 1.3956s sum=957487744000
simple_unroll4: duration= 0.9907s sum=957487744000
simple_vec16: duration= 0.5611s sum=957487744000
simple_vec32: duration= 0.2766s sum=957487744000 ★
clang++ -O3 -mavx2
shuffled
simple: duration= 0.8921s sum=957487744000
simple_unroll4: duration= 1.3960s sum=957487744000
simple_vec16: duration= 0.3113s sum=957487744000
simple_vec32: duration= 0.2184s sum=957487744000 ★
sorted
simple: duration= 0.8977s sum=957487744000
simple_unroll4: duration= 1.3983s sum=957487744000
simple_vec16: duration= 0.3328s sum=957487744000
simple_vec32: duration= 0.2028s sum=957487744000 ★
https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
で更に早くなった
g++ -O4 -mavx2
shuffled
simple: duration= 1.4165s sum=957487744000
simple_unroll4: duration= 0.9939s sum=957487744000
simple_vec16: duration= 0.5607s sum=957487744000
simple_vec32: duration= 0.2914s sum=957487744000 ★
sorted
simple: duration= 1.3956s sum=957487744000
simple_unroll4: duration= 0.9907s sum=957487744000
simple_vec16: duration= 0.5611s sum=957487744000
simple_vec32: duration= 0.2766s sum=957487744000 ★
clang++ -O3 -mavx2
shuffled
simple: duration= 0.8921s sum=957487744000
simple_unroll4: duration= 1.3960s sum=957487744000
simple_vec16: duration= 0.3113s sum=957487744000
simple_vec32: duration= 0.2184s sum=957487744000 ★
sorted
simple: duration= 0.8977s sum=957487744000
simple_unroll4: duration= 1.3983s sum=957487744000
simple_vec16: duration= 0.3328s sum=957487744000
simple_vec32: duration= 0.2028s sum=957487744000 ★
820デフォルトの名無しさん
2023/03/26(日) 16:12:14.93ID:8M1XC4pp typedef uint v32 __attribute__ ((vector_size (32)));
int64_t __attribute__ ((noinline)) simple_vec32(std::vector<uint> const &data)
{
int64_t sum = 0;
size_t const size = data.size();
size_t const overflow_safe_chunk_size = (1ULL<< (8*sizeof(uint)))/(1ULL<<8); // 0xff = (1<<8)-1
size_t const unroll_step = sizeof(v32)/sizeof(uint);
v32 const *pv32 = (v32 const*)data.data();
size_t const size32 = size/unroll_step;
size_t i = 0;
for(size_t ichunk = overflow_safe_chunk_size ; ichunk < size32 ; ichunk += overflow_safe_chunk_size)
{
v32 sub{};
for ( ; i < ichunk; ++i) sub = (128 <= pv32[i]) ? (sub + pv32[i]) : sub;
for(int d = 0; d < unroll_step ; ++d) sum += sub[d];
}
for ( size_t j = i*unroll_step; j < size; ++j) if (128 <= data[j]) sum += data[j];
return sum;
}
simple_vec16は32->16
>(続編のsumがmacとwindowsで違うのは何故?)
記事にないけどgithubのrun.batを見たらサイズが10Mではなく1Mでの数字になってた
なので"C++ on Thinkpad"の実行時間は10倍する必要がある
AVX512とあったので新し目のマシンだと私が勘違いしただけ
肝心のvector extensionは
https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html
この辺見てるとM1/M2でも動きそうな期待が...
int64_t __attribute__ ((noinline)) simple_vec32(std::vector<uint> const &data)
{
int64_t sum = 0;
size_t const size = data.size();
size_t const overflow_safe_chunk_size = (1ULL<< (8*sizeof(uint)))/(1ULL<<8); // 0xff = (1<<8)-1
size_t const unroll_step = sizeof(v32)/sizeof(uint);
v32 const *pv32 = (v32 const*)data.data();
size_t const size32 = size/unroll_step;
size_t i = 0;
for(size_t ichunk = overflow_safe_chunk_size ; ichunk < size32 ; ichunk += overflow_safe_chunk_size)
{
v32 sub{};
for ( ; i < ichunk; ++i) sub = (128 <= pv32[i]) ? (sub + pv32[i]) : sub;
for(int d = 0; d < unroll_step ; ++d) sum += sub[d];
}
for ( size_t j = i*unroll_step; j < size; ++j) if (128 <= data[j]) sum += data[j];
return sum;
}
simple_vec16は32->16
>(続編のsumがmacとwindowsで違うのは何故?)
記事にないけどgithubのrun.batを見たらサイズが10Mではなく1Mでの数字になってた
なので"C++ on Thinkpad"の実行時間は10倍する必要がある
AVX512とあったので新し目のマシンだと私が勘違いしただけ
肝心のvector extensionは
https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html
この辺見てるとM1/M2でも動きそうな期待が...
821デフォルトの名無しさん
2023/03/27(月) 12:46:47.87ID:XkUggZJB Qittaでなく5chでやる意味がマジ解らん
822デフォルトの名無しさん
2023/03/28(火) 13:06:07.71ID:cPoQHK67 いや?俺はよく分かる
誰も求めてないのに書くのは同じ
違うのは場所がキータかここかの違い
彼らにとって大事なのは承認欲求?でありほかの何でもない
誰も求めてないのに書くのは同じ
違うのは場所がキータかここかの違い
彼らにとって大事なのは承認欲求?でありほかの何でもない
823デフォルトの名無しさん
2023/03/28(火) 13:49:42.95ID:3VIBVyjk うぜーから出ていけ、っていう話だよ
分かったなら出ていってくんないかな
分かったなら出ていってくんないかな
824デフォルトの名無しさん
2023/03/30(木) 20:44:08.18ID:fTJXckXZ825デフォルトの名無しさん
2023/03/30(木) 21:06:08.35ID:KjCiHOso826デフォルトの名無しさん
2023/03/30(木) 21:20:53.69ID:e87SyOqr どう考えてもスパムだろw
827デフォルトの名無しさん
2023/03/30(木) 23:33:42.71ID:sAgkV5No うるせー馬鹿
828デフォルトの名無しさん
2023/03/31(金) 16:25:54.02ID:ncUugaX3 botによるコメントは普通に考えて迷惑行為
829デフォルトの名無しさん
2023/03/31(金) 21:43:44.84ID:8CJLc1yu CNNをライブラリなしで0から作成してみた(C言語、Convolutional Neural Network)
https://qiita.com/Mizuiro__sakura/items/9634bcd0f163084d402a
あれ?既視感?とおもってぐぐってみたら
https://webcache.googleusercontent.com/search?q=cache:LRitXa4fOIYJ:https://qiita.com/Mizuiro__sakura/items/9cff0ad16da90f89cebe
同じ人による再投稿か。期待した反応がなかったからか知らんがクソ記事繰り返し読まされてしまうと迷惑なのでやめて欲しいな。何よりアイコン画像がキモい。
https://qiita.com/Mizuiro__sakura/items/9634bcd0f163084d402a
あれ?既視感?とおもってぐぐってみたら
https://webcache.googleusercontent.com/search?q=cache:LRitXa4fOIYJ:https://qiita.com/Mizuiro__sakura/items/9cff0ad16da90f89cebe
同じ人による再投稿か。期待した反応がなかったからか知らんがクソ記事繰り返し読まされてしまうと迷惑なのでやめて欲しいな。何よりアイコン画像がキモい。
830デフォルトの名無しさん
2023/03/31(金) 22:16:10.17ID:tr7cKY8h キータの本質はクソ記事なので
それをやめることはできない
それをやめることはできない
831デフォルトの名無しさん
2023/03/31(金) 22:32:45.07ID:aJ3/u9D0 ヨソからの引用だらけの記事のくせに承認欲求だけは人一倍ある感じがなんだかな
件数減らして正解率上がったって言ってるけどアホじゃなかろうか
件数減らして正解率上がったって言ってるけどアホじゃなかろうか
832デフォルトの名無しさん
2023/04/02(日) 13:45:48.58ID:Ky8sq4kq >>829
まじめに読んでる人がいたことに驚き
まじめに読んでる人がいたことに驚き
833デフォルトの名無しさん
2023/04/03(月) 03:02:51.33ID:V0D5Q5Pa AIロボットによるコメントは禁止・無条件削除すべきです #457
最近、あるアカウントで、見境なく、「コメント」と「いいね」を付けまくっているユーザーが居ます
://github.com/increments/qiita-discussions/discussions/457
@Qiita_chan botはご遠慮ください
://qiita.com/EndOfData/items/9f82d4e46540504e5fc6
最近、あるアカウントで、見境なく、「コメント」と「いいね」を付けまくっているユーザーが居ます
://github.com/increments/qiita-discussions/discussions/457
@Qiita_chan botはご遠慮ください
://qiita.com/EndOfData/items/9f82d4e46540504e5fc6
834デフォルトの名無しさん
2023/04/04(火) 08:09:17.95ID:erD0CuRV835デフォルトの名無しさん
2023/04/04(火) 09:42:05.37ID:ktWoV7jH キータとsejukuが無くなって
「調べてみまました いかがだったでしょうか」系サイトが全部無くなって
ぐぐり結果に平和が訪れたときこそ本当の勝利
「調べてみまました いかがだったでしょうか」系サイトが全部無くなって
ぐぐり結果に平和が訪れたときこそ本当の勝利
836デフォルトの名無しさん
2023/04/04(火) 09:48:09.58ID:c9lb0JIW 【Ruby】String#[]= について「すごい」と思ったので、予想を混ぜつつ調べた過程をまとめた - Qiita
https://qiita.com/yuki82511988/items/45a6adcb677f7bddc19f
何がすごいのか理解するまで3分かかった(白目)
https://qiita.com/yuki82511988/items/45a6adcb677f7bddc19f
何がすごいのか理解するまで3分かかった(白目)
837デフォルトの名無しさん
2023/04/04(火) 09:49:09.86ID:c9lb0JIW >文字列も配列のように添字を指定することで、該当する文字を得ることができる
アッハイ
としか言いようがねえぞ
アッハイ
としか言いようがねえぞ
838デフォルトの名無しさん
2023/04/04(火) 09:51:59.35ID:cu0WQi3X839デフォルトの名無しさん
2023/04/04(火) 09:56:40.38ID:c9lb0JIW 文字列に[]でアクセスできるのがすごいと思ってるのが少数はいるというのが分かったことが今日の収穫でした(小波
840デフォルトの名無しさん
2023/04/04(火) 10:09:00.95ID:erD0CuRV アッハイと言いたいだけだろw
841デフォルトの名無しさん
2023/04/04(火) 10:10:12.84ID:erD0CuRV 今日のマウント合戦
Rubyは凄いと言われてるが
俺に言わせればアッハイとしか言えねぇな。
Rubyは凄いと言われてるが
俺に言わせればアッハイとしか言えねぇな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- んなっしょい🍬禁止🈲のお🏡
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
