博士課程での研究やソフトウェア開発の話とかを,思いついた時につらつらと書いています


Programming::Perl - Parrot0.7.1


Journal of pmichaud (6013)
Parrotのバージョンが0.7.1になったようです。
Parrotがメジャーバージョンになってくれないことには
Perl6の実装Rakudoが実用に達しませんしねー。
めっちゃ書きやすそうなPerl6を、早く大学の実験とかでも使いたいのです。
処理が速くないと、実験おそーな状態ですから、なかなかPerl6使えず。
メジャーリリースが楽しみですね。

Labels: ,

0 comments:

Post a comment


Programming::Perl - ふつうのPerl6入門


ふつうのPerl6入門 - YAPC::Asia 2007 Tokyo Sessions

ふつうに面白いです(笑
いや、参加したいなぁと思いました。

Labels: ,

0 comments:

Post a comment



Amazon.co.jp: Perl 6 And Parrot Essentials (Essentials): Allison Randal, Dan Sugalski, Leopold Totsch: 洋書

Perl6、いつ出るやらわからないですけど、
やっぱりどういう仕様なのか気になります。

メジャーリリースされていないのに、Perl6の本買うのってどうなんということで、
購入をしばらく見送っていましたが、我慢できずにAmazonで購入してしまいました。

到着するのが楽しみですね。

Labels: ,

0 comments:

Post a comment


Programming::Perl - Perl5.10


perldelta - Perl5.10.0の新機能


先日ActivePerlをインストールしたら5.10になっててウホッ,ってなったんですが,
結構いろいろ追加,変更されていますね.
say関数とか,Perl6にならないと使えないと思っていたのに,5.10で使えるようになっています.
というか,Perl6での機能がいくつか5.10に取り入れられていますね.
swtich文(given構文)とか,スマートマッチとか.

うれしい機能としては,
SVとかのメモリ利用方法の最適化とか,正規表現最適化とかもありますね.

削除された機能として,仮想ハッシュ(fieldsを使ったハッシュ)がなくなっています.
ま,Hash::Utilが標準モジュールで組み込まれているならいらない気もします.
fields自体は違う実装がなされていて,今までfieldsを使っているスクリプトが動かなくなることはないようです.
バイトコードコンパイラが消されています.
以前は少しでもサーバの負担を減らそうとして,
バイトコードコンパイラに期待したときもありましたが,
いまやPerlスクリプトのパース負荷なんて知れているのかもしれませんね,ハードウェア的に.
削除した理由が,ともかくなかなか上手く事が運ばなかったんでうざいから消したみたいな.
いや,うざいとかは書いていませんが,開発していかなきゃいかん!というほどのものでもなかった,
ということみたいですね.

他にもなにやらいろいろありますが,
なかなか日本語が意味不明で難しいです.
もっとうまい和訳ないもんですかね.
自分の中でもっと噛み砕いて「日本語」をアウトプットしろっつーの.

とかく,Perl5.10が出て超期待なのですが,
レンタルWebサーバはなかなかバージョンアップしてくれないんで,
当面5.10の機能に重きを置くスクリプトは作らないほうがいいですよね.
COOLにRubyインストールして!と正規会員でお願いしたんですがけられました.
まぁやすやすとバージョンアップや,新しくプログラムをインストールしたくないのはわからなくはないですが.
検討しろよったく,と思ったのも事実.
あー,今見てみてもperlしか使えませんね.
ssiやsendmailは使える様子ですが.
現在私がレンタルしているところは同人会みたいですよとおっしゃっておられて,
なんかいろいろできます.
Perl,Ruby,Pythonはもちろんのこと,SSHで入ってgccも使えるんで
ネイティブコードのCGIも実行可能です.
PHP,Java Servletも使えますし,ムービーなどのストリーミング配信,
Postgle, MySQLサーバも使えます.
メーリングリストも作れたっけか.
家族アカウントも作れたりして.

と,話がそれましたが,
Perl使いな私には,Perlのバージョンがあがったことは朗報です.
オブジェクト指向な文法が追加されたらもっとうれしかったんですけどね.

Labels: ,

0 comments:

Post a comment


Programming::Perl - XSで高速化


大学の実験プログラムをPerlで書いているのですが、
さすがに三日以上もかかるプログラムだと高速化したくなってきます。

数式の処理が重いのかなーとプロファイリングも行わずに、
高速化を試み始めました。
Pure Perlレベルだったらやれることはやったような気がしていたので、
XSに手を出すことにしました。
まぁ具体的にはInlineモジュールを使って
数式処理の部分だけCで書いたりしたのですが。

PerlとCの間の架け橋処理が非常に面倒ですね。
なんなの、SVて。
それがPerlの、何でも入る構造体なんでしょうけどね。
で、sv_2mortalっていうのがさっぱり分かっていなかったんですが、
これやっておかないとメモリリークを引き起こすそうですね。
確保済みの領域を、sv_2mortalで揮発性にするんだとか。
…ここ5日ほどマシンを文回しながら、ページングサイズが1.4GBとかになっていまして。
Perlが保有しているメモリが880MB程行ってたんですよね。
もしかして確保したメモリを揮発性にしてなかったから?
という不安がちょっとよぎりました。
でも実験が3/4ほど終了したとこなんで、
今とめたくないんですけどね。

途中から処理を再開できるようにプログラムを変更すれば済む話なんですが。
Perlの中にCを入り込ませるのは、なかなか色々知識が必要ですね。

Labels: , ,

0 comments:

Post a comment

About me

  • I'm mikken
  • From Japan
  • 学生の頃は博士課程で感性情報処理の研究をやっていました。今はベンチャー企業でWeb系システム、看護管理系システムを開発しているSEやってます。
  • My profile

Twitter

Last posts

Archives

Links


ATOM 0.3