残業したいって言ったけれどもさ - 多重人格

残業したいって言ったけれどもさ




 調子こいてすまなかった。ここ二日、性能測定が佳境を迎え、どんどん溢れる発注にない新規依頼、やってもやっても満足しないお客様、諸々の事情で2日ほど深夜残業をしたわけだが死んだ。何がどういう境地に至るのか確かめてみたいだ。もう境地きたわ。すぐにギリギリきたわ。ほんと定時退社できる状態って素晴らしい。

 んで、佳境中の佳境の性能測定だが、なんか思った通り、性能測定の結果ざっくり遅いところがわかったら次はどこが遅いのかはっきりさせろと依頼。そんなの発注にないでしょ? 測定して終わりという話では? まあ、計画書を鑑みれば、すげえぼやかして書いてあるけど、広義ではボトルネック分析もやれとも読み取れる。発注時に曖昧に言って状況によって依頼をどんどんアップデートしていくシステム。要するに当初の依頼にはなかったものでもお金の足りる限り限界ギリギリまで依頼をこなせという依頼。ソフトウェアあるある。やりますよ。

 そんで厄介なことに性能測定してた対象がゴリゴリのオープンソースだったため死んだ。オープンソースといえば昔AndroidのFramework担当だったけれどもあの時もソース読んでもろくに分からないまま終わった。あの時できなかったことが今になって? 成長したからできる? と思いきやまったくできなかった。3年前できなかったことが今できるとは限らない。APIの初めのあたりで処理がどこに行ったかわからなくなった。テンプレートやらtypedefやら無名関数やら訳の分からない仮想関数やらもう分かりやすくしようとして逆に分かりにくくなってるあれで死んだ。無理。これ1年あっても全貌分からない自信ある。オープンソースだから当然ドキュメントなし。みなまで言うな。

 ソースコード解析を早々に断念しツールに頼ることにした。ubuntuではメジャーなプロファイルツールのperfを使った。したらあれよ。特定の関数呼び出しの後、TCPスタックに出て行くまでのスタックトレース取れた。信じらんないから。dlopenのダイナミックロード先も当然のようにスタック取れてるし、30kstepあるソースの全関数にprintf入れようと思ってたのがバカみたい。平たく言うと、自分のプログラムからOSのよくわからない関数までの道筋が明確に見えた。しかもどこが処理速度重いかパーセンテージで出るんだよ。神か。

 ということでperfを使うとよくわからないオープンソースもスタックが取れるから、プロファイルだけじゃなくてトレースツールとしても役に立つよという話。仕事のお話ばかりでつまんない。

このエントリーをはてなブックマークに追加

 Y平 (31)

現在:
Androidプラットフォーム開発者。シナリオ作成も趣味でコンテストに
色々応募をしています。人形劇もやっています。

略歴:
2004年〜2009年 名古屋大学で人形劇サークルで活動後、作家を目指すも挫折。
2009年〜 札幌のモバイルの会社に勤めて適当にプログラミングやらに従事。
2012年 ヒューマンアカデミー シナリオライター講座受講。シナリオライターに。
2013年4月、妻と結婚
2015年8月、オモコロライターになる

作品暦:
「えんむすび」 子供映画製作ワークショップ2012最終候補
「思い出はとめたままに」 2012年南のシナリオ大賞 落選
「マリモの人形劇」アニメシナリオ大賞 選考中(2015年4月現在)
「しっくす・パックす!」第22回電撃コミック大賞 選考中(2015年4月現在)
「上から」コバルト短編小説新人賞 選考中(2015年8月結果発表)

好きな作家:
筒井康隆 綿矢りさ 星新一 藤子・F・不二雄 戸塚たくす

その他活動:
ニコニコ動画ゲーム実況一覧
twitter 気軽にフォローしてください→@yhei_hei

mail :
yheihei0126●gmail.com(●を@に変えてね)
↑感想やらお仕事やら日々の呟きやらなんでもください↑

コメント
非公開コメント

トラックバック

http://tajuujinnkaku.yhei.net/tb.php/723-aa58ff6a