Skip to content

Conversation

@paulferaud
Copy link
Contributor

.slice().splice(index, pageSize) will create an unneeded full copy of the underlying data, and then also mutate it to splice a page. Neither of these operations are needed, and can be particularly slow for larger datasets.
.slice(index, index + indexPageSize) is almost constant time.

In case of a datasource with 1,000,000 rows (big, yes, but not absurdly so), pagination is currently visibly sluggish on my machine. Benchmarks seem to blame this: https://measurethat.net/Benchmarks/ShowResult/62222

.slice().splice(index, pageSize) will create an unneeded full copy of the underlying data, and then also mutate it to splice a page. Neither of these operations are needed, and can be particularly slow for larger datasets.
.slice(index, index + indexPageSize) is almost constant time.

In case of a datasource with 1,000,000 rows (big, yes, but not absurdly so), pagination is currently visibly sluggish on my machine. Benchmarks seem to blame this: https://measurethat.net/Benchmarks/ShowResult/62222
@paulferaud paulferaud requested a review from andrewseguin as a code owner July 17, 2019 19:52
@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Jul 17, 2019
Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

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

LGTM

Thanks for the cleanup!

@jelbourn jelbourn added G This is is related to a Google internal issue pr: lgtm action: merge The PR is ready for merge by the caretaker labels Jul 18, 2019
@ngbot

This comment has been minimized.

@jelbourn jelbourn added target: patch This PR is targeted for the next patch release and removed pr: merge safe labels Jul 18, 2019
@jelbourn jelbourn merged commit e4f710a into angular:master Jul 19, 2019
andrewseguin pushed a commit that referenced this pull request Jul 29, 2019
.slice().splice(index, pageSize) will create an unneeded full copy of the underlying data, and then also mutate it to splice a page. Neither of these operations are needed, and can be particularly slow for larger datasets.
.slice(index, index + indexPageSize) is almost constant time.

In case of a datasource with 1,000,000 rows (big, yes, but not absurdly so), pagination is currently visibly sluggish on my machine. Benchmarks seem to blame this: https://measurethat.net/Benchmarks/ShowResult/62222
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 11, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement G This is is related to a Google internal issue target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants