2011年1月30日日曜日

テキストエディタのメモリ消費量

いくつかのテキストエディタでメモリ消費量を比較してみた。

条件は以下のとおり。
  • 手元の Windows 7 64bit のマシンを使用
  • コマンドラインから tasklist.exe を使ってメモリ消費量を調査
  • Python 2.6.6 に含まれる Python-ast.c (253KB程度) の、改行コードを CR-LF に変更(Notepadできれいに表示されるように)したものを使用
そして下の3つの場面のメモリ消費量を確認した。
  1. 起動直後のメモリ消費量
  2. ファイルをオープンした直後のメモリ消費量
  3. ファイルの最後までスクロールした後のメモリ消費量

以下のような結果に。









起動直後 (KB) ファイルオープン(KB) 末尾まで
スクロール(KB)
起動直後と
スクロール後の差分


Microsoft notepad 9020 11664 11696 2676

Emacs (Cygwin,Console) 15108 16408 18108 3000

Emacs (Cygwin,X11) 26752 28352 29564 2812

gVim 14664 15692 15784 1120

Xyzzy 15744 16888 16948 1204

秀丸 13368 14528 14536 1168

Sublime Text 35360 48308 53100 17740

Editra 59784 62160 62188 2404

Notepad++ 21716 23460 23540 1824

LREdit 15616 18016 18336 2720








秀丸やXyzzyといった有名なWindows用のテキストエディタは、やはり優秀だ。

一方で、LREditと同じくPython製のテキストエディタである Sublime は、非常にメモリ効率が悪いようだ。Sublimeでは、253KB のファイルを開くために、17740KB のメモリが必要だ。



LREditはそれほど優秀な成績というわけではないかもしれないが、コンソール版のEmacsと同じ程度のメモリ消費量ということができそうだ。(調査方法にはそれほど自信ないけど。)

LREditの最適化はこれからだ。シンタックスハイライトの情報のデータ構造などを見直す価値があるかも知れない。

2011年1月23日日曜日

LREditのカスタマイズ方法の解説を書いた

LREditのドキュメントに、カスタマイズ方法を書いた。
まだ、十分とはいえないが、カスタマイズ方法の入り口くらいにはなるかなと思う。

あと、ドキュメント中のPythonコード例のシンタックスカラーリングのために、Pygmentsを使ってみた。
LREditのドキュメントの生成には、reStructuredTextというフォーマットを使っているが、下のサイトを参考に、割と簡単に実現できた。


通常のrst2htmlの代わりに、ここにおいてある rst2html-highlight というスクリプトを使って、あとはシンタックスハイライト用のCSSを使えばOK。

2011年1月11日火曜日

LREdit に メニューバーを追加

LREditの1.05で、メニューバーを追加した。

メニューの構造もPythonで記述されており、
将来的にユーザがカスタマイズできるようになる予定だ。

また、メニューバーが不要だと感じたら、
設定メニューから、非表示にすることができる。

2011年1月7日金曜日

LREdit メニューバー 検討中

LREditには今メニューバーが付いていないのだけど
追加しようかなと思っている。

実現したら、スクリプトで柔軟にカスタマイズ可能であり
かつ、不要だと感じたら消すこともできる、
と言うものになるはずだ。

ついでに内骨格にもメニューバーを追加してみようかなと。

2011年1月5日水曜日

Windows2000で動作せず

最近のバージョンの内骨格やLREditがWindows2000で動作しなくなってしまったようだ。
Windows2000もサポートしているつもりだったのだけれど、
なにか、WindowsXP以上でないと使えない機能を使ってしまっているのだろう。

調査することにする。

2011年1月3日月曜日

テキストエディタ LREdit を公開

自作のテキストエディタ LREdit を公開した。
 https://sites.google.com/site/craftware/lredit

LREditは、Pythonでカスタマイズ可能なテキストエディタだ。

テキストエディタは、プログラマがもっとも長時間使用するアプリケーションであるため、いつかは手を出したいと思っていた分野だ。
世の中にはたくさんのテキストエディタがあるが、ほかのソフトウェア開発者の方々も、おなじような動機で開発されたのだろうか。