いろいろ調べてみたら、Eclipse Galileo Sr2 (v 3.5.2) Eclipse for PHP Developers をエクリプスのサイトからダウンロードしたものでないとまともに動かないらしい。
てか、普通 3.6.2 とか、以前のバージョンはちゃんと動くと期待するでしょう?
なんで放置?
いろいろ調べてみたら、Eclipse Galileo Sr2 (v 3.5.2) Eclipse for PHP Developers をエクリプスのサイトからダウンロードしたものでないとまともに動かないらしい。
てか、普通 3.6.2 とか、以前のバージョンはちゃんと動くと期待するでしょう?
なんで放置?
Eclipse やーめた。
エディタだけで十分なので Bluefish を使うことにしました。
とにかくサッと編集できて満足です。
なんかこのブログも Twitter 的になってますねー。
編集中にいきなり落ちたり、もう最悪です。
もう調査に疲れました。
CentOS 5.x + Eclipse PDT 3.5.2 で良いです。
CentOS 5.x で DockbarX が使えないのは残念だけど、サクサク開発作業が行える方が楽です。
後で、Scientific Linux 6.1 でも Eclipse が安定して使えるか調べてみます。
あ、Ubuntu を使う理由が無くなった…
Linux Mint 11 (Ubuntu Linux 11.04) の Eclipse で PDT を使っていると、CPU 使用率がほぼ 100% となって、操作のレスポンスが悪くなっていました。
最近、Linux Mint 11 で Eclipse を使う機会が少なかったので放置していましたが、久しぶりに必要となったため、不便な思いをしました。
気合を入れてぐぐってみると、以下を /usr/lib/eclipse/eclipse.ini に追加すると良さそうでした。
-XgcPrio:pausetime -XpauseTarget:250
今のところ、良いみたいです。快適になりました。
Eclipse にガベージコレクションをさせれば良いようです。
「ウィンドウ」→「設定」→「一般」→「ヒープ・ステータスを表示」
しばらく最新版 Eclipse 3.7 Indigo を使ってみます。
RHEL 5.6 って、 EPEL や RPMForge のリポジトリを追加すると、まだまだ使えちゃうんですよね。
なんか CentOS が信用できなくなったので、Scientific Linux 5.6 を VMware Player でインストールしてみました。
しかも今回は、無謀にも以下の環境です。
・Mother Board : D410PT (ATOM D410)
・Memory : DDR2 2GB×2
・HDD : 160GB SATA 2.5inch
・Windows 7 64bit
・VMware Player
結構トラブルが出たのでメモしておきます。
仮想マシンを作成したら、一旦 VMware Player を終了して、.vmx ファイルに以下を追加しておきます。
今回のように非力なマシンだと、大幅に体感速度が向上します。OSのインストールを楽に行うため、この時点で行っておきます。
mainMem.useNamedFile = "FALSE" MemTrimRate = "0"
今回は以下を追加する必要がありました。
divider=10 apiccalibrationdiff=10000
udev に VMware が追加設定するのですが、誤りがあるため、以下のファイルを修正します。
/etc/udev/rules.d/99-vmware-scsi-udev.rules
内容は以下の URL を参考にしてください。
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1023898
CentOS と違って、インストール直後には yum-fastestmirror がインストールされていないので、以下のコマンドでインストールします。
# yum install yum-fastestmirror
その他、EPEL と RPMForge のリポジトリの追加をお勧めします。
参考 :
http://old.ikoinoba.net/wiki/?VMware#i82c51c6
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1032607
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1023898
大きな機能追加がないので、大したボリュームではないだろうと思っていましたが、とんでもない。
2台以上のアップデートをする場合には、Windows 7 SP1 はダウンロードセンターからのダウンロードすることを強くおすすめします。
特に x64 の場合は無駄な時間を省けます。
関数を定義。
function fit_font_size( $width, $str, $max_font_size = 16 ) { return min( $max_font_size, $width / mb_strlen( $str ) * 72 / 25.4 ) ; }
$width は表示領域の幅で単位は mm。
$str は表示する文字列。
$max_font_size は最大フォントサイズで単位はポイント。
式中の 72 は 1インチあたりのポイント数。
式中の 25.4 は 1インチのmm。
1文字あたりの幅(mm)を計算してポイントへ変換。
その後最大フォントサイズに丸める。
以下のクエリで一覧を表示したかったのですが、かなり時間がかかっていました。
select * from "test_order" where ("order" is null) and ("cart" in (select "cart" from "test_order_item")) order by "cart" desc ;
総実行時間: 37,102.619 ミリ秒
とても実用ではありません。
古い PostgreSQL は IN句が極端に遅かったので、以下のように変更してみました。
select * from "test_order" where ("order" is null) and (exists(select "cart" from "test_order_item" where "test_order_item"."cart" = "test_order"."cart")) order by "cart" desc ;
総実行時間: 47,345.715 ミリ秒
さらに悪化しました。
WHERE 条件から JOIN に変更してみました。
select "test_order".* from "test_order" join (select "cart" from "test_order_item" group by "cart") as "test_order_item" on ("test_order_item"."cart" = "test_order"."cart") where ("test_order"."order" is null) order by "test_order"."cart" desc ;
総実行時間: 15,586.267 ミリ秒
劇的な改良となりました。
ちなみに GROUP -> DISTINCT とした場合。
select "test_order".* from "test_order" join (select distinct "cart" from "test_order_item") as "test_order_item" on ("test_order_item"."cart" = "test_order"."cart") where ("test_order"."order" is null) order by "test_order"."cart" desc ;
総実行時間: 28,382.042 ミリ秒
改悪です。
IN 句よりもサブクエリで GROUP して JOIN の方が良い場合もあるようですね。