Skip to content

Conversation

@a-roberts
Copy link
Contributor

@a-roberts a-roberts commented Nov 1, 2016

What changes were proposed in this pull request?

This improvement works by using the fastest comparison test first and we observed a 1% throughput performance improvement on PageRank (HiBench large profile) with this change.

We used tprof and before the change in AppendOnlyMap.changeValue (where the optimisation occurs) this method was being used for 8053 profiling ticks representing 0.72% of the overall application time.

After this change we observed this method only occurring for 2786 ticks and for 0.25% of the overall time.

How was this patch tested?

Existing unit tests and for performance we used HiBench large, profiling with tprof and IBM Healthcenter.

More details on the JIRA, slight performance increase here by performing the cheapest comparison first
Copy link
Member

@srowen srowen left a comment

Choose a reason for hiding this comment

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

Seems fine if you observe this is a win, empirically.

@SparkQA
Copy link

SparkQA commented Nov 1, 2016

Test build #67897 has finished for PR 15714 at commit 40e3e06.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@rxin
Copy link
Contributor

rxin commented Nov 3, 2016

Can you put the details in the pull request description as well? It becomes part of the commit log.

@srowen
Copy link
Member

srowen commented Nov 4, 2016

Just so I'm clear on whether this is ready -- the details in question are the ones already added to the description?

@rxin
Copy link
Contributor

rxin commented Nov 4, 2016

I think he updated it already.

Merging in master/branch-2.1.

@asfgit asfgit closed this in a42d738 Nov 4, 2016
asfgit pushed a commit that referenced this pull request Nov 4, 2016
## What changes were proposed in this pull request?
This improvement works by using the fastest comparison test first and we observed a 1% throughput performance improvement on PageRank (HiBench large profile) with this change.

We used tprof and before the change in AppendOnlyMap.changeValue (where the optimisation occurs) this method was being used for 8053 profiling ticks representing 0.72% of the overall application time.

After this change we observed this method only occurring for 2786 ticks and for 0.25% of the overall time.

## How was this patch tested?
Existing unit tests and for performance we used HiBench large, profiling with tprof and IBM Healthcenter.

Author: Adam Roberts <aroberts@uk.ibm.com>

Closes #15714 from a-roberts/patch-9.

(cherry picked from commit a42d738)
Signed-off-by: Reynold Xin <rxin@databricks.com>
zzcclp added a commit to zzcclp/spark that referenced this pull request Nov 15, 2016
uzadude pushed a commit to uzadude/spark that referenced this pull request Jan 27, 2017
## What changes were proposed in this pull request?
This improvement works by using the fastest comparison test first and we observed a 1% throughput performance improvement on PageRank (HiBench large profile) with this change.

We used tprof and before the change in AppendOnlyMap.changeValue (where the optimisation occurs) this method was being used for 8053 profiling ticks representing 0.72% of the overall application time.

After this change we observed this method only occurring for 2786 ticks and for 0.25% of the overall time.

## How was this patch tested?
Existing unit tests and for performance we used HiBench large, profiling with tprof and IBM Healthcenter.

Author: Adam Roberts <aroberts@uk.ibm.com>

Closes apache#15714 from a-roberts/patch-9.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants