Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🏗🚀 Speed up validated example grouping ~45x #34837

Merged
merged 3 commits into from
Jun 12, 2021

Conversation

alanorozco
Copy link
Member

@alanorozco alanorozco commented Jun 11, 2021

Makes the grouping process of amp validate-html-fixtures about 45x faster. This represents a ~24% speedup of the overall task.

  • Uses posthtml instead of JSDOM to parse the tree when necessary.
  • Filters out files that lack a suffix like 4email.

Performance comparison

method filters time (ms)
JSDOM 2095 (before)
JSDOM yes 241
posthtml 116
posthtml yes 47 (after)

@alanorozco alanorozco requested a review from rsimha June 11, 2021 16:47
@alanorozco alanorozco changed the title 🏗🚀 Speed up validated example grouping 10x with posthtml 🏗🚀 Speed up validated example grouping ~15x Jun 11, 2021
@alanorozco alanorozco changed the title 🏗🚀 Speed up validated example grouping ~15x 🏗🚀 Speed up validated example grouping ~45x Jun 11, 2021
@alanorozco alanorozco merged commit d1ec746 into ampproject:main Jun 12, 2021
@alanorozco alanorozco deleted the getampformat-fast branch June 12, 2021 00:28
Copy link
Member

@samouri samouri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome work!

westonruter added a commit to westonruter/amphtml that referenced this pull request Jun 16, 2021
…ebook-like-bento-version

* 'main' of github.com:ampproject/amphtml: (23 commits)
  `amp-story-desktop-one-panel` Update demo with usecases (ampproject#34867)
  🚮 Remove src/purifier.js rollup config (ampproject#34876)
  Validator Rollup (ampproject#34769)
  ✨ `amp-story-desktop-one-panel` Check UI type to get page dimension on tap (ampproject#34875)
  Refactor: move getRealChildNodes and getRealChildren to core (ampproject#34813)
  🏗📖 Fix some example files that do not validate (ampproject#34835)
  🏗Add `#test` and `#testing` to alias list (ampproject#34853)
  Add css files for missing components (ampproject#34861)
  Apply bulk transform to html tags (ampproject#34836)
  🐛 amp-ima-video: Fix duration label on livestreams (ampproject#34865)
  ♻️  Extract `applyFillContent` into a standalone function (ampproject#34858)
  Give script tag closing tag (ampproject#34832)
  🏗 Refinements to renovate config (ampproject#34862)
  Bento: Enable `SocialShare` for npm publishing (ampproject#34817)
  🏗 Use aliased paths in generated extensions (ampproject#34860)
  ✨ `amp-story-desktop-one-panel` Position distance="2" page below viewport (ampproject#34834)
  🏗 Set `wrapper` on generated Bento extensions (ampproject#34843)
  🧪[story-ads] Allow viewer to set progress bar segment experiment. (ampproject#34827)
  🏗 Allow extension bundles to specify their own wrapper (ampproject#34845)
  🏗🚀 Speed up validated example grouping ~45x (ampproject#34837)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants