Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録
< anond:20251122100404 |anond:20251122100541 >

2025-11-22

anond:20251122095000

これらのコード元ネタwebにあるはずなので出せ。

質問とした所、

いい質問。ただ、**今回私が提示したC#コード(MemoryMappedFile + Parallel.For でCR を数える)**には、明確に一つの「このネット上の記事リポジトリをそのままコピーした」元ネタはありません。

いくつか似たアイデアを使ってる部分と参考になる記事ドキュメントはあるので、それらを紹介します:

---

## 🔍 関連しそうな参考記事サイト

*Microsoftドキュメント — Memory-Mapped Files (.NET)*

 メモリマップファイル基本的な使い方が説明されている。

 ([Microsoft Learn][1])

*Kieren Johnstone: 高速に MemoryMappedFileからバイト列を読む方法(StackOverflow)*

 `MemoryMappedViewAccessor` を使って unsafeコードからポインタを取得し、Marshal.Copy で効率よく読み出す方法

 ([StackOverflow][2])

*Red-Gate: Sharingis Caring: Using Memory Mapped Files in .NET*

 MemoryMappedFile を使ったキャッシングなどの応用。

 ([RedgateSoftware][3])

*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 "Sharingis 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. 「Countinglines withC#」というブログ記事C# で改行(CR/LFカウントに関する実装GitHubリンク) — 行数カウント目的とした実装パターンがある。([hyr.mn][1])

3. StackOverflow:MemoryMappedFileから高速にバイトを読む方法(`MemoryMappedViewAccessor` / unsafeポインタ / Marshal.Copy 等の議論) — 高速実装のヒント。([StackOverflow][3])

4. StackOverflow/Q&amp;A:ファイル中のLF/CR の数を求める方法に関するスレッド(`grep -c $'\r'` 等のunix 例やC# でのカウント方法議論)。([StackOverflow][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 "Countinglines withC# - 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 ofline feed or carriage return ..."

[5]:https://github.com/byGeek/MemoryMappedFileTest?utm_source=chatgpt.com "test csharp code for using memory mapped file."

がでてきたので、どうもstackoverflowgistMSDN元ネタのようだ

Permalink |記事への反応(1) | 10:08

このエントリーをはてなブックマークに追加ツイートシェア

記事への反応 -
  • utf8の文字コードで構成されたバイナリーファイルがある。このファイルの改行の数を数えよ。改行はCRのみとする。このファイルにはCR が必ず含まれており、CRで分割すればマルチスレ...

    • これらのコードの元ネタがwebにあるはずなので出せ。 と質問とした所、 いい質問。ただ、**今回私が提示した C# コード(MemoryMappedFile + Parallel.For で CR を数える)**には、明確に一つ...

      • なお、最近のaiは元ネタをそのままパクるのは良くないと学習したのか。どうしてそういうことができるのか聞いたところ、 率直に答えます。 --- # 🎯 **なぜ「元ネタを探す」依頼...

        • で?

        • このAI、「きゅむむ。きゅむきゅむ」の意味も答えられないのに、こういうことはある程度答えられるんだな。 ※「きゅむむ。きゅむきゅむ」はネットでも使用例がなく、あったとして...

          • クパァとかツーツーれろれろとかふんぐるいとかは答えられるのにね

    • 大体動くけどなぜかときどき間違えるんだよね・・・

記事への反応(ブックマークコメント)

全てのコメントを見る

人気エントリ

注目エントリ

ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp