並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 402件

新着順 人気順

memoryの検索結果121 - 160 件 / 402件

  • Intelがメモリ標準化で主導権を失うに至った“やらかし”について

    Intelがメモリ標準化で主導権を失うに至った“やらかし”について:“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(1/3 ページ) 昔ながらのIBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流からたどっていく連載。第13回のトピックは、メモリ標準化の話。ここでIntelは大きな失策をやらかす。 第1回:“PC”の定義は何か まずはIBM PC登場以前のお話から 第2回:「IBM PC」がやってきた エストリッジ、シュタゲ、そして互換機の台頭 第3回:PCから“IBM”が外れるまで 「IBM PC」からただの「PC」へ 第4回:EISAの出現とISAバスの確立 PC標準化への道 第5回:VL-Bus登場前夜 GUIの要求と高精細ビデオカードの

      Intelがメモリ標準化で主導権を失うに至った“やらかし”について
    • メモリアクセスのセマンティクスとApple siliconの裏技(?)について - yamasaのネタ帳

      アウト・オブ・オーダー実行について補足 前回の記事で「アウト・オブ・オーダー実行」について特に説明せずに話を進めてしまったことに気づいたので、まずはそれについて簡単に補足しておこう。 コンピューターの性能向上の歴史はレイテンシーとの戦いの歴史でもある。 colin-scott.github.io 上のサイトは年代毎にコンピューターシステムでの各種レイテンシーがどのように変化していったかを紹介している。1990年代前半はキャッシュメモリとメインメモリとの間のレイテンシー差はそれほど大きくなかったが、その後の技術革新によって現在はL1キャッシュとメインメモリとの間に100倍くらいのレイテンシー差があるようになってしまった。これはつまり、プログラム実行中にメインメモリへのアクセスが発生してしまうと、それだけ長いレイテンシーの間CPUの処理を進めることができなくなってしまうことを意味する。そのため

        メモリアクセスのセマンティクスとApple siliconの裏技(?)について - yamasaのネタ帳
      • 不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita

        はじめに この記事は Fujitsu Advent Calendar 2021 25日目の記事です。(記事は個人の見解であり、組織を代表するものではありません。) さて、今年もこれまでと同じく不揮発メモリの記事を書きます。今回は以下の内容です。 不揮発メモリ周りの規格・新仕様(CXL, RDMA) メモリ不足時の不揮発メモリの活用 Filesystem-DAXの動向 不揮発メモリ周りの規格・新仕様 今年は規格回りでいくつか新仕様が策定されています。まずは、それらについてざっくりと解説していきましょう。 CXLの不揮発メモリ対応 これまではNVDIMM、すなわちDRAMと同じようにCPU中のメモリコントローラからDDR4で直接つながるデバイスであった不揮発メモリですが、ここへきて新たな接続方法が追加されようとしています。それがCompute Express Link(CXL)です。 コンピュ

          不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita
        • 「あなたの一番古い記憶は?」人は覚えていても2歳以前の記憶にアクセスできなくなっている - ナゾロジー

          皆さんが思い出せる最も古い記憶はいつ頃のものでしょうか。 稀に「母親の胎内にいたときを覚えている」という方もいますが、ほとんどの人は2〜3歳以降のことだと思います。 このように人生初期(0〜3歳頃)の記憶が抜け落ちている現象を「幼児期健忘(infantile amnesia)」といいます。 ただ、最近の研究では人間の自意識は4カ月頃から発達すると報告されており、ほとんどの人が2〜3歳以前の記憶を思い出せない理由はよく分かっていませんでした。 この疑問に対して、アイルランド・ダブリン大学トリニティ・カレッジ(TCD)の研究チームは、私たちが人生初期の記憶を喪失しているわけではなく、アクセスできない状態になっているだけである可能性を示唆する研究結果を報告しています。 さらに驚くべきことに、幼年期の記憶にフタがされるかされないかは、妊娠中の母親の免疫反応に大きな要因があったといいます。 研究の詳

            「あなたの一番古い記憶は?」人は覚えていても2歳以前の記憶にアクセスできなくなっている - ナゾロジー
          • 容量偽装USBメモリ検出アプリ『ValiDrive』が登場。偽物かどうかを簡単に判別 | ニッチなPCゲーマーの環境構築Z

            容量を偽装した偽物の大容量USBメモリを検出するフリーソフト・アプリ『ValiDrive』が登場しました。 『ValiDrive』がどういったものか、制作者のGibson Research Corporationは以下のように述べています。 私は格安で売られていた1TBおよび2TBのUSBメモリを12台購入しました。しかし、そのすべてが容量を偽装した偽物でした。 偽物のUSBメモリはPC上では1TBおよび2TBとして認識されます。しかし、実際には64GBしかありませんでした。使用量が64GBを超えると、新しいファイルは保存されなくなります。PC上ではファイルが存在するように見えますが、ストレージ上には存在しないためファイルを開いても中身は空っぽです。 ValiDriveは、こういった容量を偽装したUSBメモリを見分けるために、ストレージスペース全体にわたってランダムな検査を実行します。 購

              容量偽装USBメモリ検出アプリ『ValiDrive』が登場。偽物かどうかを簡単に判別 | ニッチなPCゲーマーの環境構築Z
            • 多コピーの原罪

              Rust 分かんないッピ ・ε・ Rust の文字列周りのプラクティスを基礎から勉強してみようと思って勉強したのでそのときのメモをまとめます。 Rust は GC を持たない なぜ Rust の文字列周りの型があんなに大変なことになっているかは、Rust のメモリモデルと Copy の仕組みを学ぶことで理解できた気がしたので、メモリの話から始めます。 FYI: https://www.reddit.com/r/rustjerk/comments/ovx0uq/the_two_major_ways_rust_changed_my_life/ GC とは まずは GC からです。 GC とは Wikipedia をそのまま引用すると ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に

                多コピーの原罪
              • 「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ

                最近「おれってガベージコレクションを勉強するにあたってめちゃくちゃ恵まれた環境にあるのでは?」とふと思い立ち、ベージコレクションの勉強を始めました。 ガベージコレクションの勉強を始めるにあたって、とりあえず「The Garbage Collection Handbook (first edition)」の邦訳である「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読むことにしました。 この記事では、読み終わってうれしいので、雑に感想を書きなぐっています。表記が「GC」だったり「ガベージコレクション」だったりするのは雑に書いたからです。 前提知識 ガベージコレクションの事前知識はほとんど不要で、何をしてくれるものか大まかにわかっていれば良い程度だと思います。つまり、ヒープに確保した領域を明示的に解放しなくても、何かのアルゴリズムでいい感じにやってくれる仕組み、ということを知って

                  「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ
                • PHP7.4 ぼくのかんがえたさいきょうのphp.ini - Qiita

                  ストーリー PHPをインストールしたら必ず行う php.ini の設定ですが、 ネット上ではPHP5系の情報がたくさん出回っており、非推奨または削除された設定例が数多く困り果てていました。 良い感じにまとめてくれてるサイトが見つからなかったので、最強でベストプラクティスな php.ini 推奨設定を考えました。 異論は受け付けますので、ぜひコメントください。 参考設定 PHPでは、開発用と本番用の設定例を用意してくれています。 なんと素晴らしいことなんでしょうか。これをベースに設定します。 https://github.com/php/php-src/blob/master/php.ini-development https://github.com/php/php-src/blob/master/php.ini-production 予め以前の記事で設定の差分を調べておきましたので、よか

                    PHP7.4 ぼくのかんがえたさいきょうのphp.ini - Qiita
                  • 不揮発性メモリでのデータベース処理最適化 〜 ヤフーにおけるデータベース技術の研究開発

                    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! ヤフーでデータベースエンジニアをしている松浦です。 インターネットサービスを作る上で、そのデータの保持・管理を担うデータベースは重要なソフトウエアコンポーネントですが、今回のTech Blogでは、ヤフーにおけるデータベース技術の研究開発についてのお話をします。 ヤフー社内では、さまざまなデータベースを運用していますが、そのデータベースを最新のハードウエアに対応させる研究開発を行っています。 具体的には、不揮発性メモリを有効に活用するMySQLのストレージエンジン「Leo」の開発に取り組んでいます。 本日は、Leoについて簡単にご紹介をします。 不揮発性メモリとは? まず、前段として、Leoのお話をする前に、不揮発性

                      不揮発性メモリでのデータベース処理最適化 〜 ヤフーにおけるデータベース技術の研究開発
                    • WebAssembly と JavaScript との間で自在にデータをやりとりする

                      はじめに 引き続き Rust + WebAssembly + SolidJS で遊んでいます。前回は、Rust 側で作成した文字列を JavaScript 側で console.log に出力することを考えましたが、今回は JavaScript 側から何らかのデータを Rust 側へ渡すことを考えたいと思います。今回も、wasm-bindgen[1] に頼らずにやっていきましょう。 メモリの確保と管理 WebAssembly のメモリ空間は、シンプルな Linear Memory(線形メモリ)になっています。Rust と JavaScript との間で、「プリミティブな数値型」より大きなデータをやりとりするためには、この Linear Memory 上にデータを配置するのが良さそうです[2]。 単一のメモリバッファの確保 メモリの確保は Rust 側で実施します。線形メモリ上には WebA

                        WebAssembly と JavaScript との間で自在にデータをやりとりする
                      • Go 製ソフトウェアでメモリ使用量の多い関数を特定する - Cybozu Inside Out | サイボウズエンジニアのブログ

                        みなさんこんにちは.SRE チームの内田(@uchan_nos)です. この記事では Go 製ソフトウェアのどの関数がどれだけメモリを消費しているかを調べる方法を説明します. Go 製ソフトウェアのヒープメモリの消費量を調べる方法はたくさん解説されているものの,スタックメモリの消費量について調べる方法を説明したサイトを見つけることはできませんでした. この記事では主にスタックメモリの消費量を調べる方法を説明します. 背景 SRE では Go 言語で自社データセンター向けのツール群をたくさん作っています. その中のソフトウェアの 1 つが,本番運用中に予想外にたくさんのメモリを使用してしまうという問題がありました. どの関数が原因なのかを突き止めるために,関数単位でメモリ使用量を調べる必要があります. ソフトウェアが使っているメモリ量の概況は,Linux であれば top コマンドで調べるこ

                          Go 製ソフトウェアでメモリ使用量の多い関数を特定する - Cybozu Inside Out | サイボウズエンジニアのブログ
                        • memlab を使って Web サイトのメモリリークを検出しよう

                          概要 本記事は、メタ社(旧 FaceBook) が開発した OSS であるメモリリーク検知ツールである [memlab] をさっそく試してみた記録になります。 公式ドキュメント以上の付加価値はあまりありませんが、ざっくりと雰囲気を掴んでもらって使用を検討して頂ければ幸いです。 memlabについて memlab は、 Puppeteer API を用いたシナリオを作成することで、そのシナリオ実行によって発生するメモリリークの検出及びヒープ領域の分析を補助してくれるツールです。 本記事は実際に動かすところに重きを置くので、ツールの背景などの詳細は以下記事を参照ください。 ざっくり言うと、 memlab では以下のことが行なえます。 Puppeteer ベースでの宣言的なシナリオの作成 ヒープ領域とメモリリークの可視化 シナリオ内でのヒープのスナップショットの自動取得 スナップショットの解析と

                            memlab を使って Web サイトのメモリリークを検出しよう
                          • Windows Subsystem for Linux 2のメモリ管理を詳しく見る (1/2)

                            現在プレビュー中の20H1のビルド19013から、WSL2(Windows Subsystem for Linux 2)は、一旦確保したメモリでも不要になれば、きちんとWin32に返すようになった。今回はこのあたりを調べてみる。 WSL2におけるメモリ割り当て WSL2は、軽量ユーティリティ仮想マシン(Light Weight Utility Virtual Machine:以下、LWUVM)内で動作している。このため、ホストとなるWindows 10のメモリの一部を利用する。ただし、メモリ割り当ては、Hyper-Vでいう動的メモリ割り当てであり、上限を決めるものの、実際に使っている分のみを確保して、必要になれば上限までメモリを確保しようとする。 この上限は、WSL2側からは「実装メモリ量」のように見える。デフォルトでは、PC側のメモリの75%をWSL2の上限として割り当てているようだ。た

                              Windows Subsystem for Linux 2のメモリ管理を詳しく見る (1/2)
                            • Slab キャッシュの使用量が増加した原因を SystemTap で調査した [DeNA インフラ SRE] | BLOG - DeNA Engineering

                              2022.07.28 技術記事 Slab キャッシュの使用量が増加した原因を SystemTap で調査した [DeNA インフラ SRE] by Hidetaka Masuda #infrastructure #sre #troubleshooting #stateless-server #iaas #game-infrastructure #infra-quality IT 基盤部の増田です。新卒2年目で業務では主にモバゲーや社内向け SaaS のインフラ運用を行っています。 本記事ではサーバーのメモリ使用量増加の原因を SystemTap で調査したときの話を紹介します。 この記事を通して、手掛かりを元に少しずつ核心に近づいていく、謎解きゲームのような楽しさを感じていただければと思います。 問題発生 調査を開始したきっかけは、サーバーのメモリ使用量増加のアラートが頻繁に鳴るようになっ

                                Slab キャッシュの使用量が増加した原因を SystemTap で調査した [DeNA インフラ SRE] | BLOG - DeNA Engineering
                              • x86上のLinuxとFreeBSDにおいて、メモリキャッシュを無効にするカーネルモジュールを書いた話 - alphakai’s tech blog

                                どうも、前回の記事が思っていたよりも反響があり、Blogを書くモチベーションが高まり、また記事を書くことにします。 ↑とか書いたんですが、このへんまで書いて50日くらい記事を書くのを放置していたので、ちゃっちゃと書き上げることにします。 今回はx86なCPUに存在するControl Registerのうち、CR0に存在するCache Disableフラグを操作するカーネルモジュールをLinux、FreeBSDのそれぞれ向けに作ったのでそれについて記述します。 それでは、続きからどうぞ。 はじめに、作成したカーネルモジュールのリポジトリへのリンクを掲載します。 Linux版のカーネルモジュール(procfsとして実装) cr0cd FreeBSD版のカーネルモジュール(キャラクタデバイスとして実装)cr0cd_fbsd そもそもこれはなに 一言で言うと、メモリのキャッシュ(L1, L2, L

                                  x86上のLinuxとFreeBSDにおいて、メモリキャッシュを無効にするカーネルモジュールを書いた話 - alphakai’s tech blog
                                • 見れば全部わかるDDR4メモリ完全ガイド、規格からレイテンシ、本当の速さまで再確認 DDR4メモリを買う前に知っておきたい基礎知識編 text by 坂本はじめ

                                    見れば全部わかるDDR4メモリ完全ガイド、規格からレイテンシ、本当の速さまで再確認 DDR4メモリを買う前に知っておきたい基礎知識編 text by 坂本はじめ
                                  • 論文|snmalloc: A Message Passing Allocator (ISMM 2019)

                                    「snmalloc: A Message Passing Allocator」という論文を読んだのでその紹介です。本論文は ISMM (International Symposium on Memory Management) 2019 に採択されており、論文とソースコードは GitHub (microsoft/snmalloc) で公開されています。リポジトリ名から分かる通り、著者の多くが Microsoft Research に所属しています。 免責 読み間違えている可能性があります。正確な情報が欲しい方は必ず論文を読んでください。誤りの指摘や補足、議論などは GitHub Issue や Twitter へお願いします。 更新履歴 2019/07/08 bump pointer と free list の next entry pointer を判定する方法について追記 2019/0

                                      論文|snmalloc: A Message Passing Allocator (ISMM 2019)
                                    • spliceを使って高速・省メモリでGzipからZIPを作る - knqyf263's blog

                                      良い話を含むので概要の最初だけでも読んでもらえると幸いです。この話が実用的かと言うと多分全然実用的ではないので理解しても仕方ないかなと言う気がします。 概要 ファイルフォーマット gzip 10-byteのヘッダ 拡張ヘッダ ファイル本体 フッタ(trailer) zip ローカルファイルヘッダ Data descriptor セントラルディレクトリエントリ セントラルディレクトリの終端レコード gzipからzipへの変換 gzipヘッダの処理 gzipファイル本体の処理 gzip trailerの処理 複数gzipファイルの連結 PoC まとめ 概要 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com この脆弱性の原理自体も面白いのですが、その前に報告者の組織で行っているGzipとZIPの処理で引っかかったのでまず先にそち

                                        spliceを使って高速・省メモリでGzipからZIPを作る - knqyf263's blog
                                      • トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備

                                        Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2022-03-04 11:33 LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイ

                                          トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
                                        • Linux メモリ断片化 (外部フラグメンテーション) の概要と解消方法 - Qiita

                                          ■ 記事概要 Linux OS におけるメモリ断片化 1 ( 以降、断片化 ) について、調査したことのまとめ。 ■ 要約 断片化していると、空きメモリが十分あるにも関わらず、メモリ確保に失敗することがある。 断片化の影響を受けるのは、DMA ( Direct Memory Access ) のように物理メモリ領域を直接参照する必要があるもの ( 仮想メモリを使える場合は、物理メモリ領域が連続している必要がないため影響なし )。 断片化のレベルは /proc/buddyinfo や /sys/kernel/debug/extfrag/unusable_index から確認可能。 明示的に断片化を解消する方法は、OS 再起動と、# echo 1 > /proc/sys/vm/compact_memory がある。 ■ 物理メモリ領域について 断片化の話の前に物理メモリ領域について整理する。

                                            Linux メモリ断片化 (外部フラグメンテーション) の概要と解消方法 - Qiita
                                          • 西川善司の3DGE:Mark Cerny氏のPS5技術解説プレゼンテーションを読み解く(前編)。ここまで分かったPS5のSSDとGPUの詳細

                                            西川善司の3DGE:Mark Cerny氏のPS5技術解説プレゼンテーションを読み解く(前編)。ここまで分かったPS5のSSDとGPUの詳細 ライター:西川善司 PlayStation 4に続いて,PlayStation 5でもリードシステムアーキテクトを務めるMark Cerny氏 2020年3月19日,ソニー・インタラクティブエンタテインメント(以下,SIE)は,次世代ゲーム機「PlayStation 5」(以下,PS5)のハードウェアに関する詳細を動画にて明らかにした(関連記事)。プレゼンターを務めたのは,PS5のリードシステムアーキテクトであるMark Cerny氏だ。 Cerny氏は,「LISTENING TO DEVELOPERS」(ゲーム開発者の意見を反映した新要素),「BALANCING EVOULTION & REVOLUTION」(進化と革命をバランスした仕様),「FI

                                              西川善司の3DGE:Mark Cerny氏のPS5技術解説プレゼンテーションを読み解く(前編)。ここまで分かったPS5のSSDとGPUの詳細
                                            • 巻き返しの準備を進める「Intel」 約束を果たせなかった「Apple」――プロセッサで振り返る2022年

                                              巻き返しの準備を進める「Intel」 約束を果たせなかった「Apple」――プロセッサで振り返る2022年:本田雅一のクロスオーバーデジタル(1/3 ページ) 2022年の大みそか――Appleはこの日までに“全ての”MacをApple Silicon化、すなわち自社設計SoC(System-on-a-Chip)への移行を完了するはずだった。しかし現実を見てみると、「Mac mini」の一部モデルと「Mac Pro」の全モデルには“いまだに”Intel製CPUのままである。その理由は定かではないが、Appleが珍しく、自信を持ってアナウンスしていた計画を達成できなかった例となってしまった。 一方でIntelは、パフォーマンスコア(Pコア)と高効率コア(Eコア)のハイブリッド構造を本格採用した「第12世代Coreプロセッサ(開発コード名:Alder Lake)」が好評を持って迎えられ、一時期

                                                巻き返しの準備を進める「Intel」 約束を果たせなかった「Apple」――プロセッサで振り返る2022年
                                              • 各種メモリ/ストレージのアクセス時間,所要クロックサイクル,転送速度,容量の目安 - Qiita

                                                各種メモリ/ストレージについて,2023年時点で標準的なアクセス時間,所要クロックサイクル,転送速度,容量を,各種カタログスペックを参考にまとめてみました. レジスタ(レジスタファイル) 最近のCPUのレジスタ(register)のアクセスは,通常CPUの1クロックサイクルで完了します.2023年時点では,標準的なCPUのクロック周波数は,1〜4GHz程度のオーダーです.1GHzは1秒あたり10億回,すなわち1クロックサイクルは1ナノ秒です. したがって,2023年時点では,レジスタには0.25〜1ナノ秒程度でアクセスできると言えます. レジスタのメモリ容量は,レジスタファイルに存在するレジスタ数に依存します,これは命令で明示的に指定できるレジスタ数という解釈もありますが,レジスタ・リネーミングのようなプロセッサ技術を用いると,実際にはより多くのレジスタ数を持っていると解釈することもできま

                                                  各種メモリ/ストレージのアクセス時間,所要クロックサイクル,転送速度,容量の目安 - Qiita
                                                • リーマン・ショック級のメモリ不況の到来 ~その陰にIntelの不調アリ

                                                  半導体不況を蹴散らしたビッグニュース 2021年のコロナ特需は終わりを迎え、半導体業界は不況に突入し始めた……と思っていたら、そんな不況を吹っ飛ばすビッグニュースが2022年11月10日(木)以降に日本列島を駆け巡った。 同日夜7時のNHKニュースが、トヨタ自動車、デンソー、ソニーグループ、NTT、NEC、ソフトバンク、キオクシア、三菱UFJ銀行の8社が出資する半導体の新会社「Rapidus(ラピダス)」が設立され、5年後の2027年に2nmプロセスノードの先端ロジック半導体を量産すると報じたのだ(図1)。 筆者はこのニュースにのけぞり、これはもはや暴挙を通り越して笑うしかないと思った。それはどう考えても“Mission Impossible”だからだ。 まず、誰が2nmのロジック半導体を設計し、誰がプロセス開発を行い、誰が量産するのか? 出資会社の中には半導体メーカーが2社含まれている。

                                                    リーマン・ショック級のメモリ不況の到来 ~その陰にIntelの不調アリ
                                                  • 【笠原一輝のユビキタス情報局】 GPU性能競争に“帰ってきたAMD” ~NVIDIAの最高峰と並ぶ性能を久々に実現したRadeon RX 6900 XTをサプライズ発表

                                                      【笠原一輝のユビキタス情報局】 GPU性能競争に“帰ってきたAMD” ~NVIDIAの最高峰と並ぶ性能を久々に実現したRadeon RX 6900 XTをサプライズ発表
                                                    • JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど

                                                      JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど サーバサイドで実行可能なJavaScriptランタイム「Bun」の最新バージョン「Bun v0.3.0」がリリースされました。 BunはJavaScriptランタイムとバンドラ、トランスパイラ、タスクランナーなどの機能が最初から統合されているソフトウェアです。 JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。Node.jsの主要なAPIやNode.jsのモジュール依存関係解決アルゴリズムも実装し、内蔵するnpmクライアントにより高速にnpmパッケージを読み込んで利用できるなど、Bun単体でさまざまな機能が統合され、便利に使えます。 さらにTypeScript/JSXトランスパイラによってTypeScriptファ

                                                        JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど
                                                      • Rustの `Arc` を読む(1): Arc/Rcの基本 - Qiita

                                                        概要: Rustの Arc 型の実装は宝の宝庫です。そこで、これを隅から隅まで解説してみます。 第1回「Arc/Rcの基本」では、実際に Arc のソースを読む前に Arc/Rc の使い方を解説します。 第1回 Arc/Rcの基本 第2回 Rcを読む基本編 第3回 Rcを読む発展編 第4回 アトミック変数とメモリ順序 第5回 Arcを読む はじめに Arc<T> はRustの基本的な型のひとつですが、 Box<T> のようにコンパイラに特別扱いされているわけでもなく、実装も比較的コンパクトです(コメントやテスト、安定性に関する指示などを除いて500LOC程度) その一方で Arc は並行性制御や Deref, ドロップチェッカー, Unpin, Layoutの扱いなどRustをよりよく理解するための題材を多く含んでいます。そこで本記事では Arc<T> の実装を読んでいきます。 とはいえ、

                                                          Rustの `Arc` を読む(1): Arc/Rcの基本 - Qiita
                                                        • Rustスマートポインタ比較表 - Qiita

                                                          以下補足です。 効率 トレードオフを強調するために、相対的な効率を星の個数で表しています。しかし、効率をことさら気にする必要はありません。他の多くのプログラミング言語では、Rustでいうところの Arc<Mutex<T>> をデフォルトで使っているような状況です。要件にあったものを使うことが大事です。 ライフタイム 「短命」とついているものは基本的に、ある関数のスコープに紐付いた形でしか使えません。特に慣れないうちは、これらの型を構造体に入れて使うのはやめておいたほうが無難でしょう。 例外として、グローバル変数 (static, lazy_static!) は &'static 参照として扱うことができます 共有 「ポインタ」と聞くと、参照先が共有されている様子を思い浮かべる人が多いと思いますが、所有権の概念のあるRustでは必ずしもそのイメージは当てはまりません。 &mut T と Bo

                                                            Rustスマートポインタ比較表 - Qiita
                                                          • mimalloc のメモリ管理 - Qiita

                                                            Microsoft の mimalloc は面白い割り切り方で、小さいソースコードで高速なアロケータを実装しています。 確保するメモリブロックのサイズを、 Small (~8KiB), Large (~512KiB), Huge (512KiB~) の3つに分類し、 Small と Large は同じアルゴリズムで管理し、 Huge は OS 任せにして、 Small と Large は同じアルゴリズムをうまく利用しています。 基礎 OSはpage (x86では基本 4KiB) ごとにメモリをプロセスに割り当てています。 しかしアプリケーションではずっと小さいメモリブロックが必要になることが多くあります。また、必要になるたびに毎回OSからメモリを割り当ててもらうのはパフォーマンスも悪いです。 mimalloc やその他の malloc 実装 (以降 malloc と呼びます) は OS か

                                                              mimalloc のメモリ管理 - Qiita
                                                            • 「M1 Pro」「M1 Max」は結局どこが違って何が進化したのか 極めて合理的なAppleの選択

                                                              AppleがMacに採用するSoC(System on a Chip)をIntelチップから独自設計チップへと切り替えることを表明したのは昨年6月のこと。今回発表した新しい14インチと16インチの「MacBook Pro」、そしてそれらに搭載される新SoCの「M1 Pro」と「M1 Max」は、昨年末から2年をかけた移行計画の中間地点となる。

                                                                「M1 Pro」「M1 Max」は結局どこが違って何が進化したのか 極めて合理的なAppleの選択
                                                              • AMD、3倍のL3キャッシュを搭載したCPU「Milan-X」。性能5割アップ

                                                                  AMD、3倍のL3キャッシュを搭載したCPU「Milan-X」。性能5割アップ
                                                                • Ruby 3.3’s YJIT Runs Shopify’s Production Code 15% Faster

                                                                  Ruby 3.2 YJIT is Battle-Tested Shopify deploys YJIT on business-critical services in production, such as Storefront Renderer, the software that powers all online storefronts on Shopify’s platform, and Shopify’s Monolith. As of the Ruby 3.2 release, YJIT sped up our Storefront Renderer by 10% on average. Storefront Renderer is a complex application. Your more reasonable-sized app might get better/w

                                                                    Ruby 3.3’s YJIT Runs Shopify’s Production Code 15% Faster
                                                                  • 会社支給PCのメモリを増やしたら社内の問題報告がぐっと減って平和になった「メモリの余裕は心の余裕」

                                                                    ひこ @ 🐿💉💉💉 @virii_k 社給PCのメモリを16GBに統一したところ、遅い!とかメモリ不足でExcelが異常終了したなどというくだらないクレームが一切来なくなりヘルプデスクに平和が訪れたので是非お勧めしたい。今期で更新が一巡したので次のターンはもう少し盛りたい♪ 2022-09-15 09:56:51

                                                                      会社支給PCのメモリを増やしたら社内の問題報告がぐっと減って平和になった「メモリの余裕は心の余裕」
                                                                    • GitHub - microsoft/mimalloc: mimalloc is a compact general purpose allocator with excellent performance.

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                                        GitHub - microsoft/mimalloc: mimalloc is a compact general purpose allocator with excellent performance.
                                                                      • 計算の高速化のために必要なこと: メモリの観点 - Qiita

                                                                        前回の「各種メモリ/ストレージのアクセス時間,所要クロックサイクル,転送速度,容量の目安」は,思わぬ反響を呼んだので驚いております。 今回の記事は,その記事の活用編にあたる記事です。コンパイラのコード最適化を設計・実装する時に重要な観点を,つらつらと書いてみます。 原則: 高速なメモリ・ストレージは容量が小さい 前回の記事の結論を再掲します。 メモリ/ストレージの種類 アクセス時間 アクセス開始までの所要クロックサイクル 最大転送速度 容量

                                                                          計算の高速化のために必要なこと: メモリの観点 - Qiita
                                                                        • Microsoft、ゲームのロード時間を大幅削減する「DirectStorage」のWindows版を提供

                                                                            Microsoft、ゲームのロード時間を大幅削減する「DirectStorage」のWindows版を提供
                                                                          • PostgreSQLのメモリアーキテクチャを知る

                                                                            こんにちは、GMOアドマーケティング インフラ開発部のhakumaiです。 前回の記事「AWSエンジニアがGCPメインの会社に転職してみた」を読んでいただいた方々、ありがとうございます。 初めまして、GMOアドマーケティング インフラ開発部のhakumaiです。今年1月にHRTech系企業からGMOアドマーケティングに転職してきました。現職では、女子向けメディア「めるも」のインフラ業務に携わり、日々業務に励んでおります。今回は、私が転職してみて感じたインフラ技術のギャップの一部についてお話しいたします。 前職でのインフラ環境・経験について前職のHRTech企業で触っていたインフラ環境は、ほぼAWSでした。インフラの保守運用業務に加え、新規プロダクトのインフラアーキテクチャ設計構築を経験したこともあり、V... 今回は2回目の投稿になります。 前回と同様に、「AWSエンジニアから見たGCP」

                                                                              PostgreSQLのメモリアーキテクチャを知る
                                                                            • ESP32系MCUで無線LAN受信バッファが枯渇するときの調査方法 - Nature Engineering Blog

                                                                              ファームウェアエンジニアの井田です。 今回はESP32系MCUで無線LANによる受信ができなくなる問題の原因と調査方法について解説します。 背景 ESP32にてそこそこ頻繁に無線LAN経由の通信を行っているときに、環境によっては急に通信ができなくなる現象が発生しました。 そこで、Wiresharkを用いて通信状況を確認すると、どうもESP32側からの送信パケットは届いているものの、ESP32へのパケットは受信されていないような状況が確認されました。 例えば、ESP32側からDNSのリクエストを投げて、ルーターが返答をしているのにも関わらず、ESP32のログ上は名前解決に失敗した状態になっています。 また、TCPによる通信も何度も再送が発生しており、よくよく見てみると、ESP32側がACKを返さないので、通信相手のサーバが再送してきているという状態でした。 現象より、ESP32の無線LANド

                                                                                ESP32系MCUで無線LAN受信バッファが枯渇するときの調査方法 - Nature Engineering Blog
                                                                              • 【福田昭のセミコン業界最前線】 半導体を自国で生産しても、供給不足の解消とはならない

                                                                                  【福田昭のセミコン業界最前線】 半導体を自国で生産しても、供給不足の解消とはならない
                                                                                • iOSアプリのメモリリークを発見、改善する技術 - クックパッド開発者ブログ

                                                                                  こんにちは。事業開発部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日、アプリケーションが特定の条件で意図せぬ状態に陥り、アプリケーションが重くなって端末が発熱する、というバグが発見されました。 調査の結果、このバグはメモリリークが原因で発生していました。 この反省を踏まえメモリリークを検知するテストを導入したため、本記事ではその事例を紹介したいと思います。 (本記事ではクックパッドアプリとはiOS版の「クックパッド」アプリのことを指すものとします) クックパッドアプリにおけるメモリリークの影響 クックパッドアプリはレシピの検索をコア機能としています。 検索は重い処理ですがAPIを通してサーバ上で行われるため、アプリは結果を表示するだけです。そのためメモリを多く必要としません。 これまでにも何度かメモリリークが発生している状況はありまし

                                                                                    iOSアプリのメモリリークを発見、改善する技術 - クックパッド開発者ブログ