Many thanks, that was indeed the problem, I have added that
line and it reports a figure back down into the 90 kb region.
The annoying part was, I had sort of realised I needed to do
that and had put this wrong line in
Of course it made no difference, so I commented it out and
didn't mention it in my mail.
> To:
lua-l@lists.lua.org
> From:
siffiejoe@gmx.net
> Date: Wed, 9 Oct 2013 23:01:39 +0200
> Subject: Re: Misunderstanding mem allocation and require
files
>
> Am 09.10.2013 22:43 schröbte Geoff Smith:
> > Hi
> >
>
> Hi!
>
> >
> > language = nil -- I was expecting this to free most
of my memory
> >
> > collectgarbage("collect")
> >
> > So that big table in the require file is likely not
being freed totally by the garbage collection. I don't
understand why that is happening
> >
> > Any thoughts or explanation would be appreciated
>
> The value returned by a call to `require` is cached in
the
> `package.loaded` table (or `debug.getregistry()._LOADED`,
which is the
> same table), so that a second call to `require` doesn't
have to load the
> Lua module again. You can do
>
> language = nil
> package.loaded.frenchBig = nil
> collectgarbage("collect")
>
> if you really want to get rid of the frenchBig data.
`dofile` doesn't do
> any caching, so
>
> dofile( assert( package.searchpath( "frenchBig",
package.path ) ) )
>
> would be an alternative to `require` if you don't want
caching at all ...
>
> >
> > Thanks
> >
> > Geoff
> >
>
> HTH,
> Philipp
>
>
>
>
>