Why some ...+ FASTER PARSING than 2.4 !
- Posted by Al Getz <Xaxo at aol.com> Jan 01, 2006
- 486 views
Juergen Luethje wrote: > > Robert Craig wrote: > > <snip> > > > However, Euphoria is supposed to be a simple language. > > I would not want to add this complexity to the front end, > > plus complexity to the manual, as well as having newbies > > constantly say "what are those extra files for?". > > In theory it would be "transparent", but people would still > > see the extra files lying around, and if anything went wrong, > > they would wonder if they were really up-to-date. > > > > At some point, I'm going to look into shrouding of include > > files, to get a .il that can be included. I'm not sure how > > it will go, but I'd rather do that than complicate the > > whole process of running the interpreter. I do not want to > > introduce another type of intermediate file. > > I think this is actually the way to go! I hope it will be possible > to create .il files that can be included (or linked or whatever). > Very much appreciated! > > <snip> > > Regards, > Juergen > > -- > Have you read a good program lately? Hi Juergen and Rob, Some interesting ideas here. I can start to see something like: without parse (perhaps in il code) at the beginning of a file to tell the Eu interpreter not to parse the file, that it's an il file so it doesnt need it. If there was enough info stored in the il file the Eu inter. could just add it to the collection instead of having to first parse it. This would mean HUGE programs could parse actually FASTER than the old method (pre 2.5) (!!!!!) if they were built using several includes. The only include file we'd have to modify was the one we were working on (debugging) at the time, and we could always work it so that the untested code was in, yes, a different include file than the main program. Once debugged, stick it in with the rest by specifying that it's pre-parsed. I can see load times actually being FASTER than 2.4 was! This would be really GREAT! Heck, i wouldnt even mind include preparsed MyFile.ew (optional word: 'include') This way we'd have direct control over which files we want to debug and those already done and still have everything load super fast! If it turned out that we did have an error in a file that was included as 'preparsed' then we'd just have to go back and include the original file, but that's life...no big deal really. I guess the error printout info would have to be good enough to point us back to the original file line numbers also (as now). Just some ideas... Perhaps a statement: with preparsing to tell the interp to convert all the files into il types, and store them (somewhere where we wont get current_dir() errors). Then, if we want to debug a given file perhaps without preparsing MyFile.ew or something like that (a little more thought here required). Think about this: If we had a program that was 1,000,000 lines split up into as little as only *two* files file1.e (large) and file2.e (small) and we wanted to debug the code in file2.e once file1.e was preparsed imagine how fast this would load on the next run when only having to parse the small file2.e ? WOW! The problem i can see coming up is how each file gets it's current directory...if they were put in another folder they would have to have some way to get the current directory of the project exw file, not the il files themselves. This shouldnt be too hard? Take care, Al And, good luck with your Euphoria programming! My bumper sticker: "I brake for LED's"