giantneco’s blog

技術メモ

システムパフォーマンス勉強会第 2 回

社内で行ったシステムパフォーマンス勉強会のメモ。資料の公開はなし。

第2回は第3章のカーネルをテーマにしているが、まだまだ基礎でパフォーマンスにどれだけ関わるのかわからないという声もあった。

章の内容としては: - 用語の説明 - カーネル - 割り込みと割り込みスレッド - プロセス・スレッド - システムコール - メモリ、スケジューラ、ファイルシステム

大体のトピックを軽く触る程度で、詳細な解説はのちの章で改めて詳しく解説がある。

進み具合がよくないので、年度内に一通り読めるかどうかやや不安である。

あと p96 で inctl() というシステムコールが紹介されてたがこれってioctl()の間違い?

「まつもとゆきひろの言語のしくみ」を読んだ

まとめ

  • Pros
  • Cons
    • 教科書的な内容の本ではない
      • 理論的,網羅的ではない
    • C言語を使用しているので、使ったことがない人にはつらいかも

メモ

ようやく読んだので読書メモなど。

この本は元々は連載されていた記事を本にまとめなおしたもので、 Streem という新言語の設計と実装を追いながらインタプリタの仕組みを見ていく内容になっている。 それもあってこの本だけでコンパイラに関するすべての点をカバーするのは難しい。

本書で紹介されている内容で目についたのは次のようになる: - 言語処理系 - バーチャルマシン - Streem の設計と実装 - オブジェクト指向 - ガーベージコレクション

このようにコンパイラの入門としてはいろいろ足りない部分が多いが、 Streem 言語で実際に検討・実装されたテクニックが紹介されているので読み物としては面白い。 むしろ Streem 言語に興味がある人向けの本なのかと思う。 一方であまり理論的な部分にはそれほど触れられていないので、 物足りない部分も多々あった。

他個人的に気に入ったトピック: - 言語を作るモチベーション - NaN Boxing

言語を作るモチベーション

言語を作るモチベーションとして紹介されていた - プログラミング能力の向上 - デザイン能力の向上 - 自己ブランド化 - 自由の獲得 - 楽しい

NaN Boxing

NaN Boxing浮動小数点数をオブジェクト表現に流用するテクニックで、 IEEE754 での NaN の仮数部が 0 以外であればよいのを利用しそこに値を詰め込む。 このテクニックは知らなかったので素直に驚いた。

www.slideshare.net

この資料の他に Jupyter を使ってグラフも作っていた。 しかし会社に PC 持って行って Jupyter を再起動したところ、ネットワークがないため必要な JavaScript がダウンロードできずにグラフを描画できなかった。 割とありがちなミスだと思う。

下期勉強会

10月中は特に行動を起こさなかったが、上期同様に下期でも何か勉強会開こうかと考えている。 候補としては:

  • 詳解システムパフォーマンス読書会
    • 自分がまだ通読できてないので
    • 人をかなり選ぶんじゃないかと思う
  • CI
    • 需要は高そう
    • 勉強するってほどのことでもない気はする。どういう CI にするかはプロジェクトしだいだし
  • なにかプログラミング言語
    • 良さそうなのがあれば
    • 書いてみたもののあまり思いつかない
  • 機械学習
    • もう別の人がやっている

やっぱりよそのプロジェクトでの需要が分からないので、計画を立てづらい

ドメイン駆動設計勉強会の結果を発表した

www.slideshare.net

職場の部会で、今年の 5 月から 8 月あたりに行った勉強会の発表をやれと言われたときに作った資料。 15 分しかないので、DDD というよりは勉強会自体に関しての発表にした。

後々見てみて思ったのは: - まとめがない - 掴みの写真でも入れておいた方がよかったのでは?

直近で旅行行ってたんだからその写真を貼り付けておいてもよかった気がする。