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
Data frame #831
Data frame #831
Conversation
c115b50
to
105a5ab
Compare
|
||
$columnValues = array_merge( | ||
[ | ||
'suite' => $allFrame |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
worth prefixing _
? the columns are are not extensible however
* @return array<string,array<string,mixed>> | ||
*/ | ||
public function suiteToTable(SuiteCollection $collection, bool $includeBaseline = false): array | ||
public function suiteToTable(SuiteCollection $collection, bool $includeBaseline = false): DataFrame |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a BC break potentially - add another method and deprecate the array
one
Introduce partitioning
`first` will return NULL instead of throwing an exception
The original name made sense and it broke B/C
Nice! I'm not sure percent_diff works here though - red is "bad", while negative is "good". You could also change the expresion to use the |
Agreed. The red is a little aggressive. Could you explain how to do the |
Math and concatenation: |
Introduces the concept of a data frame.
The data frame can be used programatically in reports and can be accessed through the expression language. The data frame is introduced as a new parameter
suite
in the expression report.This addition will enable any value from the suite to be referenced, the following expression f.e. will show a % comparison to the named benchmark for each row:
TODO:
Performance
Initially report generation performance was degraded due to the way the evaluation cache worked (it serialized the parameters as a cache key), removing the cache actually results in a significant gain for report generation at the expense of assertions and progtress loggers:
As the regressions are at are sub-millisecond it seems like an acceptable trade-off with the added benefit of removing a cache.