Re: IDE and eu4

new topic     » goto parent     » topic index » view thread      » older message » newer message
ChrisB said...

I believe that the reason IDE is taking so long to fire up is because of the two ways (from a simplistic point of view) that eu now includes sub-files.

The quick way - each sub included file now explicitly includes the files it needs.

The slow way - each sub included file doesn't include the files it needs so for each symbol the interpreter searches the entire program tree.

(I know this is a simplistic view, but it does explain the slowness of some programs start up)

If win32lib and ide have not been updated with these explicit includes, then the startup is significantly slower. I do not think they have yet been updated (correct me if I'm wrong). Incidentally, this also affects any programs created with win32lib. I hope they will be much faster once they are. Until then I will continue to use the pre compile IDE available in the archives.

Yes, you're basically correct. The IDE (since it was made prior to 4.0) uses global symbols exclusively for symbols used outside of a single file. Also, nearly all of the files rely on the main file to include necessary libraries, including win32lib.

With euphoria 4.0, this has consequences. Since we've added forward referencing, we can't simply assume that if a global matches the symbol we're looking for, that we've found the right symbol. We use clues, especially the files that are included by any particular file. If you never include anything, then we can't tell until the end which symbols you really want.

This increases the time it takes to start up because the parser now has more items to resolve. Also, it uses a lot more memory, so there is more allocation that goes on as the list of references grows. For the win32lib IDE, there is a quick fix. Since the main file (IDE.exw) includes everything else, you can simply add include IDE.exw to the top of its supporting files. Note that this isn't a good long term solution, but it's a quick and easy way to get going.

Matt

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

Search



Quick Links

User menu

Not signed in.

Misc Menu