[PATCH] D80202: [ASTMatchers] Performance optimization for memoization

Nathan James via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 5 08:18:59 PDT 2020


njames93 added a comment.

I decided to do some more stringent benchmarking, just focusing on the matching, not the boilerplate of running clang-tidy.

  =================================BeforePatch===================================
  Matcher Timings:   116.0756 user  29.1397 system  145.2154 process  145.2168 wall
  Matcher Timings:   117.7205 user  29.2475 system  146.9681 process  146.9158 wall
  Matcher Timings:   116.8313 user  29.5170 system  146.3483 process  146.2655 wall
  Matcher Timings:   117.9491 user  29.0969 system  147.0459 process  146.9678 wall
  Matcher Timings:   117.6309 user  29.1864 system  146.8173 process  146.7687 wall
  
  user:    117.2+-0.753
  system:  29.24+-0.166
  process: 146.5+-0.760

  ==================================AfterPatch===================================
  Matcher Timings:   110.5497 user  28.3316 system  138.8813 process  138.7960 wall
  Matcher Timings:   112.5151 user  28.8616 system  141.3767 process  141.3003 wall
  Matcher Timings:   116.1578 user  28.9472 system  145.1049 process  145.0785 wall
  Matcher Timings:   107.1089 user  27.2752 system  134.3841 process  134.3459 wall
  Matcher Timings:   105.9242 user  27.0338 system  132.9580 process  132.9010 wall
  
  user:    110.4+-4.159
  system:  28.09+-0.890
  process: 138.6+-4.979

This is showing ~5% improvement when running every clang-tidy check on a translation unit (Specifically `clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp`)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80202/new/

https://reviews.llvm.org/D80202





More information about the cfe-commits mailing list