# [tex-live] Pathological search path for TeXMF.cnf

Reinhard Kotucha reinhard.kotucha at web.de
Sun Mar 15 13:21:01 CET 2015

On 2015-03-15 at 18:28:11 +0900, Akira Kakuto wrote:

> Dear Reinhard,
>
> > I don't know why Windows is [sometimes] so slow.
>
> Since windows OS uses monocase filesystem, all characters in
> ls-R are interpreted after transforming into lower case,
> and filename characters in hash tables are transformed into
> lower case. These processes are rather expensive.
> If users of windows admit, I think I can remove the relevant
> codes. In this case, users on windows have to use case
> sensitive names in TeX.
> For example at present, one can find IEEEtran.cls by
> \documentclass{ieeetran}
> on windows.
> If I remove the relevant codes, one should correctly write as
> \documentclass{IEEEtran}
> I think this is natural in TeX world and users may admit.

Dear Akira,
yes, it would be nice if Windows users spell file names consistently.
Whenever I try to help Windows users, I have to rename their files.
They write \includegraphics{foo.ps} though the actual name of the file
is FOO.ps.  This is quite annoying.

Case insensitive file names were invented in the 60ies when IBM
assumed that there is no need for more than six computers worldwide.

At this time it was quite easy to deal with arbitrary case.  In ASCII
lowercase and uppercase letters differ only by one bit, hence they
could be transformed by a single instruction in machine code.
Nowadays Windows is using zillions of national character encodings and
other systems are using Unicode.  Conversion is more expensive now,
maybe even table lookups are required now.

Even worse, environment variables are case insensitive too on Windows.
This is quite painful because programming languages can't simply push
the environment to an associative list.  You have to make sure that
Path, PAth, PATh, PATH and all the other permutations are allowed.

Though I dislike case insensitive file names I can't believe that this
is the reason that a particular file can be compiled within eight
seconds under Linux while it takes 40 seconds under Windows.  Please
note that the Linux system is running on the same Windows system in a
virtual machine (VMware).  The hardware can't be the culprit.

Regards,
Reinhard

--
------------------------------------------------------------------
Reinhard Kotucha                            Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                    mailto:reinhard.kotucha at web.de
------------------------------------------------------------------