Skip to content

Conversation

hvitved
Copy link
Contributor

@hvitved hvitved commented May 7, 2019

This change has no notable impact on our test suite (full report here):

Project              23faa942ced@19c7360e1  23faa942ced@272545a63
roslyn               568                    551                    0.97007
coreclr              100                    98                     0.98
corefx               483                    478                    0.989648
mono                 366                    364                    0.994536
EntityFrameworkCore  507                    506                    0.998028
OneOf                152                    152                    1
PowerShell           187                    187                    1
pythonnet            15                     15                     1
runuo                157                    158                    1.00637
ql                   77                     78                     1.01299
OrchardCore          230                    233                    1.01304
nhibernate-core      607                    617                    1.01647
monodevelop          800                    818                    1.0225

But it makes a big difference at one of our customers:

Before:

[2019-05-07 02:06:31] (3719s) Starting to evaluate predicate Call::Call::getExplicitArgument#bbf
[2019-05-07 02:09:37] (3905s) Tuple counts:​
                      5880556    ~0%     {2} r1 = JOIN Call::Call::getExplicitArgument#bbf#shared WITH Element::NamedElement::getName_dispred#ff ON Call::Call::getExplicitArgument#bbf#shared.<0>=Element::NamedElement::getName_dispred#ff.<0> OUTPUT FIELDS {Element::NamedElement::getName_dispred#ff.<1>,Call::Call::getExplicitArgument#bbf#shared.<1>}​
                      1767682173 ~0%     {3} r2 = JOIN r1 WITH expr_argument_name_10#join_rhs ON r1.<0>=expr_argument_name_10#join_rhs.<0> OUTPUT FIELDS {r1.<1>,expr_argument_name_10#join_rhs.<1>,r1.<0>}​
                      169410     ~0%     {3} r3 = JOIN r2 WITH project#Call::Call::getArgument_dispred#fff ON r2.<0>=project#Call::Call::getArgument_dispred#fff.<0> AND r2.<1>=project#Call::Call::getArgument_dispred#fff.<1> OUTPUT FIELDS {r2.<0>,r2.<2>,r2.<1>}​
                                         return r3​
[2019-05-07 02:09:37] (3905s)  >>> Relation Call::Call::getExplicitArgument#bbf: 169410 rows using 0 MB​


After:

[2019-05-07 04:15:25] (1s) Starting to evaluate predicate Call::Call::getExplicitArgument#fff​
[2019-05-07 04:15:25] (1s) Tuple counts:​
                      169747  ~0%     {3} r1 = JOIN expr_argument_name WITH project#Call::Call::getArgument_dispred#fff_10#join_rhs ON expr_argument_name.<0>=project#Call::Call::getArgument_dispred#fff_10#join_rhs.<0> OUTPUT FIELDS {project#Call::Call::getArgument_dispred#fff_10#join_rhs.<1>,expr_argument_name.<1>,expr_argument_name.<0>}​
                                      return r1​
[2019-05-07 04:15:25] (1s)  >>> Relation Call::Call::getExplicitArgument#fff: 169747 rows using 0 MB

@hvitved hvitved added the C# label May 7, 2019
@hvitved hvitved requested a review from calumgrant May 7, 2019 20:07
@hvitved hvitved requested a review from a team as a code owner May 7, 2019 20:07
Copy link
Contributor

@calumgrant calumgrant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@calumgrant calumgrant merged commit 6994ba9 into github:master May 16, 2019
@hvitved hvitved deleted the csharp/get-explicit-arg-nomagic branch May 16, 2019 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants