Re: Bind features

new topic     » goto parent     » topic index » view thread      » older message » newer message

Ralf writes:
> A lot of programs will crash, when bound, with the
> 300-statement thingie, since bind uses the pd-version of
> the interpreter, rather than the registered version. (logically)

Registered users of bind (which in 2.1 is all users of bind)
do not have a 300 limit in their bound .exe files.

Ralf writes:
> Be warned with constants, they are in memory twice.
> Once in your source, and once in the allocated memory for
> that constant. However, fortunately, Euphoria, being one-pass
> will remove the memory the constant is using the first time it
> reads the constant decleration. However, this is, when the
> program is *not* bound. Otherwise, the executable is loaded,
> as a whole, into the memory by the operating system.

1. After processing a constant declaration, all the data and
   code used in calculating the constants value is freed. e.g.

   constant SIZE=10+100-22*foobar({1,2,3,4,5})

   Some intermediate code and temporary data is
   generated to evaluate this expression, but it's all freed up
   after it runs, leaving just the final result in memory.

   This is true of any statement that executes at
    the "top-level", outside of a routine.

2.  Whether bound or not, the operating system only
     loads the Euphoria interpreter into memory. It is then
     up to Euphoria to open a file (the same .exe file, in the case
     of a bound  executable) and read in your Euphoria program.
     As a quick test, I added 40 Mb of garbage onto the end of
     a bound .exe file. It had no effect of the speed of running the
     .exe. Obviously, the operating system was not trying to load
     the 40 Mb of garbage into the 32 Mb of memory on the machine.

Regards,
     Rob Craig
     Rapid Deployment Software
     http://members.aol.com/FilesEu/

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu