jfbu
2015-04-30 12:51:26 UTC
Hi,
upcoming TL2015 brings a great speed improvement to kpsewhich
on Mac OS X system, thanks to Adam Maxwell's analysis of the
problem.
https://email.esm.psu.edu/pipermail/macosx-tex/2014-October/053026.html
but even after this great improvement, querying TEXMFHOME
and similar locations does still take some non vanishing time:
$ time kpsewhich --var-value=TEXMFHOME
/Users/---/Library/texmf
real 0m0.090s
user 0m0.081s
sys 0m0.006s
This is on MacBook Air, and I get similar results on a i386 Linux box
$ time kpsewhich --expand-path '$TEXMFHOME'
/---/texmf
real 0m0.109s
user 0m0.072s
sys 0m0.010s
A tenth of second just to query a repertory location seems
a lot to naive people unaware of the constraints (unknown to me)
For example, if I want to write a package and provide
a way for the user to install it in a local or user tree,
I may write a Makefile which will act after querying
the repertories locations. But one tenth of a second
for each kpsewhich call is a lot.
Could it be imagined to have some kpsewhichdir utility
which given TEXMFHOME will *instantly* return either
the environment variable $TEXMFHOME if it exists or the
TEXMFHOME setting as per the various texmf.cnf ?
best wishes
Jean-François
upcoming TL2015 brings a great speed improvement to kpsewhich
on Mac OS X system, thanks to Adam Maxwell's analysis of the
problem.
https://email.esm.psu.edu/pipermail/macosx-tex/2014-October/053026.html
but even after this great improvement, querying TEXMFHOME
and similar locations does still take some non vanishing time:
$ time kpsewhich --var-value=TEXMFHOME
/Users/---/Library/texmf
real 0m0.090s
user 0m0.081s
sys 0m0.006s
This is on MacBook Air, and I get similar results on a i386 Linux box
$ time kpsewhich --expand-path '$TEXMFHOME'
/---/texmf
real 0m0.109s
user 0m0.072s
sys 0m0.010s
A tenth of second just to query a repertory location seems
a lot to naive people unaware of the constraints (unknown to me)
For example, if I want to write a package and provide
a way for the user to install it in a local or user tree,
I may write a Makefile which will act after querying
the repertories locations. But one tenth of a second
for each kpsewhich call is a lot.
Could it be imagined to have some kpsewhichdir utility
which given TEXMFHOME will *instantly* return either
the environment variable $TEXMFHOME if it exists or the
TEXMFHOME setting as per the various texmf.cnf ?
best wishes
Jean-François