システムプログラミング会のまとめ

* システムプログラミング会 - connpass http://connpass.com/event/34995/ がおもしろそうだったので, #spkai をまとめました. 何かあればお手数をおかけしますが,ご連絡下さい. あるいは,編集できるようにしてあるはずなので,編集して下さい.
21
前へ 1 2 ・・ 9 次へ
ドッグ @Linda_pp

gold より倍以上速いのか #spkai

2016-07-02 14:09:44
まさみさんboosted @mhiramat

LLDは速いのが売り。goldよりも速い #spkai

2016-07-02 14:09:55
くまぎ @kumagi

「goldっていうelf専用のリンカの倍以上速い」「理論上の限界値の3倍ぐらいしか掛かってない。」 #spkai

2016-07-02 14:10:20
SASAKI Takesi @dagezi

10秒とか、Android開発からすると夢の様な話だ #spkai

2016-07-02 14:10:29
Takafumi Yonekura @tyonekura

#spkai を見ている。TL上の猛者達が集合している。

2016-07-02 14:10:48
眼力 玉壱號 @objectxplosive

ld の律速…そら merge は全体見るから遅いよな… #spkai

2016-07-02 14:11:44
まさみさんboosted @mhiramat

Linkerでは文字列をひとまとめにすることができる。デバッグ情報なども削減圧縮できる。ただし計算量が多い。のでこれを切るとさらに速くなる。#spkai

2016-07-02 14:12:00
κeen @blackenedgold

ん、ハッシュタグは #spkai か。

2016-07-02 14:12:27
SASAKI Takesi @dagezi

ICF: 名前でなくて内容でマージする。inline 関数とかを。テンプレートから吐かれた名前から違うコードを一つにできるらしい。 #spkai

2016-07-02 14:12:47
az @yoheia

リンカで一番遅いのはスタティックな情報のマージ #spkai

2016-07-02 14:13:47
眼力 玉壱號 @objectxplosive

Identical COMDAT Folding は 遅い…そら当然だわなー #spkai

2016-07-02 14:13:47
まさみさんboosted @mhiramat

ICFという同じようなコードをマージしてしまうリンカの最適化機能があるらしい。これもコード全部をグループ化してマージできるかどうか探索するので計算量が多い。それでもgoldと同じぐらい。 #spkai

2016-07-02 14:15:02
κeen @blackenedgold

ICFの話。呼び出してる関数がぱっと見違ってもリロケーションされて同じものになるなら呼び出す側も同じものとして扱ってよい。それを考えるとグラフの同一性問題に帰着する #spkai

2016-07-02 14:15:18
methane @methane

#spkai 気になるな。 現代的なリンカーってよくわからないんだけど、LTOするためにはオブジェクト内の中間言語に対してリンクしたうえで中間言語を最適化したバイナリを吐くようなコンパイラ後段と連携する必要があって、すごい大変そうな気がする。

2016-07-02 14:15:41
az @yoheia

リンカの高速化で一番重要なのは余計なことをやらないこと #spkai

2016-07-02 14:16:03
眼力 玉壱號 @objectxplosive

『最適化は何もしない事と見つけたり』… #spkai

2016-07-02 14:16:03
SASAKI Takesi @dagezi

「Section garbage collectionが有効でないかぎり」ここ、流していいんだろうか。 #spkai

2016-07-02 14:16:04
まさみさんboosted @mhiramat

ライブラリの話に入ってきた。.aファイルはオブジェクトファイルのtarみたいもので、未定義のシンボルが見つかったら、対象のオブジェクトファイルを取り出す。 #spkai

2016-07-02 14:17:47
suzuki shingo @giantneco

リンカに渡すファイルの順はかなり苦労した経験があるな #spkai

2016-07-02 14:18:06
眼力 玉壱號 @objectxplosive

Ref. → Def. の順でないと…(あるある #spkai

2016-07-02 14:18:06
κeen @blackenedgold

「リンカがコマンドラインに渡された順番にarファイルを処理してシンボルを解決する…けど無茶苦茶なセマンティクスで…」 #spkai

2016-07-02 14:18:36
SASAKI Takesi @dagezi

libraryの相互依存問題。括弧とか知らんかった。GNUだけ? #spkai

2016-07-02 14:18:48
まさみさんboosted @mhiramat

Unixの場合、コマンドラインに渡す順序でしかシンボル解決をしないので、最初にライブラリを指定して後でオブジェクト渡すと、後のオブジェクトで見つかった未定義シンボルが解決されなかったり、相互参照しているものがあると解決できなかったりする。 #spkai

2016-07-02 14:18:59
κeen @blackenedgold

libファイルを何度も読むんじゃなくてシンボルテーブルを作ってlazyにオブジェクトファイルを解決する #spkai

2016-07-02 14:21:06
まさみさんboosted @mhiramat

LLDでは渡されたオブジェクトとアーカイブファイルのヘッダを順次読んでシンボルとファイルの対応テーブルを構成する。だから後から戻って探せるとのこと。 #spkai

2016-07-02 14:21:45
前へ 1 2 ・・ 9 次へ