Project

General

Profile

Actions

Bug #16468

closed

Computation of ComplianceLevel generates too many objects

Added by Nicolas CHARLES almost 5 years ago. Updated almost 5 years ago.

Status:
Released
Priority:
N/A
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
Reviewed
Fix check:
Checked
Regression:

Description

The computation of ComplianceLevel is realy inefficient, as it goes on creating many object.

original code was in https://github.com/Normation/rudder/pull/2648/files and is extracted for readability

Test perfs with original method shows:
Computes take ~2000µs first, then ~450µs after 100 iteration, total test is 97038 µs

New compute is ~1000µs for first iteration, ~300µs after 100 iteration, total test is 38208 µs

Old sum is 85µs -> 8µs, total cost 3083µs
New sum is 74µs -> 3µs, total cost 2069µs

JIT does wonder, but still it cannot eradicate all overhead


Related issues 2 (0 open2 closed)

Related to Rudder - Bug #15675: Leak in Cache of Node Compliance and NodeInfo and perfs improvementReleasedNicolas CHARLESActions
Related to Rudder - Bug #16496: StatusReportTest leads to inconsistant resultsReleasedVincent MEMBRÉActions
Actions #1

Updated by Nicolas CHARLES almost 5 years ago

  • Related to Bug #15675: Leak in Cache of Node Compliance and NodeInfo and perfs improvement added
Actions #2

Updated by Nicolas CHARLES almost 5 years ago

  • Status changed from New to In progress
  • Assignee set to Nicolas CHARLES
Actions #3

Updated by Nicolas CHARLES almost 5 years ago

  • Description updated (diff)
Actions #4

Updated by Nicolas CHARLES almost 5 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Nicolas CHARLES to François ARMAND
  • Pull Request set to https://github.com/Normation/rudder/pull/2692
Actions #5

Updated by Nicolas CHARLES almost 5 years ago

  • Status changed from Pending technical review to Pending release
Actions #6

Updated by François ARMAND almost 5 years ago

  • Related to Bug #16496: StatusReportTest leads to inconsistant results added
Actions #7

Updated by Nicolas CHARLES almost 5 years ago

  • Fix check changed from To do to Checked
Actions #8

Updated by Alexis Mousset almost 5 years ago

  • Name check changed from To do to Reviewed
Actions #9

Updated by Vincent MEMBRÉ almost 5 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 5.0.16 which was released today.

Actions

Also available in: Atom PDF