fc2ブログ

2014年08月 の記事一覧

電卓の修理

大学1年の時に秋葉原で買った1500円くらいの関数電卓。学生時代はよく使ったものだが、この頃ではPCの前にいることが多く、めっきり出番が少なくなった。

とは言え、ときどき普通の電卓として使うことがあるので机の中に入れてある。しかし、久々に使ってみたら液晶の数字の一部が表示されなくなっていた。タチの悪いことに、「8」が「3」になってしまっている。

かれこれ10年近く使っていることになるのでそろそろ寿命という人もいるだろうが、自分は昔から何でもダメ元で修理を試みるという貧乏魂を発揮してきた人間なので、修理する気になった。というのも、この手の故障の原因は半田劣化による半田付け部の剥離が大半だ。ということは、当該部をちょっと加熱してやるだけで症状が緩和されるはず。それで直るならそんなに時間はかからない。 【続きを読む】

Growl 2.1.3をビルドしてみる

自分が常用しているメールチェックソフトが通知センターに対応していないので、まだしばらくGrowlを使うことにした。
ところで、自分は未だにGrowl ver.1を使い続けていたのだが、どうも10.9では動かないらしい。この機会に乗り換えることにした。

AppStoreで400円で購入できるのだが、気晴らしの片手間でビルドしてみることにした。

なお、この記事は開発ツール等を自力でセットアップできるくらいのスキルを持つ人を対象としている。そうでない人はおとなしく購入すれば良いと思う。
ビルド手順については公式Webページに載っているので一読すべし。
http://growl.info/documentation/developer/growl-source-install.php

ツール類をすでに導入済みの人は作業時間10分程度でインストールできる。ソースのダウンロードとかビルドとかの待ち時間が必要なので、全体では30分程度か。 【続きを読む】

TeXLiveのlatexが遅い件

仕事で使っているMacのうち1台をLionからMavericksにアップデートした。正確にはクリーンインストールしたのだが。

ともあれ、これを機にMacPortsからHomebrewに乗り換えた。
これに伴ってMacPortsで入れていたTexをTexLiveに乗り換えたのだが、とてつもなく遅い。

具体的にどのくらい遅いのかを測定してみた。

■比較対象マシン
○MacPorts pTex
OS: Mountain Lion 10.8.5
CPU: Core i7 2.3GHz
Memory: 16GB
Disk: HDD 1TB

○TeXLive 2014
OS: Mavericks 10.9.4
CPU: Core i5 1.7GHz
Memory: 4GB
Disk: SSD 256GB

1000行くらいの英文TeXファイルをlatexにかけてみた。
連続10回実行した場合の時間をtimeコマンドで測定した。

■MacPortsのTeX
% time (repeat 10 latex hoge.tex)
( repeat 10; do; latex hoge.tex; done; ) 0.71s user 0.08s system 96% cpu 0.822 total

■TeXLive 2014
% time (repeat 10 latex hoge.tex)
( repeat 10; do; latex hoge.tex; done; ) 7.37s user 0.26s system 99% cpu 7.692 total

差は歴然。TeXLiveの方は10倍程度の時間がかかっている。
マシンスペックの差はあるが、ここまでの差になるとは思えない。

TeXを実行するたびにこんなに時間がかかるのはとてもイライラする。
そもそもTeXがタイプセットする仕組みをしっかり理解しているわけではないので原因を探ろうにもとても時間がかかってしまいそう。どこかに解決の糸口はないものだろうか。


■2014/08/01追記:

tlmgr confを確認せよとの情報をいただいた。
確認したところ、デフォルトではkpathseaで~/Libraryとかを検索しにいっているようだ。ひとまずこれを外してみた。

具体的には/usr/local/texlive/2014/texmf.cnf、/usr/local/texlive/2014/texmf-dist/web2c/texmf.cnfの中で~/の下に関わるものをすべてコメントアウトした。

結果はこれ。
% time (repeat 10 latex hoge.tex)
( repeat 10; do; latex hoge.tex; done; ) 6.84s user 0.23s system 99% cpu 7.108 total

10%程度の改善か。もしかすると、古いバージョンでは検索パスが少ないということなのかもしれない・・・。だとするとこの辺で手を打てということか。


% tlmgr conf
=========================== version information ==========================
tlmgr revision 34227 (2014-05-23 15:13:03 +0200)
tlmgr using installation: /usr/local/texlive/2014
TeX Live (http://tug.org/texlive) version 2014

==================== executables found by searching PATH =================
PATH: /usr/texbin:/usr/local/mysql/bin:/Applications/adt-bundle/sdk/platform-tools:/Users/pman0214/bin:/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin
kpsewhich: /usr/texbin/kpsewhich
updmap: /usr/texbin/updmap
fmtutil: /usr/texbin/fmtutil
tlmgr: /usr/texbin/tlmgr
tex: /usr/texbin/tex
pdftex: /usr/texbin/pdftex
mktexpk: /usr/texbin/mktexpk
dvips: /usr/texbin/dvips
dvipdfmx: /usr/texbin/dvipdfmx
=========================== active config files ==========================
texmf.cnf: /usr/local/texlive/texmf-local/web2c/texmf.cnf
texmf.cnf: /usr/local/texlive/2014/texmf.cnf
texmf.cnf: /usr/local/texlive/2014/texmf-dist/web2c/texmf.cnf
updmap.cfg: /usr/local/texlive/2014/texmf-config/web2c/updmap.cfg
updmap.cfg: /usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg
fmtutil.cnf: /usr/local/texlive/2014/texmf-var/web2c/fmtutil.cnf
config.ps: /usr/local/texlive/2014/texmf-config/dvips/config/config.ps
mktex.cnf: /usr/local/texlive/2014/texmf-dist/web2c/mktex.cnf
pdftexconfig.tex: /usr/local/texlive/2014/texmf-config/tex/generic/config/pdftexconfig.tex
============================= font map files =============================
psfonts.map: /usr/local/texlive/2014/texmf-var/fonts/map/dvips/updmap/psfonts.map
pdftex.map: /usr/local/texlive/2014/texmf-var/fonts/map/pdftex/updmap/pdftex.map
ps2pk.map: /usr/local/texlive/2014/texmf-var/fonts/map/dvips/updmap/ps2pk.map
kanjix.map: /usr/local/texlive/2014/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map
=========================== kpathsea variables ===========================
TEXMFMAIN=/usr/local/texlive/2014/texmf-dist
TEXMFDIST=/usr/local/texlive/2014/texmf-dist
TEXMFLOCAL=/usr/local/texlive/texmf-local
TEXMFSYSVAR=/usr/local/texlive/2014/texmf-var
TEXMFSYSCONFIG=/usr/local/texlive/2014/texmf-config
TEXMFVAR=
TEXMFCONFIG=
TEXMFHOME=
VARTEXFONTS=$TEXMFVAR/fonts
TEXMF={$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}
SYSTEXMF=/usr/local/texlive/2014/texmf-var:/usr/local/texlive/texmf-local:/usr/local/texlive/2014/texmf-dist
TEXMFDBS={!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}
WEB2C={$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}/web2c
TEXPSHEADERS=.:{$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}/{dvips,fonts/{enc,type1,type42,type3}}//
TEXCONFIG={$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}/dvips//
ENCFONTS=.:{$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}/fonts/enc//
TEXFONTMAPS=.:{$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!/usr/local/texlive/2014/texmf-config,!!/usr/local/texlive/2014/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2014/texmf-dist}/fonts/map/{kpsewhich,pdftex,dvips,}//
==== kpathsea variables from environment only (ok if no output here) ====