2024/08/27 のHRmethod Meetup - 組織課題のタスク管理 ( https://hrmethod.connpass.com/event/326745/ ) で公開した発表 開発業務では当たり前になってきているタスク管理ですが、人事領域や開発関係者における組織課題の管理において…
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
Dynamic linker tricks: Using LD_PRELOAD to cheat, inject features and investigate programs April 2, 2013 — Rafał Cieślak This post assumes some basic C skills. Linux puts you in full control. This is not always seen from everyone’s perspective, but a power user loves to be in control. I’m going to show you a basic trick that lets you heavily influence the behavior of most applications, which is no
Langchainにはchat履歴保存のためのMemory機能があります。 Langchain公式ページのMemoryのHow to guideにのっていることをやっただけですが、数が多くて忘れそうだったので、自分の備忘録として整理しました。 TL;DR 手軽に記憶を維持するチャットボットなどを作るときは、自分で実装するより、LangchainのMemory機能を使うのが楽そう。 Memory機能、八種類もあるけど、まとめると以下。 まず試すのによさそうなのが、ConversationBufferWindowMemory ConversationSummaryBufferMemoryは、ConversationBufferWindowMemoryの上位互換なので、これもよさそうだが、要約部分が長くなりすぎないか心配 VectorStore-Backed Memoryは、非常に良さげですが、
コンピューター上でプログラムを動作する際に必要になるのがメモリです。プログラム自体をメモリに読み込む必要があるのはもちろん、プログラムが行う動作はほとんど「メモリから値を取りだして計算し、メモリに保存する」であるといっても過言ではありません。プログラムが動作する際にメモリがどのように管理されているのかについて、ベテランプログラマーのサム・ローズさんがブログで解説しています。 Memory Allocation https://samwho.dev/memory-allocation/ C言語の標準ライブラリには「malloc」と「free」という2つの関数が用意されています。この2つはなんと1979年のUnix v7から存在している歴史ある関数で、mallocがメモリの割り当てを担当し、freeがメモリの解放を担当しています。サム・ローズさんの解説は「この2つの関数の中身を自分で実装する」
今のGPT4は実践投入レベルの使い方もあれば、そうでない使い方もあると思っている。今回のポストでは、私がやった執筆支援の実験を8つほど紹介し、物書き目線から3段階評価した。○は作品制作にすでに実戦投入している利用方法。△は自分が実作に活用はしていないものの、ユーザビリティが良くなれば使いたいと思えるもの。×は現状だと使い所がない、ありがたみがないなと思ったものである。 1)AI読者モニター:書いた小説を読んでもらって感想や質問をGPTに自動生成させる → △使って意味ある場面はありそうPython-docxを利用して該当の位置にGPTの感想や質問を自動挿入 できた〜!ボタン1つ押せばChatGPTにWordで小説を読ませて「ここまで読んだときにこういう感想を持ったよ」とか「こういう疑問を持ったよ」みたいなことをコメントさせられるようになった。仮想モニタ読者の反応をヒントに執筆支援ができんじ
皆さんこんにちは 機械学習チーム YAMALEXチームの@tereka114です。最近、寒いので、鍋を中心に食べて生きています。 検証段階でも、規模の大きなデータを扱う機会が増えてきて、Pandasのメモリ消費量が厳しいと感じてきたので、その削減や効率化のテクニックまとめたいと思いました。 有名なものからマイナーなものまで、思いつく限り書いてみます。 そもそもなぜ、Pandasのメモリ削減技術が必要なのか 準備 Pandasのメモリ削減 1. 型修正 2. 逐次読み込み 3. 読み込み時の型指定 4. 逐次読み込み&集約 5. 不要なものを読み込まない 6. 不要なカラム/DataFrameを消す 番外編:そもそもPandasを利用しない 最後に そもそもなぜ、Pandasのメモリ削減技術が必要なのか Pandasで扱うデータの多くのファイルはCSV,Parquet, JSON(JSONL
良い話を含むので概要の最初だけでも読んでもらえると幸いです。この話が実用的かと言うと多分全然実用的ではないので理解しても仕方ないかなと言う気がします。 概要 ファイルフォーマット gzip 10-byteのヘッダ 拡張ヘッダ ファイル本体 フッタ(trailer) zip ローカルファイルヘッダ Data descriptor セントラルディレクトリエントリ セントラルディレクトリの終端レコード gzipからzipへの変換 gzipヘッダの処理 gzipファイル本体の処理 gzip trailerの処理 複数gzipファイルの連結 PoC まとめ 概要 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com この脆弱性の原理自体も面白いのですが、その前に報告者の組織で行っているGzipとZIPの処理で引っかかったのでまず先にそち
この記事の狙い この記事は、端的に言えば この図が言わんとしていることを理解できるようになるための解説を目指しています。 昨今のプログラミング環境において、メモリの管理方法やその実態は、詳細を知らずとも目的を達成できるようになっています。といっても、実際にはメモリは無尽蔵に使えません。制約が厳しい環境下で動かさねばならないプログラムもありますし、多少潤沢に使える環境であっても、無駄に浪費するよりは、必要最低限のメモリで効率よく動作するプログラムの方が、多くの場面においては良いプログラムと言えるでしょう。 メモリのことなど知らなくてもプログラムを書けるのは一つの理想ではありますが、現実的にはその裏に隠されている(抽象化されている)仕組みを知っておいたほうが有利です。また、昨今のレトロゲームにおけるタイムアタックで駆使されるメモリ書き換えのテクニックなども、何故そういったことが可能なのかを知る
たくさんの文字列(や離散的な符号列)をメモリに載せないといけないんだけど、いろんな制約があって通常のList[str]では載らない…ということありませんか?(まぁあんまりなさそうですね) たまたまそういうことがあったので、その際に検討した内容をまとめておきます TL;DR メモリをもっと増やしましょう 富豪的に解決できるならいつでもそれが最高です しかし、世の中それでなんとかならんこともたくさんあります 用途があうのであれば専用のデータ構造を採用する 例えばもし共通のprefixやsuffixが存在し、順序に興味がなければtrie treeなどが使えます 例えば、弊社であれば、法人名をメモリに持ちたいなんてときもあります。そういうときに法人名の辞書をtrieで持ったりすることがあります 「株式会社」「一般財団法人」や「銀行」といった共通語がたくさんでてくるのでtrie treeでごりごり削
Apple M1に関して以下のようなツイートが話題になった。 18/ Another "magic" trick is how their "Swift" programming language uses "reference counting" instead of the "garbage collection" in Android. They did something in their CPU to double the speed of reference counting.— Robᵉʳᵗ Graham😷, provocateur (@ErrataRob) 2020年11月26日 fun fact: retaining and releasing an NSObject takes ~30 nanoseconds on current gen Intel, and ~6.
こんにちは。ストリーミングチームの松本です。 Mirrativのストリーミングチームは、低遅延配信や、通知ぼかしというような機能を追加するため、配信のorigin serverの前段にtranscoder serverというものを導入してきました。 tech.mirrativ.stream tech.mirrativ.stream transcoder serverはGoによる内製のミドルウェアであり、主に映像の変換を行う目的で作られました。現在は配信プロトコルの変換(既存プロトコル -> 低遅延プロトコル)などを行っています。また、実際にはサーバー上のDockerコンテナ内で動作しています。 transcoder serverを展開していくにあたり、メモリ使用量が常に増え続ける問題が起きていたため、その際に直面したGoの実メモリ使用量に関する話を書きたいと思います。 メモリ使用量の増加問
各種メモリ/ストレージについて,2024年時点で標準的なアクセス時間,所要クロックサイクル,転送速度,容量を,各種カタログスペックを参考にまとめてみました. レジスタ(レジスタファイル) 最近のCPUのレジスタ(register)のアクセスは,通常CPUの1クロックサイクルで完了します.2024年時点では,標準的なCPUのクロック周波数は,1〜5GHz程度のオーダーです.1GHzは1秒あたり10億回,すなわち1クロックサイクルは1ナノ秒です. したがって,2024年時点では,レジスタには0.2〜1ナノ秒程度でアクセスできると言えます. レジスタのメモリ容量は,レジスタファイルに存在するレジスタ数に依存します,これは命令で明示的に指定できるレジスタ数という解釈もありますが,レジスタ・リネーミングのようなプロセッサ技術を用いると,実際にはより多くのレジスタ数を持っていると解釈することもできます
The Chromium project finds that around 70% of our serious security bugs are memory safety problems. Our next major project is to prevent such bugs at source. The problem Around 70% of our high severity security bugs are memory unsafety problems (that is, mistakes with C/C++ pointers). Half of those are use-after-free bugs. (Analysis based on 912 high or critical severity security bugs since 2015,
はじめに これはLinux Advent Calendar 2015 3日目の記事を2016/2/2に編集したものです。 Linuxにおいてシステムの物理メモリが枯渇したOut-Of-Memory(OOM)という状態になった際の挙動について説明しています。OOMに関連が深いsysctlパラメタを紹介するとともに、カーネルの内部論理についても触れました。 本記事に記載されているファイル名は、とくに断りが無ければカーネルソースのトップディレクトリからの相対パス名です。調査に使用したカーネルバージョンは4.3です。 本書は話を単純化するために、細かい動作論理については説明を省いていることをご承知おきください。また、本書の中に誤りを見つけたかた、および、私が追いきれなかったソースについての詳細をご存知のかたは、指摘していただけると助かります。 Out-Of-Memory(OOM)とOOM-kill
みなさんこんにちは.SRE チームの内田(@uchan_nos)です. この記事では Go 製ソフトウェアのどの関数がどれだけメモリを消費しているかを調べる方法を説明します. Go 製ソフトウェアのヒープメモリの消費量を調べる方法はたくさん解説されているものの,スタックメモリの消費量について調べる方法を説明したサイトを見つけることはできませんでした. この記事では主にスタックメモリの消費量を調べる方法を説明します. 背景 SRE では Go 言語で自社データセンター向けのツール群をたくさん作っています. その中のソフトウェアの 1 つが,本番運用中に予想外にたくさんのメモリを使用してしまうという問題がありました. どの関数が原因なのかを突き止めるために,関数単位でメモリ使用量を調べる必要があります. ソフトウェアが使っているメモリ量の概況は,Linux であれば top コマンドで調べるこ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く