Git Product home page Git Product logo

Comments (9)

thunderer avatar thunderer commented on June 16, 2024

Hi @rhukster, thanks for your report, please look at #72. Can you verify my results using dev-parser-improvements branch?

Your test data runs in ~20ms and uses around 10MiBs of memory in my local environment, Blackfire reports 80ms and ~9MiBs, baseline master ran in 12.5s and used 514MiBs of memory. All tests pass so I'm pretty sure it works correctly, but let me know how does it look on your side.

If everything is fine we have over 100x performance gain on time and memory and RegularParser can be used in all situations without any penalty.

from shortcode.

rhukster avatar rhukster commented on June 16, 2024

I can confirm that I've tested the parser-improvements branch and the test case I added as part of #72 now works, an also the actual issue as reported to in getgrav/grav-plugin-shortcode-core#53 and gantry/gantry5#2426 have also been resolved!

I notice now that when there are no actual shortcodes, the regular parser is indeed very fast to process the content, in fact, the fastest of all the 3 parsers.

I've not done any comprehensive performance testing on the parsers for actual shortcode work, but it definitely is faster, and I can find no visible issues with my custom shortcodes page I use for testing.

Nice work! 👍

from shortcode.

thunderer avatar thunderer commented on June 16, 2024

@rhukster During the verification phase, I managed to reproduce #70 and added the fix to #72. Could you please verify the results again? I promise I'm not doing anything else with the PR, so it will be merged once I get your approval.

Unfortunately, the fix reduces the performance gains I mentioned above, but we're still well above 10x improvement in both time and memory (850ms and 47MiB on Blackfire, 660ms and 46MiB on local environment, for your test data vs the same baseline). Details are described in the PR if you're interested.

from shortcode.

rhukster avatar rhukster commented on June 16, 2024

Please see my comments on the PR itself. Alas, the issue has returned with the latest commit, but does seem to be related to xdebug being on. (was this way with stable release too, I just didn't realize it before).

from shortcode.

rhukster avatar rhukster commented on June 16, 2024

Update... latest commits in #72 branch again fixes the issue for me.

from shortcode.

thunderer avatar thunderer commented on June 16, 2024

If this PR fixed the issue, may I ask you to close it? I will tag the next version soon, I just need to review the commits since the last version and prepare some release notes.

from shortcode.

rhukster avatar rhukster commented on June 16, 2024

Ya all good for me...

from shortcode.

rhukster avatar rhukster commented on June 16, 2024

Any word on timing for a new release?

from shortcode.

thunderer avatar thunderer commented on June 16, 2024

@rhukster I'm very happy to announce that v0.7.0 was just tagged, you can find the release notes here. While I was writing them I found a lot of small things which could be improved, so #73 will probably become v0.7.1 in the near future.

Thanks a lot for using Shortcode!

from shortcode.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.