Fortran-FOSS-Programmers / ford

Automatically generates FORtran Documentation from comments within the code.
https://forddocs.readthedocs.io
GNU General Public License v3.0
405 stars 131 forks source link

Excessive run-time #16

Closed cmacmackin closed 9 years ago

cmacmackin commented 9 years ago

I have found that, when running with large projects, FORD can take several minutes to produce the output. During this time the computer can become sluggish. Simple experiments reveal that this is almost entirely down to the process of producing the search-catalog. I suspect that it is the way in which I am using BeautifulSoup in there which is causing the problem. Nothing else should be that resource-intensive.

zbeekman commented 9 years ago

I have found FORD to be a bit slow to generate documentation too, but the search pages are really, really beautiful. I was blown away. So, yes it would be nice to make the generation a little bit speedier, but the search functionality is amazing the way it is now and unless I have a massively huge project I am willing to wait.

cmacmackin commented 9 years ago

Yeah, I'm not proposing to remove the search feature--especially after the effort it took for me to put it in. At most I'd add a switch so it could be turned off if desired. The point of this issue was more to see if there was some way that I could make the generation of search data more efficient.

zbeekman commented 9 years ago

Sounds good. My comment was mostly to let you know how amazing FORD is and how beautiful the search functionality is. Optional switch to disable could have its uses for very large projects.

cmacmackin commented 9 years ago

Well, I'm glad you like it. But I wouldn't be too complimentary until you've seen the source code. It has become increasingly messy and I don't know if anyone other than me could maintain it at this point.

jacobwilliams commented 9 years ago

The search feature is awesome! (Ford is awesome in general. It's already better than other tools that have been around for years!).

I also think a command-line flag to disable generation of the search function would be useful for speeding things up just for testing changes, etc.

cmacmackin commented 9 years ago

I'll put that in the next minor release, then.

On 01/07/15 11:12 PM, Jacob Williams wrote:

The search feature is awesome! (Ford is awesome in general. It's already better than other tools that have been around for years!).

I also think a command-line flag to disable generation of the search function would be useful for speeding things up just for testing changes, etc.

— Reply to this email directly or view it on GitHub https://github.com/cmacmackin/ford/issues/16#issuecomment-117876821.

Chris MacMackin Saint Mary's University Curriculum Vitae http://ap.smu.ca/%7Ecmacmack/CV.pdf

cmacmackin commented 9 years ago

I've added the ability to turn off the search feature and it will be out in the next release. Should be out in the next day or three.

zbeekman commented 9 years ago

This was fixed in the v4.0.1 release, no?

cmacmackin commented 9 years ago

Sort of. I put in the option to turn it off, but someday I might still look if there is some way to generate the search data more efficiently. Although, when I did this the other day on a big project, it didn't take that long--maybe beautifulsoup has been optimized somewhat. I guess I will close this one.

On 05/08/15 11:54 AM, Izaak Beekman wrote:

This was fixed in the v4.0.1 release, no?

— Reply to this email directly or view it on GitHub https://github.com/cmacmackin/ford/issues/16#issuecomment-128024326.

Chris MacMackin Saint Mary's University Curriculum Vitae http://ap.smu.ca/%7Ecmacmack/CV.pdf

zbeekman commented 9 years ago

FWIW, with JSON-Fortran the --no-search results in a speedup of over 37%

command real user sys
time ford -p pages/ json-fortran.md 33.469s 32.950s 0.504s
time ford —no-search -p pages/ json-fortran.md 20.530s 20.322s 0.199s
cmacmackin commented 9 years ago

Okay, thanks. That's fairly significant, but not as big as speedups I seem to remember getting when commented out the search stuff after initially implementing it.

On 05/08/15 12:14 PM, Izaak Beekman wrote:

FWIW, with JSON-Fortran the |--no-search| results in a speedup of over 37%

command real user sys |time ford -p pages/ json-fortran.md| 33.469s 32.950s 0.504s |time ford —no-search -p pages/ json-fortran.md| 20.530s 20.322s 0.199s

— Reply to this email directly or view it on GitHub https://github.com/cmacmackin/ford/issues/16#issuecomment-128032883.

Chris MacMackin Saint Mary's University Curriculum Vitae http://ap.smu.ca/%7Ecmacmack/CV.pdf