in reply to Re^8: Speeding up RecDesent parser for Perl Code
in thread Speeding up RecDesent parser for Perl Code

Surely I can and will refactor some functions but under 3000 lines is not possible for the main modul (about one third of the file are comments too).

3000 lines with no duplication? 3000 lines with no multiple responsibilities? I have to admit that I find this hard to believe. Main modules tend to be the smallest, rather than the largest bits of functionality in my experience - small wrappers around a bunch of objects/libraries that do the real work. Not being able to get something under 3000 lines smells of a design problem to me.

  • Comment on Re^9: Speeding up RecDesent parser for Perl Code

Replies are listed 'Best First'.
Re^10: Speeding up RecDesent parser for Perl Code
by Outaspace (Scribe) on Sep 08, 2006 at 13:50 UTC
    Yepp and it is small in comparison to the total size of the application (something between 100.000 and 150.000 lines, I guess).

    But I dont think that the quality of an design depend on the number of lines in a modul.

    Maybe this would be a nice poll: "What is a good design?" :-). It is one of those questions, that you can argue month about.
    For me 3000 lines are easy to maintain, but then this is only my opinion and everybody has its own.

    Humble blessings,

    Andre
      But you *did* complain that it was slow to parse 3000 lines, so clearly it's not your preferred option.
        Hi,

        this is a little bit of a misunderstanding here. My question was: How can I speed up my parser ? Even if I refactore my main modul and it ends up under those 3000 lines there would be some Perl Moduls (CGI.pm, CPAN.pm and some more) that have over 3000 lines allready and I want to parse them too. I currently use a different Text Editor, which has no problems with that much lines, but in the IDE I write currently it takes some seconds on my system to parse "large" files.
        Now I started looking at the PPI Modul which is a lot faster than the RecDescent Modul, so this is the way to go for me (also will refactor, but have many other things to do first and such little time).

        Humble,

        Andre