llvm-project/clang-tools-extra/unittests
Eric Liu 5d2a807f25 [clangd] Penalize non-instance members when accessed via class instances.
Summary:
The following are metrics for explicit member access completions. There is no
noticeable impact on other completion types.

Before:
EXPLICIT_MEMBER_ACCESS
  Total measurements: 24382
  All measurements: MRR: 62.27	Top10: 80.21%	Top-100: 94.48%
  Full identifiers: MRR: 98.81	Top10: 99.89%	Top-100: 99.95%
  0-5 filter len:
	MRR:  13.25	46.31	62.47	67.77	70.40	81.91
	Top-10:  29%	74%	84%	91%	91%	97%
	Top-100:  67%	99%	99%	99%	99%	100%

After:
EXPLICIT_MEMBER_ACCESS
  Total measurements: 24382
  All measurements: MRR: 63.18	Top10: 80.58%	Top-100: 95.07%
  Full identifiers: MRR: 98.79	Top10: 99.89%	Top-100: 99.95%
  0-5 filter len:
	MRR:  13.84	48.39	63.55	68.83	71.28	82.64
	Top-10:  30%	75%	84%	91%	91%	97%
	Top-100:  70%	99%	99%	99%	99%	100%

* Top-N: wanted result is found in the first N completion results.
* MRR: Mean reciprocal rank.

Remark: the change seems to have minor positive impact. Although the improvement
is relatively small, down-ranking non-instance members in instance member access
should reduce noise in the completion results.

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits

Differential Revision: https://reviews.llvm.org/D49543

llvm-svn: 337681
2018-07-23 10:56:37 +00:00
..
change-namespace [change-namespace] Don't match a function call/ref multiple times. 2018-03-15 14:45:02 +00:00
clang-apply-replacements [clang-apply-replacements] Convert tooling::Replacements to tooling::AtomicChange for conflict resolving of changes, code cleanup, and code formatting. 2018-04-11 14:39:17 +00:00
clang-move [clang-move] ClangMoveTests: Remove dots in output paths 2018-07-05 14:53:17 +00:00
clang-query [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
clang-tidy Remove explicit type from an initializer list. NFC. 2018-06-28 12:18:42 +00:00
clangd [clangd] Penalize non-instance members when accessed via class instances. 2018-07-23 10:56:37 +00:00
include/common Remove clang-modernize. 2015-12-17 11:49:19 +00:00
include-fixer Fix tests after changes to clang-format in r330573. 2018-04-23 11:47:59 +00:00
CMakeLists.txt [cmake] Include LLVMTestingSupport when doing stand-alone build 2018-04-09 17:08:14 +00:00