SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
メモリアロケーションからみた
拡張ライブラリに大切な
こと
または、Ruby内部構造の基礎知識
日本Rubyの会 etc.
樽家 昌也
自己紹介
• 樽家 昌也 (MasayaTARUI)
• twitter id: @taru
• ircnet: tal_
• freenode: tarui
• 平日はふつうに?サラリーマン。
• 年に1,2度、networkと無縁な生活を求めて旅に
• 仕事で直接Rubyが対象になることは今のところない
• Rubyを使い始めてから13年目ぐらい?
これまで
1. Rubyを使い始める
2. よくわからない不具合はRubyレベルのWorkaroundで適当にごまかす
3. メモリリークとかSEGVに泣かされる
4. 仕方がなく、Cコードに手を入れる
5. Rubyの独特な構成が面白くてCコードに手を入れる ← Now!!
今日の対象者・・・
『NKT77さん「Hadoop with Ruby-僕がPythonを選んだ理由」』
『初心者からコミッターまで、更にPythonistaやらC#erなど幅広い言語
経験を元に、日頃のふとした疑問や事例を紹介できたらとおもいま
す。』
Σ(゚д゚;)
どうやらawayらしい。。。
.rbなのに、おかしくね?
(http://kawasakirb.doorkeeper.jpから引用)
なに話そう…
Rubyがよくわからない人にもわかるプレゼン
=C言語コードについてのプレゼン。
これしかない
メモリアロケーションからみた
拡張ライブラリに大切なこと
アジェンダ
• 拡張ライブラリ書き方復習
• Ruby のGC
• 拡張ライブラリ by C++ 準備不足によりキャンセル ホントウニスイマセン
• おまけ:最近のGC事情
拡張ライブラリ
•RubyにC言語など他言語で書かれたプログラムを
リンクさせて動かす仕組み
•Rubyは拡張ライブラリが書きやすい言語と言われて
いる [誰]
•プロトタイピングをPure Rubyで行ってその後不満が
あれば拡張ライブラリを書けばいいと思います!
はじめての拡張ライブラリ
1. Cコードを用意する
2. ruby –r mkmf –e ”create_makefile(’sample’)”
3. make
4. ruby –r ./sample –e”p JUST_CLASS”
5. 出来上がり
サンプルライブラリAYB
• 全ての基地を頂くライブラリ
• AYBのオブジェクトのbelong_toメ
ソッドに文字列を渡すと、その中
のbaseをXXXXと塗りつぶして最後
に”All your base are belong to us”と
のたまってくれます
• C拡張ライブラリなのに中でsplitと
かconcatとか呼んでますが今回は
気にしないでください・・・
• “base”で分割してforループ
で”XXXX”つけて最後だけ特別な
メッセージを付ける
実行してみる
を実行
めでたく全部の基地をいただけました。
もっと基地がほしい
error! これはrubyのbugですか?
いいえ。拡張ライブラリのです。
悪いところ
RubyのGCってmark&sweep
だから保守的でmark漏れな
んて起こらないんじゃない
の!?
大体この辺が悪くて、利用中のデータが
Garbage Correct されてしまっている
Arrayの中身を走査している最中に
Arrayが消されてお亡くなりに。
※こんな恣意的なコードになったのはなかなかチェックから漏れなかったから・・・
ここで、あまり世間で聞かない話をひとつ
• RubyのGCはRubyオブジェクトの先頭に対してしか調査をしない!
• ArrayとかStringの大きな配列はGCで管理されていない領域に確保される。
(多分、もう当たり前すぎてだれも言及しない…のか?)
Ruby
Object
ただ単に
mallocで
確保され
た領域
保護対象ここだけ
RARRAY_PTR
どうしてmark漏れが発生し、Rubyが落ちる
のか
Ruby
Object
ただ単に
mallocで
確保され
た領域
保護対象ここだけ
RARRAY_PTR
1. RARRAY_PTRで配列の
先頭アドレスをもらう
2. もうこちらのアドレスは使わないので、
レジスタorスタックは再利用可能!
4. このオブジェクトは使われてないと判断。
オブジェクトに関係するものを
RARRAY_PTR先も含めて全部回収。
3. GC発生
5. RARRAY_PTR先の
内容が壊れる
Why?
Ruby
Object
normal
• 単純に言えば効率のため
Ruby
Object
Ruby
Object
Ruby
Object
normal normal
normal
normal
norm
al
小さい
固定長
heaps_slot
名前すらない?
malloced memory?
こちらの領域の
データが何を意味
するかはRubyObject
が管理
こちらのアドレスに関係するデータだけを見ればいい
固定長なので簡単に枝切可能
対処方法
Ruby
Object
ただ単に
mallocで
確保され
た領域
保護対象ここだけ
RARRAY_PTR
1. RARRAY_PTRで配列の
先頭アドレスをもらう
2. もうこちらのアドレスは使わないので、
レジスタorスタックは再利用可能!
4. このオブジェクトは使われてないと判断。
オブジェクトに関係するものを
RARRAY_PTR先も含めて全部回収。
3. GC発生
5. RARRAY_PTR先の
内容が壊れる
ちょっと
待った!!
使っているよマークの挿入
RB_GC_GUARDを挿入することにより、そのオブジェクトを利用する事を
コンパイラに通知
無事に基地をいただけた(忘れかけてたけど)
RB_GC_GUARD() とは
•そこに広がって
いるのは黒魔術。
余人は決して手
を出してはいけ
ない。。。
• 正直、何をしているのかよくわからない
• コンパイラに値をスタックに残しておくように出せる指示はない
• いつコンパイラの最適化によって無効になるかわからない過酷な世界
気をつけるべき点
• RubyのAPIにはいくつかchar *を引数にとるものがありますが…
(rb_str_newやrb_reg_newなど)
• ふつうにあります
• ただ、これに関してはRubyのAPI側で何とかすべきじゃないかと
思わなくもない。 malloced memoryに対して一部保護を入れるなど
GC!ObjectAの中身
ObjectAの回収
Ruby Core
ObjectAの中身を使おうとする
死亡!
所で500000回廻さないと出てこないBugと
か
やってられない
GC.stress = true
1回で十分に
まとめ
• 拡張ライブラリは簡単にかけるよ
• たまには気をつけておかないと、GCで痛い目をみるよ
• でも、たまにだけだよ
• RubyのGCは完全に保守的なわけではなくて、Ruby Objectが入ってる
Heapsしかみないよ
• RB_GC_GUARDは今の所、コンパイラの最適化とのおにごっこ
• 拡張ライブラリを書いたら一度はGC.stress=1で走らせておこう
• mallocで確保しているだけの領域にもなんらかの手当てがほしいなー
• (最近もRuby本体で今回の例と同じバグがありました…)
Rubyの書きやすさ+C言語のスピードの世界へようこそ!
おまけ: 最近のGC事情
•がんがん 手が入ってます
•Bitmap marking すばらしい
•RGenGC すばらしい
hashベンチマーク(ソースは後)
mark user system total real
193p374 22.004 30.46 0.54 31 31.08143
200p195 17.09916 25.79 0.3 26.09 26.1964
r41094 14.4588 28.12 1.34 29.46 29.62575
r41095 12.13761 25.9 1.29 27.19 27.27527
r41097 7.250059 18.98 1.05 20.03 20.10459
r41128 6.633022 18.35 1.12 19.47 19.59778
r41325 1.272689 10.79 0.64 11.43 11.52074
r41634 0.870261 9.07 0.37 9.44 9.456588
0
5
10
15
20
25
30
35
193p374 200p195 r41094 r41095 r41097 r41128 r41325 r41634
mark
user
system
total
real
一部
回数 r41634 Python 2.7.4
1000000 2.809293 1.559357
2000000 5.932282 3.421049
3000000 8.812863 5.801263
Pythonと適当に比較してみた(ソースは後)
Oprofile 取ってみたところ、
支配的なのはst_lookupとsiphashが半々ぐらい
ご静聴ありがとうございました
hashベンチマーク ソース
Pythonとの比較用ソース

Contenu connexe

Tendances

グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
Hisao Soyama
 
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
Koichiro Nishijima
 

Tendances (20)

Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
 
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
 
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
 
2つのmosaic plotと日本語表示
2つのmosaic plotと日本語表示2つのmosaic plotと日本語表示
2つのmosaic plotと日本語表示
 
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
 
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
 
Electron + Mithril Async File Search
Electron + Mithril Async File SearchElectron + Mithril Async File Search
Electron + Mithril Async File Search
 
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
Ruby programmer silverの取得に向けて
Ruby programmer silverの取得に向けてRuby programmer silverの取得に向けて
Ruby programmer silverの取得に向けて
 
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム   Gx#20再帰、漸化式、差分方程式とアルゴリズム   Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
Rosのリアルタイムツールの紹介
Rosのリアルタイムツールの紹介Rosのリアルタイムツールの紹介
Rosのリアルタイムツールの紹介
 
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 

En vedette

高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ
DADA246
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 
Component basedgameenginedesign
Component basedgameenginedesign Component basedgameenginedesign
Component basedgameenginedesign
DADA246
 
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識
alwei
 
Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15
Ronan Gilhawley
 
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyerHOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
Leonardo Meyer Z.
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
 

En vedette (20)

高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
 
Component basedgameenginedesign
Component basedgameenginedesign Component basedgameenginedesign
Component basedgameenginedesign
 
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT7720130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
Doom3 commentary
Doom3 commentaryDoom3 commentary
Doom3 commentary
 
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
Docker1.13で変わったことをわからないなりにまとめてみた
Docker1.13で変わったことをわからないなりにまとめてみたDocker1.13で変わったことをわからないなりにまとめてみた
Docker1.13で変わったことをわからないなりにまとめてみた
 
Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15
 
Portadas nacionales 8 marzo-17
Portadas nacionales 8 marzo-17Portadas nacionales 8 marzo-17
Portadas nacionales 8 marzo-17
 
MY JOB WENT TO VIETNAM?
MY JOB WENT TO VIETNAM?MY JOB WENT TO VIETNAM?
MY JOB WENT TO VIETNAM?
 
Iba bangalore 2017 prospectus
Iba bangalore   2017 prospectusIba bangalore   2017 prospectus
Iba bangalore 2017 prospectus
 
Cuadro comparativo Corrientes Económicas
Cuadro comparativo Corrientes EconómicasCuadro comparativo Corrientes Económicas
Cuadro comparativo Corrientes Económicas
 
Frontera de Posibilidades de Producción
Frontera de Posibilidades de ProducciónFrontera de Posibilidades de Producción
Frontera de Posibilidades de Producción
 
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyerHOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
VoIP-Qualität im Netzwerk
VoIP-Qualität im NetzwerkVoIP-Qualität im Netzwerk
VoIP-Qualität im Netzwerk
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
 

Similaire à メモリアロケーションからみた拡張ライブラリに大切なこと

Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界
Takafumi Yoshida
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
yamanekko
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
azuma satoshi
 
シャイなRubyistがRubyKaigiでできること
シャイなRubyistがRubyKaigiでできることシャイなRubyistがRubyKaigiでできること
シャイなRubyistがRubyKaigiでできること
Narihiro Nakamura
 

Similaire à メモリアロケーションからみた拡張ライブラリに大切なこと (20)

Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタート
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界
 
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
 
困らない程度のJDK入門
困らない程度のJDK入門困らない程度のJDK入門
困らない程度のJDK入門
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係
 
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話
 
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
 
gemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarbgemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarb
 
なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話
 
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなことJavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
 
地域Ruby会議に参加してきた話とか
地域Ruby会議に参加してきた話とか地域Ruby会議に参加してきた話とか
地域Ruby会議に参加してきた話とか
 
JRubyで作るapiサーバー
JRubyで作るapiサーバーJRubyで作るapiサーバー
JRubyで作るapiサーバー
 
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
 
シャイなRubyistがRubyKaigiでできること
シャイなRubyistがRubyKaigiでできることシャイなRubyistがRubyKaigiでできること
シャイなRubyistがRubyKaigiでできること
 
Happy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsHappy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on Rails
 
20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror
 

Dernier

Dernier (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

メモリアロケーションからみた拡張ライブラリに大切なこと