Re: [NTG-context] [dev-context] integrating context mkiv, luatex, and fmtutil, mktexlsr, etc

2007-10-03 Thread Norbert Preining
On Mi, 03 Okt 2007, Hans Hagen wrote:
> formats go to the paths defined in texmf.cnf (TEXFORMATS) and the 
> filedatabses go alongside the ls-R files, so basically it then behaves 
> like any other tex

???  "file databases go alongside the ls-R files" what do you mean? I
thought the stuff generated by luatools is something like the ls-R
database for luatex. But it is placed NOT alongside the ls-R files,
right?

> the cache path is only used and populated at runtime, so

So every time I run a luatex/context document it has to read ALL the
trees again??? Cannot be, that was the whole point of ls-R/cache. It
should be generated once (the cache).

> LUATEXCACHE=$TEXMFVAR/luacache:...
> TEXMFSHARECACHE=yes
> 
> should be ok then; if needed, later i can look into a way to share other 
> cache stuff (say that you generate tmc files for 300 fonts at 
> installation time) but if i understoof right, the main reason was 
> formats and file databases

Yes, currently the main reason is for ls-R replacement and format
location. But font data could be useful, too. My system has quite a lot
of fonts ...



On Mi, 03 Okt 2007, Hans Hagen wrote:
> texexec --make --luatex en
[...]
> this depends on the value of TEXFORMATS nd what path is first writable

Hmm,
$ export TEXFORMATS=/home/norbert/.texmf-var/web2c
$ texexec --make --luatex en
...
TeXExec | using tex engine luatex
TeXExec | using tex format path /home/norbert/.texmf-var/web2c/luatex
TeXExec | generating tex format cont-en
...
Transcript written on cont-en.log.

LuaTools |
LuaTools | runtime: 0.18 seconds
TeXExec | no lua compilations needed
TeXExec |
TeXExec | tex engine path: /home/norbert/.texmf-var/web2c/luatex
TeXExec |
TeXExec |
TeXExec | runtime: 9.486118
$ ls ~/.texmf-var/web2c/luatex
$ ls -l ~/luatex-cache/context/f7d1b3c25487ab1e1035aff1c53b90da/formats/
-rw-r--r-- 1 norbert norbert 5669003 2007-10-03 14:07 cont-en.fmt
-rw-r--r-- 1 norbert norbert   38786 2007-10-03 14:07 cont-en.log
-rw-r--r-- 1 norbert norbert  159484 2007-10-03 14:07 cont-en.lua
-rw-r--r-- 1 norbert norbert  112438 2007-10-03 14:07 cont-en.luc
$

So the format is placed in some strange ;-) place under luatex-cache.

> btw, reminds me ... is this becoming a cross distribution linux
> convention (was already so on the mac) ... no longer root users, but
> always a sudu needed?

No, Debian does not install sudo at all per default. There is a real
root user.

-

To sum it up: It is a bit unclear what purpose the cache is used for:
- ls-R replacement, ie some sort of file database
- preprocessed font data cache so that loading the stuff is done faster
- formats??? what is saved for this

But all of this is somehow static. On a normal system a normal user
shouldn't have the necessity to change anything of the above. That
should be done at install time of the respective stuff.

Furthermore, the cache could be used (no idea whether this is true) for:
- single job caching of data
wouldn't it be better to keep generated files like this in the
cwd, like .aux, etc files
- caching of user files
like the above, but initiated by the user

Again, I don't see any other use than these ones, but please enlighten
me what else it is used for. But in this case some mktexlsr-ish approach
would make sense.

So suggestion, like any TEXMF tree contains a ls-R file, we could have
for any TEXMFTREE a lcache/ directory $tree/lcache/ which contains the
cache for this tree.

Since luatools and other things extract the texmf trees anyway from the
TEXMFCNF variable, the cache could be read from there.

What was the reason to do the hashing somewhere else but add the md5sums
etc for these trees?


Best wishes

Norbert

---
Dr. Norbert Preining <[EMAIL PROTECTED]>Vienna University of Technology
Debian Developer <[EMAIL PROTECTED]> Debian TeX Group
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
AINSWORTH (n.)
The length of time it takes to get served in a camera shop. Hence,
also, how long we will have to wait for the abolition of income tax or
the Second Coming.
--- Douglas Adams, The Meaning of Liff
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] [dev-context] integrating context mkiv, luatex, and fmtutil, mktexlsr, etc

2007-10-03 Thread Hans Hagen
Norbert Preining wrote:
> On Mi, 03 Okt 2007, Hans Hagen wrote:
>> formats go to the paths defined in texmf.cnf (TEXFORMATS) and the 
>> filedatabses go alongside the ls-R files, so basically it then behaves 
>> like any other tex
> 
> ???  "file databases go alongside the ls-R files" what do you mean? I
> thought the stuff generated by luatools is something like the ls-R
> database for luatex. But it is placed NOT alongside the ls-R files,
> right?

well, "TEXMFSHARECACHE=yes" makes sure that it is put in the same path 
as the ls-r file

>> the cache path is only used and populated at runtime, so
> 
> So every time I run a luatex/context document it has to read ALL the
> trees again??? Cannot be, that was the whole point of ls-R/cache. It
> should be generated once (the cache).

no, not the trees, but if one uses a font, say lmroman10-regular.otf, 
then the 'converterd/prepared/whatever' datatable is cached so only that 
file ends up in the cache (flat structure, so, when one needs 
lmroman10-regular.otf, i first look in the cache (no database needed) 
for a tmc/a file, if not present i generate one, using the otf file from 
the normal tree, looked up in a kpse like way)

>> LUATEXCACHE=$TEXMFVAR/luacache:...
>> TEXMFSHARECACHE=yes
>>
>> should be ok then; if needed, later i can look into a way to share other 
>> cache stuff (say that you generate tmc files for 300 fonts at 
>> installation time) but if i understoof right, the main reason was 
>> formats and file databases
> 
> Yes, currently the main reason is for ls-R replacement and format
> location. But font data could be useful, too. My system has quite a lot
> of fonts ...

sure, but that demands some deep thinking because currently i use 
version numbers in the cached data and i don't want to open all cached 
files with the same name in order to check

> 
> 
> On Mi, 03 Okt 2007, Hans Hagen wrote:
>> texexec --make --luatex en
> [...]
>> this depends on the value of TEXFORMATS nd what path is first writable
> 
> Hmm,
> $ export TEXFORMATS=/home/norbert/.texmf-var/web2c
> $ texexec --make --luatex en
> 
> TeXExec | using tex engine luatex
> TeXExec | using tex format path /home/norbert/.texmf-var/web2c/luatex
> TeXExec | generating tex format cont-en
> 
> Transcript written on cont-en.log.

i know -) texexec only looks there and reports what it finds; texexec 
itself is unaware of lua and caches and ... i need to fix that

> LuaTools |
> LuaTools | runtime: 0.18 seconds
> TeXExec | no lua compilations needed
> TeXExec |
> TeXExec | tex engine path: /home/norbert/.texmf-var/web2c/luatex
> TeXExec |
> TeXExec |
> TeXExec | runtime: 9.486118
> $ ls ~/.texmf-var/web2c/luatex
> $ ls -l ~/luatex-cache/context/f7d1b3c25487ab1e1035aff1c53b90da/formats/
> -rw-r--r-- 1 norbert norbert 5669003 2007-10-03 14:07 cont-en.fmt
> -rw-r--r-- 1 norbert norbert   38786 2007-10-03 14:07 cont-en.log
> -rw-r--r-- 1 norbert norbert  159484 2007-10-03 14:07 cont-en.lua
> -rw-r--r-- 1 norbert norbert  112438 2007-10-03 14:07 cont-en.luc
> $
> 
> So the format is placed in some strange ;-) place under luatex-cache.

hm, also with the new version and the env var set? here it nicely goes 
to texmf-linux/web2c/luatex

btw, the 'strange' is just an md2 of the tree

> To sum it up: It is a bit unclear what purpose the cache is used for:
> - ls-R replacement, ie some sort of file database

indeed, more flexible, faster etc, and in the future we can use it for more

> - preprocessed font data cache so that loading the stuff is done faster

indeed, only at runtime, so normally in the users path someplace

> - formats??? what is saved for this

a cont-en.fmt as well as a cont-en.luc file, the format and it sstub

> But all of this is somehow static. On a normal system a normal user
> shouldn't have the necessity to change anything of the above. That
> should be done at install time of the respective stuff.

no, the font cache is not pregenerated at all, think of it like this:

- luatex loads otf font (takes time)
- provides it as table to mkiv (takes more time)
- mkiv adds a few things, preprocesses the font a bit
- then saves it as table (compiled) so that loading goes in an eyeblink

> Furthermore, the cache could be used (no idea whether this is true) for:
> - single job caching of data
>   wouldn't it be better to keep generated files like this in the
>   cwd, like .aux, etc files

we're talking of megabytes here

btw, context has no aux, toc etc file but a tuo file where all multi 
pass data goes into; in mkiv there is a lua companion because much of 
that data is not stored in lua tables (i still have to do the table of 
contents)

> What was the reason to do the hashing somewhere else but add the md5sums
> etc for these trees?

lengths of paths and such; i run luatex on the unix web/etc servers and 
have multiple trees in parallel, so now i can with one variable changed 
access all data;

/temp/luatex/context//whatever


/temp/luatex/context/c:/blabla/tex/blabl

Re: [NTG-context] [dev-context] integrating context mkiv, luatex, and fmtutil, mktexlsr, etc

2007-10-03 Thread Hans Hagen
Norbert Preining wrote:

> Are these megabytes kept and are they useful for later runs? If yes,
> then it is ok to put them in a separate cache (I assume the stuff is
> useful, it is the font stuff).

not sure yet, maybe later; but there is a cache cleaner (i may even 
thrash by date and usage)

> Hmm, but if the caches would be in TEXMFTREE/lcache/ then the only thing
> necessary would be a change of
>   TEXMFCNF
> referencing other trees.
> 
> (Sorry, only trying to understand the details ...)

sure, all depends on what the cache var is set too (too many variants so 
i play safe and hash (but i can make that piece configurable if needed)

the beta is on the website and on the ftp

Hans

-
   Hans Hagen | PRAGMA ADE
   Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
  | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] [dev-context] integrating context mkiv, luatex, and fmtutil, mktexlsr, etc

2007-10-03 Thread Norbert Preining
HI Hans!

On Mi, 03 Okt 2007, Hans Hagen wrote:
> >database for luatex. But it is placed NOT alongside the ls-R files,
> >right?
> 
> well, "TEXMFSHARECACHE=yes" makes sure that it is put in the same path 
> as the ls-r file

Ah, ok, that is with the new context you created today. No, didn't test
this till now ;-) First I guess I need an updated luatex you said.

> no, not the trees, but if one uses a font, say lmroman10-regular.otf, 
> then the 'converterd/prepared/whatever' datatable is cached so only that 
> file ends up in the cache (flat structure, so, when one needs 
> lmroman10-regular.otf, i first look in the cache (no database needed) 
> for a tmc/a file, if not present i generate one, using the otf file from 
> the normal tree, looked up in a kpse like way)
[...]
> >- preprocessed font data cache so that loading the stuff is done faster
> 
> indeed, only at runtime, so normally in the users path someplace

Hmm, I still don't get it. In all this processing, is there a job
depending thing contained? I thought extracting all those tables etc can
be done independently of all jobs (and will help all jobs).

Anyway, I got it. So this is not a bad thing at all to have this stuff
generated at job running time, so we (integrators) don't have to worry
about it.

Only finding all the files is important for a start, so ls-R
replacement.


> >$ ls -l ~/luatex-cache/context/f7d1b3c25487ab1e1035aff1c53b90da/formats/
> >-rw-r--r-- 1 norbert norbert 5669003 2007-10-03 14:07 cont-en.fmt
> >-rw-r--r-- 1 norbert norbert   38786 2007-10-03 14:07 cont-en.log
> >-rw-r--r-- 1 norbert norbert  159484 2007-10-03 14:07 cont-en.lua
> >-rw-r--r-- 1 norbert norbert  112438 2007-10-03 14:07 cont-en.luc
> >$
> >
> >So the format is placed in some strange ;-) place under luatex-cache.
> 
> hm, also with the new version and the env var set? here it nicely goes 
> to texmf-linux/web2c/luatex

Probably an instance of "get the new beta", btw, where do I get it, from
the usual download place? Or is there something else for betas?

> >- formats??? what is saved for this
> 
> a cont-en.fmt as well as a cont-en.luc file, the format and it sstub

Yes of course, but what needs to be cached here but the sole information
that the file exist? (ie updating ls-R/cache)

> >But all of this is somehow static. On a normal system a normal user
> >shouldn't have the necessity to change anything of the above. That
> >should be done at install time of the respective stuff.
> 
> no, the font cache is not pregenerated at all, think of it like this:
> 
> - luatex loads otf font (takes time)
> - provides it as table to mkiv (takes more time)
> - mkiv adds a few things, preprocesses the font a bit
> - then saves it as table (compiled) so that loading goes in an eyeblink

Ok, so after the first processing later jobs will have access to these
tables in a blink. Ok, don't mind. Good for me ;-) No need to worry
about this.

> >Furthermore, the cache could be used (no idea whether this is true) for:
> >- single job caching of data
> > wouldn't it be better to keep generated files like this in the
> > cwd, like .aux, etc files
> 
> we're talking of megabytes here

Are these megabytes kept and are they useful for later runs? If yes,
then it is ok to put them in a separate cache (I assume the stuff is
useful, it is the font stuff).

> >What was the reason to do the hashing somewhere else but add the md5sums
> >etc for these trees?
> 
> lengths of paths and such; i run luatex on the unix web/etc servers and 
> have multiple trees in parallel, so now i can with one variable changed 
> access all data;
> 
> /temp/luatex/context//whatever
> 
> 
> /temp/luatex/context/c:/blabla/tex/blabla/whatever
> 
> 
> does not work that well, so i hash the treeroot

Hmm, but if the caches would be in TEXMFTREE/lcache/ then the only thing
necessary would be a change of
TEXMFCNF
referencing other trees.

(Sorry, only trying to understand the details ...)

Best wishes

Norbert

---
Dr. Norbert Preining <[EMAIL PROTECTED]>Vienna University of Technology
Debian Developer <[EMAIL PROTECTED]> Debian TeX Group
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
He stood up straight and looked the world squarely in the
fields and hills. To add weight to his words he stuck the
rabbit bone in his hair. He spread his arms out wide. `I
will go mad!' he announced.
 --- Arthur discovering a way of coping with life on
 --- Prehistoric Earth.
 --- Douglas Adams, The Hitchhikers Guide to the Galaxy
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/l