Skip to content

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

Merged
alanorozco merged 3 commits intoampproject:mainfrom
alanorozco:getampformat-fast
Jun 12, 2021
Merged

🏗🚀 Speed up validated example grouping ~45x#34837
alanorozco merged 3 commits intoampproject:mainfrom
alanorozco:getampformat-fast

Conversation

@alanorozco
Copy link
Copy Markdown
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
Copy Markdown
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.

3 participants