On 2018-1-14 02:19 , Clemens Lang wrote: > Hi, > > On Sun, Jan 14, 2018 at 12:01:34AM +1100, Joshua Root wrote: >> portindex isn't slow, mportopen is. You have to evaluate the changed >> Portfiles before you can extract their info. > > I haven't measures this, but I assume the majority of time in mportopen > is spent by the sub-interpreter loading the port1.0 package (i.e. > evaluating the PortSystem 1.0 line in the Portfile). Since this set of > files should be in the buffer cache after the first Portfile was > evaluated the problem is probably not the disk speed. > > This could be made much faster if Tcl had a way to 'clone' an > interpreter that already had port1.0 loaded before running the rest of > the Portfile. If somebody wants to implement that, that would probably > improve portindex speeds significantly.
That may indeed help in the general case. However I know that there are some portfiles that take a lot longer than others, such as the gcc ports. I'm not sure why. If someone wants to work on improving this, the first step is of course to profile. - Josh
