Twitter Client forZSH (2)Dentoo.LT #3ゆたか/@tmyt
自己紹介• Twitter @tmyt  • 社会人2年目• プログラミング言語  • C++, C#, Object Pascal, ZSH• シェル  • ZSH• エディタ  • VIM• 国立じゃない方の電通大の出身です
前回
Dentoo.LT #2
今回紹介するのは
こちら
tw.zshsha1.zshjson.zsh zss.zsh
sha1.zsh
sha1.zsh• Pure ZSH実装のSHA1• OpenSSLその他外部ライブラリは不要• Macについてるshasumコマンドと比較して% time (seq 1 1000| shasum)0.19s user 0.03s system...
json.zsh
json.zsh• Pure ZSH実装のJSONパーサ• 外部ライブラリなどすべて不要• 必要なものはZSHだけ!!• Node.jsと比較して% time (cat hoge.json | node)0.05s user 0.01s sys...
zss.zsh(Zsh Shared Storage)
zss.zsh• Sub shellの境界を越えて値を保存するライブラリ• JSONパーサの解析位置を保持するためにSub shellを超え  て値を共有する必要があった• 親→子への伝播はされるが、子→親はできない• ZSHにはTCP/IPを...
tw.zsh
tw.zsh• Pure ZSH実装のTwitterクライアント• TimelineへPostする機能しかありません• Timeline取得するサンプルもあります
前回と比較して• curlが不要になりました• JSONパーサが添付されました• SHA1ハッシュを単独で計算できるようになりました
そして…
% time ./tw てすとめっせーじ./tw てすとめっせーじ 2.16s user 3.32s system 88% cpu 6.172 total
1秒遅くなった!!
github.com/tmyt/tw
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Upcoming SlideShare
Loading in …5
×

Twitter Client for ZSH (2)

862 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
862
On SlideShare
0
From Embeds
0
Number of Embeds
186
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Twitter Client for ZSH (2)

  1. 1. Twitter Client forZSH (2)Dentoo.LT #3ゆたか/@tmyt
  2. 2. 自己紹介• Twitter @tmyt • 社会人2年目• プログラミング言語 • C++, C#, Object Pascal, ZSH• シェル • ZSH• エディタ • VIM• 国立じゃない方の電通大の出身です
  3. 3. 前回
  4. 4. Dentoo.LT #2
  5. 5. 今回紹介するのは
  6. 6. こちら
  7. 7. tw.zshsha1.zshjson.zsh zss.zsh
  8. 8. sha1.zsh
  9. 9. sha1.zsh• Pure ZSH実装のSHA1• OpenSSLその他外部ライブラリは不要• Macについてるshasumコマンドと比較して% time (seq 1 1000| shasum)0.19s user 0.03s system 95% cpu 0.229 total% time (_sha1_hash "$(seq 1 1000)")33.36s user 65.04s system 92% cpu 1:45.83 total353倍遅い
  10. 10. json.zsh
  11. 11. json.zsh• Pure ZSH実装のJSONパーサ• 外部ライブラリなどすべて不要• 必要なものはZSHだけ!!• Node.jsと比較して% time (cat hoge.json | node)0.05s user 0.01s system 101% cpu 0.061 total% time (_json_parse_value )11.93s user 21.67s system 94% cpu 35.627 total584倍遅い
  12. 12. zss.zsh(Zsh Shared Storage)
  13. 13. zss.zsh• Sub shellの境界を越えて値を保存するライブラリ• JSONパーサの解析位置を保持するためにSub shellを超え て値を共有する必要があった• 親→子への伝播はされるが、子→親はできない• ZSHにはTCP/IPを扱う機能があるのでClient/Serverモデル で壁を乗り越えてみた
  14. 14. tw.zsh
  15. 15. tw.zsh• Pure ZSH実装のTwitterクライアント• TimelineへPostする機能しかありません• Timeline取得するサンプルもあります
  16. 16. 前回と比較して• curlが不要になりました• JSONパーサが添付されました• SHA1ハッシュを単独で計算できるようになりました
  17. 17. そして…
  18. 18. % time ./tw てすとめっせーじ./tw てすとめっせーじ 2.16s user 3.32s system 88% cpu 6.172 total
  19. 19. 1秒遅くなった!!
  20. 20. github.com/tmyt/tw

×