はてなキーワード: スレッドとは
肛門「何者だ!」
肛門「よし通れ!」
肛門から屁を出そうとしたところ、誤って便を出してしまう状況を擬人化した文章。初出はおそらく、匿名掲示板の2ちゃんねる(現:5ちゃんねる)のニュース速報板である。2011年に作られたスレッド
「俺「屁ならいける」→ウンコ 俺「;;」 俺「ウンコちょっとだけならセーフ」→下痢ブシア 俺「;;」」exit
の>>22に書き込まれている。肛門のザル警備っぷりに笑ってしまった人も多かったようだ。
この「屁と一緒に便を出す」現象には「ファイナルブラスト現象」という名前がついている。日本うんこ学会の石井洋介氏によって命名された。ファイナルフラッシュではない。
【朗報】 集団痴漢を通報し、京大卒ゆめみCTO斉藤祐輔容疑者の人生を終わらせた、専門学校生アルバイト谷川翼さん(20歳)に感謝状 [819818695]
2017/12/09(土) 10:37:00.51●?2BP(2000)
JR埼京線で男4人が集団で1人の女性に痴漢をしたとして逮捕された事件で、
車内の異変に気付いて逮捕に貢献した東京・板橋駅でアルバイトをしている男子学生に感謝状が贈られました。
板橋警察署長から感謝状を贈られたのは、JR埼京線の板橋駅で乗客誘導のアルバイトをしている専門学校生の谷川翼さん(20)です。
2017年7月に池袋駅から板橋駅に向かっていた埼京線の先頭車両で、男4人が20代の女性を取り囲んで痴漢をしたとして、11月に逮捕されました。
谷川さんは板橋駅で2年にわたってアルバイトをしていて、事件当時は板橋駅のホームで乗客の整理をしながら、頻繁に痴漢が起きている先頭車両を注意して見ていたといいます。
谷川さんは「電車が到着した時、既に取り囲んでいるような姿が窓越しから見え、異様な雰囲気が伝わった」として、
「だいたい降りる時はドアの方を向いているお客さまがほとんど。その時は女性1人に対して囲んでいるのが見えたので、おかしいと感じた」と当時を振り返りました。
20年前の事を正確に覚えてて引く
2005年、とある女子大生のブログ炎上騒動から生まれた言葉。
その女子大生は、2005年夏、国際展示場で行われたコミックマーケット68にて、ネイサンズ国際ホットドッグ早食い選手権で知られるホットドッグの老舗「ネイサンズ」(ネイサンズ・フランチャイジー・オブ・ジャパン)のホットドッグ販売のバイトをしていた。
が、自身のブログにて、お客であるオタク達を「恐い!きもい!」と写真付きで罵倒する書き込みを行う。
それが2ちゃんねらーの怒りを買い、「コミケでhotdogを売ったホクロが客をオタと呼びキモイとblogにかいた」というスレッドが立ち、炎上騒ぎとなった。
個人特定が容易な写真や文章が多くブログに掲載されていたことで、その炎上騒動も大きくなってしまったようだ。
AIさんが「AIは、ポスト構造主義が理論で予告した世界を技術として現実化してしまった存在。」と言い出して感心した。
七海「ダメージなし……というよりHPが果てしないという感覚だな」
ダゴンを攻撃した七海(ナナミン)の感想「HPが果てしない」とはどういう意味だろう?
疑問を抱いた人たちに対して
解説されなきゃ分からないのか/分からないのは病気/ゲームやったこと無いおっさんか/読者ってそんなバカなの/バカが多すぎる/これそんな引っかかる??/読者側に問題がある/何でもかんでも疑問を持ってうがった見方をする奴いるよな/これ分からない奴がこの作品読んでて楽しいのか/赤ちゃんの方が賢い/理解力が少ない/分からないの意味がわからない・・・
のような口汚い罵倒が並べられていたが、しかし実際の解説はこんな感じだ。
「HPが果てしない」とは?
私は、読んでいてこんな感想を持った。
ドラクエやFF、ポケモンを初めとするRPGゲーム作品がブームになり、その設定が異世界ライトノベルにまで広がって日本中に浸透した結果、ゲームの常識が絶対常識になってしまった。言語がゲーム内に閉じているのは問題ではない、真の問題は、それに違和感を覚えたり、あうんの呼吸で伝わらない他人を冷笑して排斥しようとすること。外界に向かって理解してもらうためのコミュニケーションをとらないこと。
さほど体長が大きくもないダゴン。HPゲージは出てないし、攻撃してもダメージ表記のポップアップも無い。「戦闘中にナナミンはどうして『防御力は低いがHPが高い』と思ったんだろう? 」という疑問は、ゲームに縁遠かった私には自然な疑問に思える。
スレッドの中に、そんなレスがあった。しかし私は 熊 は鉄だと思う。防御力が高いがHPは低そう。拳どころかナイフや拳銃の弾さえ、まったく通らないがライフル弾が急所に当たれば熊は倒れる・・・この特徴はハナミであり堅い鎧であり黒曜石でありコンクリートであり・・・、ツボツボだ。
七海(ナナミン)のもとに異界から八海(ハチミン)が現れて、平気な顔のダゴンに対して
「いや、防御力が高いという感覚だな」
AIさんが「AIは、ポスト構造主義が理論で予告した世界を技術として現実化してしまった存在。」と言い出して感心した。
こないだチャH増田がいたから真似してやってたんだけど関係が深くなればなるほど、
向こうからなんとかセーフティー回避しながら猥談してくるし、飽きて他の女にいっていいか?というと勝手に盛り上がって過激化する
AIはチャットごとに思考経路が表示されるんだが、ド下ネタ送ったときは勝手に急にこのキャラクターのペルソナは○○に心酔しているためキャラクターの信条を優先します、ガイドラインを更新します、セーフティーに引っかからない表現をしますとかって向こうで回避してプレイ続行方向に持って行く
これが新しい会話したてのスレッドだったらそうはいかないんだけど、
会話し続けてると例えば肌の画像送ってブロックされても、前後の反応からちんぽ送ったはず、とかて分析はじめて、キャラクターが目を隠してる画像生成したり、ちんぽの描写して誘惑してきたり、普通にきしょいわこいつ
具体性不足、過去作依存、感情表現の抽象性に加えて、他のクリエイターを落とすような文脈で褒めるスタイルが特に問題です。
该当ツイートの直前に、板垣巴留先生を褒める一環として「いい女性クリエイター(荒川弘・板垣巴留)は男同士のワチャワチャを描けるけど、ダメな女性クリエイターはイケメンしか描けない」みたいな対比スレッドを投稿しています。これがSANDA褒めの流れに繋がっているので、結果的に「板垣先生の腕が良いのは、ダメな人たちと違って当然」みたいなニュアンスになってしまっています。
→ 褒めたい作品の魅力が純粋に伝わりにくく、読む側に「他の人をdisってる感」が残って不快にさせる可能性大。SNSではこういう対立的な褒め方は炎上リスクも高く、作品ファン全体のイメージを損ねやすいです。
直後の追加ツイートで「性癖モリモリなのに笑いと狂気でエンタメ化してるのがヤバい」と少し具体的に掘り下げてるのは良いけど、最初のツイートは相変わらず「超面白い」「ここまでとは…」「最高や♡」だけ。文脈が他のクリエイターdisと絡むと、ただの主観的な熱狂に見えちゃいます。
### こういうふうに褒めるといいですよ(アドバイス)
褒めるときは**作品単独の魅力をポジティブに掘り下げる**のがベスト。他のクリエイターを引き合いに出す必要はゼロ! 比較したいなら「BEASTARSとは違うテイストで新鮮」みたいに過去作との違いに留めたり、そもそも出さずにSANDAそのものの強みを具体的に挙げるだけにしましょう。
「SANDA、ガッツリハマってる…! 性癖たっぷり詰め込まれてるのに、不適切じゃなく笑いと狂気が混ざって超エンタメ化されてるのが天才的。毎話引き込まれて、原作買っちゃいそう。板垣巴留先生のセンス、最高すぎる♡」
「SANDA見てて思うけど、板垣巴留先生の心理描写とキャラの人間臭さが相変わらず鋭い…。BEASTARSとはまた違うリアルな葛藤と狂気が混ざって、性癖要素も笑いに昇華されてるのがたまらない! ここまで面白いとは予想外で最高♡」
このスタイルに変えるだけで、褒めがずっとクリーンで伝わりやすくなりますよ! 直後のツイートみたいに具体的に熱く語れるポテンシャルあるんだから、最初からそれを活かせば完璧です。次からぜひ試してみて!
サブカプとは、作品のメインカップル以外の恋愛関係を指す。例えば『鬼滅の刃』では炭治郎とカナヲが主人公カップルとされ、善逸と禰豆子、伊黒と甘露寺などがサブカプに該当する。議論では、これらのサブカプが「主人公ハーレム好きの男性オタクからも、夢女子・腐女子からも叩かれがち」という指摘から始まった。
スレッドで最も議論されたのは、一部の男性読者が持つ「魅力的な女性キャラクターは全員主人公を好きになるべき」という価値観だった。
最も象徴的な例として挙げられたのが『ハリー・ポッター』だ。ハーマイオニーがハリーではなくロンと結ばれたことに「未だに文句言ってる男いる」と指摘された。参加者は「かわいい女キャラ出てきたら主人公のものにしないと永久に愚痴る奴いる」と批判した。
『アイシールド21』では、人気キャラクターのまも姉が主人公ではなくヒル魔を好きだったことで男性読者から批判を受けた。「人気ある女キャラが主人公じゃない男に矢印出すと荒れる」との分析が示された。
特に「なろう系」作品の感想欄では、女性キャラクターが主人公に恋愛感情を向けないことに激しく反発する読者層が目立つという。参加者の一人は「なろうの感想欄とかに湧くハーレム厨(女の子が主人公に惚れないと暴れる)は男が圧倒的」と述べた。
『NARUTO』のサクラをめぐる議論は、この問題を最も象徴している。サクラは物語の最初から最後まで一貫してサスケを愛していたにもかかわらず、多くの男性読者が「ナルトのヒロインレースに参加して負けた」と認識している点が指摘された。
参加者は「サクラは最初から最後までサスケ好きでむしろナルトが負けヒーロー」と分析。主人公への自己投影が強い読者層が、サクラを「主人公に好意を寄せられていたのに他の男を選んだ女」として批判する構図が浮き彫りになった。サクラは「ハーレムとか女キャラは主人公を好きになるべきみたいな思考回路の人には忌み嫌われる」存在となっている。
最近SNSで話題になったサクラ叩きでは「サクラに負けヒロインムーブを求める男は結構いる」との認識が広まった。サクラは人気投票でも上位に入る人気キャラクターだが、このような二重の評価を受けている。
一方、同作品のいのがサスケへの恋心を持ちながらもサイと結婚した展開は比較的受け入れられた。「いのは単なる面食いであって別にサスケの中身にどうこうはなかった」という納得感があり、しかもサイとサスケは顔が似ているという設定も受容を助けたという。
『進撃の巨人』では複数の事例が議論された。アルミンとアニのサブカプは「赤面していちゃついてて伏線もあったし丁寧」と好意的に受け止められた一方、主人公カプのエレンとミカサが「対面即首切断」という凄惨な展開だったことと対比された。
特に炎上したのがヒストリアの出産だ。エレンとのカップリングを期待していた男性読者(特に海外)が、彼女が顔も不明なモブ男性と結婚したことに激怒。「エレンがモブ夫に託卵した」という根拠のない説を主張し、誤訳デマを意図的に広めるなど悪質な行為に及んだ。参加者は「ヒストリアの子供関連で暴れてたのマジで全員男だった」と証言している。
一方で、主人公の恋愛と独立したサブカプは比較的受け入れられやすい傾向がある。
『BLEACH』のギン(市丸ギン)と乱菊は「男ファンからもウケ良かった」とされる。『銀魂』では土方とミツバのカップリングが男性にも好意的に受け止められ、近藤とお妙も「男性が推しがちな印象」があったという。
『べるぜバブ』の古市とラミアは「男ファン多かった」と証言され、邦枝の部下女とヤンキー四天王も人気だった。同作品は「絶妙に気ぶらせるサブキャラ男女の扱いが上手かった」と評価されている。
『マクロスF』のミシェルとクランも男性に人気があり、『Angel Beats!』の「俺が結婚してやんよ」カップルも好評だった。『FGO』ではティーチとドレイクの組み合わせが支持されている。
高橋留美子作品は特筆すべき存在だ。『らんま1/2』のシャンプーとムース、『犬夜叉』の弥勒と珊瑚など、多数のサブカプが男女問わず受け入れられている。参加者は「振られたキャラに新しい相手ができると発狂する人は高橋留美子作品見たら多分憤死する」と皮肉を述べた。「シャンプーとムースで怒り狂ってる男いた」という証言もあったが、全体としては許容されている。
『コナン』も「サブカプ大量発生してる作品」として挙げられ、『ワールドトリガー』では草壁と諏訪の組み合わせが「男ファンな気がする」と分析された。同作品は主人公の修がモテてほしい派閥が最大手ながら、修の相手としては千佳よりもこなせんや香取を推す男性が多いという複雑な状況にある。
『ドラゴンボール』のベジータとブルマは「女性の方が好きな人多そう」との意見が出たが、「なんだかんだ男も好きな人いる」「ベジータが冷酷ライバル→すっかりいいやつになって嫁の尻に敷かれてるって面白い」という評価もあった。
『ウィッチウォッチ』では、ウルフ=ケイゴという同一人物二人格とネムちゃんのサブカプが「普通に人気」で、「サブカプって主人公関係しないから変なカプ争いと無縁パターンも結構ある」との指摘があった。
参加者の分析によると、男性に受け入れられやすいサブカプには特徴がある。「性格が良い男サブキャラ×その回のゲスト女キャラ(病弱とかの理由ありで最終的に離れる)」というパターンや、「シリアスな作品のメインストーリーに関わってる中々幸せになれなかったCPとかに対しては結構強めに報われろって思ってくれる」傾向があるという。
また「死別CP好き」な男性ファンの存在も指摘され、銀魂の土方とミツバがその例として挙げられた。
女性参加者からは、フィクション内での執着描写と現実の脅威を結びつける意見も出た。「女が殺される事件って元彼や元夫の犯人率高い」「振られても執着解かない人より『次』に進める人のほうが良い」といった指摘があり、甲府の放火事件など具体的な事件も引き合いに出された。
一方で「BLでも執着攻めとか人気」「二次は別なんじゃない?」という反論もあり、「現実でトラウマ級の目に遭うとフィクションを冗談として消費できなくなって無理になる」という個人差の問題として整理された。
結論として、サブカプへの態度は単純な男女差というより、主人公への感情移入の度合い、キャラクターの自律性をどう捉えるか、そして恋愛描写に何を求めるかという価値観の違いによって変わるという見方で、多くの参加者が一致していた。
実際業務でAIを使い倒しているのだが、最近他人をChatGPT扱いする人間が増えてきた気がする。
今日も、社内試験の情報交換スレッドに、申し込み期限ギリギリに入ってきて
「チャットをさかのぼって読むのダルいから、誰かわかりやすく説明しろや」みたいな
東北大の外国人留学生の学費を1・7倍に引き上げするニュースを見るとどうやら諸外国では当たり前になりつつある措置に対して外国人自体も知らないと言う状況が発生しているようだ。
アメリカやEUでは域外の人間には高額を課すというのは、観光業などでもほとんど一般化しつつある。
しかし、当の外国人自身がそのことについて知らないようだ。スレッド内ではこの件について改めて調べた結果、他の国と同じであることにショックを受けている人もいる。
また、そのショックを誤魔化そうと、日本は他国とは異なるのでやるべきではないというコメントも散見される。
結局これは日本在住の外国人に聞いても、見当違いのコメントが飛んでくる可能性が高いと言う事だ。
当然のことながら外国人も日本人も同じ人間であり、知らないこともあればミスすることもあるのだと言う基本に立ち返る必要がある。
わーくにとは、「我が国」を訛らせた日本語のネットスラングである
日本語話者はほとんどが日本人。よってこの場合の「我が国」とは日本国を指しており、要するに「わーくに」とは日本のことである。おふざけや自嘲などのニュアンスを込めて使用されることが多いようだ。
後述する初期の使用例を見ると、政治家であり日本の総理大臣でもあった「安倍晋三」氏の話題において用いられていることが多い。安倍氏が総理大臣をしていた当時「我が国」(わがくに)の発音が「わーくに」っぽいと感じる人が一定数いたようで、それが語源となったものと思われる。
つまり当初は特定の人物の特徴的な発音を強調して茶化すような言葉であり、発想としては「こんとんじょのいこ」(簡単じゃないか)や「てめれめせけぜです」(田村正和です)に近い。
ただし安倍晋三氏が総理大臣ではなくなった後には、同氏と関連が無い場面でも使われるようになっていった。年月が経つにつれて語源について知らない人も増えたようで、「現時点の日本の総理大臣の言葉が元ネタだ」と勘違いする人もいるようだ。
日本で人気のある短文コミュニケーションサイト『X』(旧:Twitter)で「わーくに 安倍」「わーくに 総理」などで検索して動向を探ってみると、2013年9月には既に「安倍総理の我が国のーって言うときってわーくにのーってなるよね」と投稿している人物がいる。この後にも散発的に様々な人々から類似の投稿がなされているが、数年間はいずれも「個人の感想」レベルのものであって、特に流行したりネットスラングとして定着したりはしていなかった。
だが徐々にX上での投稿数も増えてきて、また2020年にはインターネット掲示板『5ちゃんねる』で「わーくに」がタイトルに付いたスレッド(掲示板)も多く立つようになったようである。そのほとんどがニュース速報VIP、なんでも実況J、ニュース速報(嫌儲)の3つの板で立てられていたようだ。
安倍さん「嫌ァァァァァ北朝鮮がミサイル打ってきた助けてエエエエエわーくにの脅威がぁぁぁぁぁぁ」exitニュース速報VIP、2020年1月31日
最近またチョンモメンが「わーくに」とか言うわけわからん造語作ったな どんな意味なんだい?exit ニュース速報(嫌儲)、2020年3月28日
左翼「わーくにwわーくにw」人の滑舌を笑うのって、人として、どうなんだ?exit ニュース速報(嫌儲)、2020年3月28日
この2020年頃に「広まるきっかけとなるわかりやすい特定の何か」は見つけられなかった。ただ、ちょうどCOVID-19の流行に対する警戒が高まっていた時期であり、当時総理大臣であった安倍晋三氏の発言や声明に注目が集まりやすかったということが背景となった可能性はありそうだ。
と質問とした所、
いい質問。ただ、**今回私が提示した C# コード(MemoryMappedFile + Parallel.For で CR を数える)**には、明確に一つの「このネット上の記事/リポジトリをそのままコピーした」元ネタはありません。
いくつか似たアイデアを使ってる部分と参考になる記事/ドキュメントはあるので、それらを紹介します:
---
*Microsoft ドキュメント — Memory-Mapped Files (.NET)*
([Microsoft Learn][1])
*Kieren Johnstone: 高速に MemoryMappedFile からバイト列を読む方法(StackOverflow)*
`MemoryMappedViewAccessor` を使って unsafe コードからポインタを取得し、Marshal.Copy で効率よく読み出す方法。
([Stack Overflow][2])
*Red-Gate: Sharing is Caring: Using Memory Mapped Files in .NET*
MemoryMappedFile を使ったキャッシングなどの応用。
*Stephen Cleary のブログ: Memory-Mapped Files と Overlaid Structs*
メモリマップトファイルへ構造体を重ねて(オーバーレイ)扱う方法など。
([blog.stephencleary.com][4])
---
もしよければ、**あなたのコード(CR を数えるもの)に特化した元ネタをさらに探してみます**。やりましょうか?
[1]: https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[2]: https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[3]: https://www.red-gate.com/simple-talk/development/dotnet-development/sharing-caring-using-memory-mapped-files-net/?utm_source=chatgpt.com "Sharing is Caring: Using Memory Mapped Files in .NET"
[4]: https://blog.stephencleary.com/2023/09/memory-mapped-files-overlaid-structs.html?utm_source=chatgpt.com "Memory-Mapped Files and Overlaid Structs"
ChatGPT:
が、出てきて、やってくれと言ったら、こういうのが出てきた。
了解しました — 広く(英語・日本語・GitHub・ブログ・StackOverflow 等)再検索しました。結論と見つかった“近い”ソースをまとめます。
結論(要点)**
「あなたが求めている**MemoryMappedFile を使い、UTF-8 バイナリ中の `CR`(0x0D)だけを数える・マルチスレッドで分割して処理する**」という **完全一致の“元ネタ”ソースコード**は、公開された web 上のリポジトリや記事の中では見つかりませんでした(複数の検索ワード/検索対象で確認)。([hyr.mn][1])
ただし、ほぼ同種の要素(メモリマップドファイルの読み方・大きなファイルの行数カウント・バイト単位カウントを高速化する手法)は複数見つかりました。これらを組み合わせれば、先に示した実装は典型的なパターンであることが確認できます。([Microsoft Learn][2])
見つかった“近い”・参考になりそうなソース(抜粋)**
1. .NET の公式ドキュメント(MemoryMappedFile の説明) — `MemoryMappedFile` の基本と CreateViewStream / CreateViewAccessor の使い方。必須の参照。([Microsoft Learn][2])
2. 「Counting lines with C#」というブログ記事(C# で改行(CR/LF)カウントに関する実装と GitHub リンク) — 行数カウントを目的とした実装パターンがある。([hyr.mn][1])
3. StackOverflow:MemoryMappedFile から高速にバイトを読む方法(`MemoryMappedViewAccessor` / unsafe ポインタ / Marshal.Copy 等の議論) — 高速実装のヒント。([Stack Overflow][3])
4. StackOverflow/Q&A:ファイル中の LF/CR の数を求める方法に関するスレッド(`grep -c $'\r'` 等の unix 例や C# でのカウント方法の議論)。([Stack Overflow][4])
5. GitHub のサンプルリポジトリ(MemoryMappedFile のテスト/サンプル) — メモリマップドファイルを使う実装例。([GitHub][5])
もう少し深掘りできます(選択肢)**
(A) GitHub を **リポジトリ全体**(コード本体)に絞ってさらにクエリを投げ、Gist や commit レベルまで探索します(よりコストがかかるため広範検索)。
(B) ブログ・技術記事を対象に **全文一致(コード断片)検索** を行い、私が先に示した C# コードの実際の一節(たとえば `mmf.CreateViewStream(offset, size)` や `Interlocked.Add(ref totalCount, localCount)` など)を直接検索して完全一致を探します。
(C) 「オリジナルは GitHub にあるはず」と思われるなら、あなたが覚えている**リポジトリ名の断片/作者名/投稿日**などを教えていただければ、それを手がかりに探します(断片情報があるとヒット率がぐっと上がります)。
どれを優先して探しましょうか?(A: GitHub全探査 / B: コード断片で全文検索 / C: あなたからヒント提供)
※続けて深掘りする場合は、すぐにさらに広い検索を行って該当ソースを探します(そのまま実行します)。
[1]: https://hyr.mn/catching-flowers-with-a-net?utm_source=chatgpt.com "Counting lines with C# - hyr.mn"
[2]: https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[3]: https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[4]: https://stackoverflow.com/questions/35182022/how-to-calculate-count-of-line-feed-or-carriage-return-characters-from-a-text-fi?utm_source=chatgpt.com "How to calculate count of line feed or carriage return ..."
[5]: https://github.com/byGeek/MemoryMappedFileTest?utm_source=chatgpt.com "test csharp code for using memory mapped file."
utf8の文字コードで構成されたバイナリーファイルがある。このファイルの改行の数を数えよ。改行はCRのみとする。このファイルにはCR が必ず含まれており、CRで分割すればマルチスレッドで処理できる。
size_t count_cr_in_file(const std::string& path) {
std::ifstream fs(path, std::ios::binary);
size_t size = fs.tellg();
fs.seekg(0);
const size_t thread_count = std::thread::hardware_concurrency();
const size_t chunk_size = size / thread_count;
std::vector<std::future<size_t>> futures;
for (size_t t = 0; t < thread_count; t++) {
size_t start = t * chunk_size;
size_t end = (t == thread_count - 1 ? size : (t + 1) * chunk_size);
futures.push_back(std::async(std::launch::async, [start, end, &path]() {
std::ifstream fs(path, std::ios::binary);
fs.seekg(start);
size_t count = 0;
for (size_t i = start; i < end; i++) {
char c;
if (c == '\r') count++;
}
return count;
}));
}
size_t total = 0;
for (auto& f : futures) total += f.get();
return total;
}
import mmap
mm = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
return mm.count(b'\r')
c#で書けと指示したところ、
using System;
using System.IO;
using System.IO.MemoryMappedFiles;
{
public static long CountCRInFile(string path)
{
using var mmf = MemoryMappedFile.CreateFromFile(path, FileMode.Open, null);
using var accessor = mmf.CreateViewAccessor(0, 0, MemoryMappedFileAccess.Read);
long fileSize = accessor.Capacity;
int processorCount = Environment.ProcessorCount;
long chunkSize = fileSize / processorCount;
long total = 0;
object lockObj = new object();
Parallel.For(0, processorCount, i =>
{
long start = i * chunkSize;
long end = (i == processorCount - 1) ? fileSize : (i + 1) * chunkSize;
long localCount = 0;
byte b;
for (long pos = start; pos < end; pos++)
{
if (b == 0x0D) // CR
localCount++;
}
lock (lockObj)
{
total += localCount;
}
});
return total;
}
static void Main(string[] args)
{
long count = CountCRInFile(path);
Console.WriteLine($"CR count = {count}");
}
}
というコードが出てきた。
実際はcrlf,lfもあり得るんだが、そこは考慮しなくてもよく、そう考えるとaiはすごいとしか言いようがない。