Skip to content
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

Performance regressed since release 20171014 #14905

Closed
reaperrr opened this issue Mar 11, 2018 · 6 comments
Closed

Performance regressed since release 20171014 #14905

reaperrr opened this issue Mar 11, 2018 · 6 comments

Comments

@reaperrr
Copy link
Contributor

Despite the number of performance optimizations done for the current release, there has been more than one report on this, and it matches my own impression to some extent.

The only noticable change in perf.log is that FrozenUnderFog seems to pop up more often.
This is an example excerpt from my perf.log on RA shellmap:

     5 ms [861] Trait: brik->FrozenUnderFog
     5 ms [867] Activity: Attack
     5 ms [873] Trait: brik->FrozenUnderFog
     6 ms [879] Trait: tent->FrozenUnderFog
     7 ms [889] Trait: gap->FrozenUnderFog
     5 ms [931] Effect: Bullet
     6 ms [945] Trait: 2tnk->RevealsShroud
     5 ms [952] Trait: weap->FrozenUnderFog
     6 ms [962] Activity: Attack
     5 ms [970] Trait: apwr->FrozenUnderFog

This is more of a worst-case and not the norm, but I imagine on large maps with many players, this will scale up accordingly.

Frozen actor logic was partially rewritten as part of the render/selection bounds refactor, so it's entirely possible that its performance regressed. It seems to be the best starting point, in any case.

@reaperrr
Copy link
Contributor Author

Pinging @RoosterDragon and @pchote since I doubt anyone else will be able to figure this one out.

@pchote
Copy link
Member

pchote commented Mar 11, 2018

AFAIK @RoosterDragon's optimizations were profiled and tested primarily on a windows-compiled build. It would be useful to profile the travis-compiled release build to make sure that mcs isn't generating unusually slow code now. If there is a difference then the travis profile can be updated to use a modern version of mono with csc.

@RoosterDragon
Copy link
Member

I've had ~10 small perf PRs I've been meaning to find the time to file, some of which address minor regressions from refactorings/bug fixes. However I felt in unfair to spam the PR queue with a bunch of PRs and create work without having time to review stuff as well.

One of them did happen to be related to FrozenUnderFog, try #14917 and see it that makes a difference. Performance here regressed when we had to start capturing a snapshot of target types for correctness.

@pchote
Copy link
Member

pchote commented Apr 29, 2018

@RoosterDragon, @reaperrr: Do you think we have done enough to close this yet?

@reaperrr
Copy link
Contributor Author

In my opinion yes.

@RoosterDragon
Copy link
Member

Agree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants