2004年09月03日

perlcc試してみました。

Posted by nene2001 at 04:21 / Tag(Edit): / 1 Comments: Post / View / 0 TrackBack / Google Maps このエントリーを含むはてなブックマーク

もうすぐ、ASP的なアレではなく納品の形でシステム納める可能性が高いのですが、あんまりノウハウ丸見えで出すってのもアレですし、またシステム納めとは言え、独立可能な一部は内部でコロッとした形(こういう表現、製造業以外の業種では言わないのかな?)での製品にまとめ挙げたいので、ソースの一部を隠蔽出来そうな手法を探してみました。
そもそもオープンソースプラットフォームのSledgeや、CPANに登録してたりするようなうちのモジュールなんかは、或いはCPANにまだ公開してないものも含めてもソフトウェア部品は、別に見られてもいいんだけど、それをどうまとめあげてシステム化するかのノウハウは隠したいなと(Perl界の思想に反する?)。

んで、perlccなるものの存在を知り、ちょっと試してみた。

原因は判らないけど、ここギコのトリガスクリプトは単純にコンパイルしただけでは動かなかった。
正確には、ローカルで走らせればちゃんとレスポンスしてくれるけど、Web経由でアクセスしたらInternal Server Error。

詳細原因は未調査で、とりあえずもうちょっと簡単なところから再テスト。

CGIで単純なHello World…問題なく動く。
FastCGI…perlモジュールのCGI::Fast経由で、コンパイルしてもちゃんとFastCGI動作してくれる。常駐サーバ化も問題なし。
evalを使った実行時コンパイル等を含んでも、特に問題なさそう。
evalでの文字列実行で、文字列中でrequireしてオブジェクト作成、なんてのも問題なし。

実行速度も比較。
テスト内容は、先に書いた確認事項を全部盛り込んだFastCGI常駐サーバにして、GET引数からの入力文字列をevalの中でオブジェクトにし、evalの外でオブジェクトが出来ている事を確認するもの。
ついでにFastCGIループのカウントアップと表示も。
そいつを家からここギコサーバへの

ab -n 100 -c 50 url...

でテストしてみた。

結果。
コンパイル版。

Requests per second: 52.46 [#/sec] (mean)
Time per request: 953.125 [ms] (mean)
Time per request: 19.063 [ms] (mean, across all concurrent requests)
Transfer rate: 10.49 [Kbytes/sec] received

元スクリプト版。
Requests per second: 51.20 [#/sec] (mean)
Time per request: 976.563 [ms] (mean)
Time per request: 19.531 [ms] (mean, across all concurrent requests)
Transfer rate: 10.24 [Kbytes/sec] received

あと数回試行してみたが、コンパイル版はおおむね秒あたり52〓53処理、元スクリプト版は50〓51処理で、若干速くなったのかなと言う感じ。

でも保守性の低下を考えると、この程度の速度向上ためにperlccを使うのもイマイチアレだし、それに当然だけど、evalなんかにも対応できるようperlインタプリタも中に含まれるせいだと思うけど、実行ファイルがやたらでかい。
スクリプトなら300バイト程度の単純プログラムが2MB弱。
これなら飽くまで、仕様用途はコード隠蔽くらいしかないかなあと思う。
でもまあ、それだけでも、有用な機能である事は間違いないね。

Posted with ecto

Related query words in Google & Yahoo
Related Books from Amazon
Trackback to this entry
TrackBack URL :
Trackbacks
トラックバックはありません。
Comments

perlcc、ライブラリの問題かも。
静的リンクしちゃうとか。

Posted by: 山師さん@トレード at 2004年09月04日 16:26
Post a comment












Remember personal info? 
2004年09月
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

About Me

Navigation

Search
Google
Web
kokogiko.net
Archives
Recent Entries
Recent Comments
Recent Trackbacks
『共通善は共有してはいけない』に一部解毒され、一部またもやもやした(ここギコ!)
右翼はアイヌや沖縄を包摂する論理を構築すべきではないのか
『共通善は共有してはいけない』に一部解毒され、一部またもやもやした(ここギコ!)
確信犯より無関心・無神経の方が根が深い大問題
"「次世代交通情報を考える」ブロガーミーティング"に参加(チミンモラスイ?)
AMNブロガーミーティング「ユビークリンク/全力案内!」に行ってきました。
Google未オルソ衛星画像にぶった切られた我が母校(ここギコ!)
未オルソ画像が生むジョジョの世界&MSNの航空写真はオルソされている?
AMNブロガーミーティング「ユビークリンク/全力案内!」に行ってきました。(ここギコ!)
あいまいな個人認証の技術ってないんだろうか
ジオメディア忘年会2008に行ってきた(近江商人JINBLOG)
ジオメディア忘年会行ってきました
ジオメディア忘年会 2008 を終えて(Cirius Lab. ブログ)
ジオメディア忘年会行ってきました
ジオメディア忘年会行ってきました(ここギコ!)
ジオメディア忘年会 新年会から始まり東京1、2、関西と続いたジオメディア2008の締めくくり
ジオメディア忘年会行ってきました(ここギコ!)
モーバイルインフォサーチ実験から続く想いの系譜
「Web 2008 Expo」行って来ました(ここギコ!)
コンテキストを検知できないモバイルWebなどあり得ない
Hatena bookmarked
My del.icio.us

Banners

Syndication
Powered by
Get it!!