EiffelStudio 6.4: Degree 6 speed up

by Manu (modified: 2008 Dec 23)

In the past, some of our customers, especially those who are compiling files that are not on their local hard drive, have been complaining that degree 6 takes an enormous amount of time to complete.

The reason is pretty simple. At degree 6, we fetch the name of the classes so that proper class name resolution is done in the later degrees. To fetch the name, we open the file, reads its beginning until we find the name of the class. Once found, we close the file and continue onto the next one. On a slow network, opening a file is a very expensive operation. And even on your local drive, if your OS is Windows, it could take a long time when Windows hasn't yet buffered your files.

To solve this bottleneck, EiffelStudio 6.4 will now assume on the first analysis that the class name is the same as its file name. And then when actually parsing the class at degree 5, it discovers a mismatch, it will rebuild degree 6 the expensive way to ensure that there are no other mismatches like that.

At the end of the day, it should be pretty much the same to the end users that have fixed their VD80 warnings about a class name not matching its file name. So here is your first 2009 year resolution: make sure to fix those warnings before upgrading to 6.4 to benefit from the degree 6 speed up.

Happy Eiffeling and Merry Christmas,

Manu

Comments
  • Zoran Simic (15 years ago 24/12/2008)

    Cool!

    We already fixed all those warnings, so we're good for 2009! :)