I've been trying to use this VSCode extension for years now. At first it had major memory leak issues (I reported these). I believe these to mostly be resolved. I then decided to give it another shot and have spent a few months using it and I must say, it's very frustrating.

It's just too slow. You can make a change and then you have to wait around 5 seconds for it to reparse all the code and update the file. It doesn't always do this. But it's quite frequent. Sometimes it never updates too. It'll report something like "Call to unknown method", when in fact it's not. The method call is perfectly fine. It's like the cache never gets updated.

I don't know what other objectives there are with this extension, or what the overall goals are for it. But to say that this is the most important issue is an understatement. This is a pre-requisite. You guys need to drop everything else you're doing and fix this. Until then, it's not usable and I'll be switching back to Intelliphense again. I don't even know if I'll give this extension another shot, to be honest.

It's running on an M1 Max, which is very fast. It's not a resources issue.

    jacob Thank you for your feedback! I appreciate it. We're unaware of such an issue, so I'll be happy to replicate it and make it work as expected.

    The code is re-parsed immediately, but updating some features is delayed, sometimes by VSCode itself, sometimes by us by purpose.

    Specifically, updating problems is delayed ~ 1 second after the user stops modifying the code. It is a 10-year-old decision, so maybe it's time to re-think this.


    May I ask for a few more details about your codebase?

    • would you have a video/gif of the behavior?
    • how many lines of code in the edited document (we have a work-in-progress issue if the file is significantly large)
      8 days later

      Hi, I confirm, I have the same issue since maybe 3 or 4 releases.
      Sometime it keep old code in memory too, sometime it takes time to check errors.

      Few weeks ago I did not have these issues at all.

        No, I don't have Laravel framework.
        I have Symfony framework in vendor folder and another libraries but in fact I don't use them a lot.
        I don't use MVC or anything else because my project is a CLI project, so It is not a WEB project.

        I develop a lot of custom classes and unit tests with PHPUnit.
        I can debug different things for you if needed.

          This is the details for my project:

          phploc 7.0.2 by Sebastian Bergmann.
          
          Directories                                        235
          Files                                             1047
          
          Size
            Lines of Code (LOC)                           148303
            Comment Lines of Code (CLOC)                   39811 (26.84%)
            Non-Comment Lines of Code (NCLOC)             108492 (73.16%)
            Logical Lines of Code (LLOC)                   28707 (19.36%)
              Classes                                      28070 (97.78%)
                Average Class Length                          27
                  Minimum Class Length                         0
                  Maximum Class Length                       486
                Average Method Length                          4
                  Minimum Method Length                        0
                  Maximum Method Length                      256
                Average Methods Per Class                      5
                  Minimum Methods Per Class                    0
                  Maximum Methods Per Class                   89
              Functions                                      192 (0.67%)
                Average Function Length                        0
              Not in classes or functions                    445 (1.55%)
          
          Cyclomatic Complexity
            Average Complexity per LLOC                     0.42
            Average Complexity per Class                   12.27
              Minimum Class Complexity                      1.00
              Maximum Class Complexity                    298.00
            Average Complexity per Method                   2.96
              Minimum Method Complexity                     1.00
              Maximum Method Complexity                   141.00
          
          Dependencies
            Global Accesses                                   56
              Global Constants                                44 (78.57%)
              Global Variables                                 0 (0.00%)
              Super-Global Variables                          12 (21.43%)
            Attribute Accesses                             18127
              Non-Static                                   17981 (99.19%)
              Static                                         146 (0.81%)
            Method Calls                                   12632
              Non-Static                                   10867 (86.03%)
              Static                                        1765 (13.97%)
          
          Structure
            Namespaces                                       235
            Interfaces                                       121
            Traits                                            20
            Classes                                          892
              Abstract Classes                               181 (20.29%)
              Concrete Classes                               711 (79.71%)
                Final Classes                                335 (47.12%)
                Non-Final Classes                            376 (52.88%)
            Methods                                         5986
              Scope
                Non-Static Methods                          5481 (91.56%)
                Static Methods                               505 (8.44%)
              Visibility
                Public Methods                              4349 (72.65%)
                Protected Methods                           1620 (27.06%)
                Private Methods                               17 (0.28%)
            Functions                                        561
              Named Functions                                 78 (13.90%)
              Anonymous Functions                            483 (86.10%)
            Constants                                       1334
              Global Constants                                12 (0.90%)
              Class Constants                               1322 (99.10%)
                Public Constants                             794 (60.06%)
                Non-Public Constants                         528 (39.94%)

            @Jean-FrancoisHIVERT thank you! I appreciate your help.

            We've implemented Laravel/Symfony features that should not affect performance, but most probably it does in this case.

            • CPU and MEM seem alright
            • TIME+ is the run time right, not the total CPU time?

            I'll prepare a debug info that may provide additional information.

              Write a Reply...