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

Town, station and industry directory window sorting performance improvements #7914

Merged

Conversation

@JGRennison
Copy link
Contributor

JGRennison commented Jan 7, 2020

Avoid unnecessary resorts of the town and industry directory windows due to population and production changes respectively, when the current sort mode does not depend on the town population or industry production.

Avoid regenerating town, station and industry name strings on every sort comparison and on every town name filter.
Measurements of the time taken to sort the town directory window on a 4k x 4k map indicated a reduction in sort time of between 7.5x and 11x.

@JGRennison JGRennison changed the title Directory list window sort perf improvements Town, station and industry directory window sorting performance improvements Jan 7, 2020
src/industry_gui.cpp Outdated Show resolved Hide resolved
Copy link
Contributor

nielsmh left a comment

Overall, yes please :)

src/base_station_base.h Outdated Show resolved Hide resolved
src/town.h Outdated Show resolved Hide resolved
src/base_station_base.h Outdated Show resolved Hide resolved
src/town.h Outdated Show resolved Hide resolved
src/base_station_base.h Outdated Show resolved Hide resolved
@JGRennison JGRennison force-pushed the JGRennison:directory-list-window-sort-perf-improvements branch from 9716e42 to d1b8c3f Jan 7, 2020
@LordAro
LordAro approved these changes Jan 8, 2020
Copy link
Member

LordAro left a comment

LGTM

src/base_station_base.h Outdated Show resolved Hide resolved
@JGRennison JGRennison force-pushed the JGRennison:directory-list-window-sort-perf-improvements branch from d1b8c3f to 7394549 Jan 9, 2020
@LordAro LordAro merged commit 87700bf into OpenTTD:master Jan 12, 2020
8 checks passed
8 checks passed
OpenTTD CI Build #20200109.1 succeeded
Details
OpenTTD CI (Linux commit-checker) Linux commit-checker succeeded
Details
OpenTTD CI (Linux linux-amd64-clang-3.9) Linux linux-amd64-clang-3.9 succeeded
Details
OpenTTD CI (Linux linux-amd64-gcc-6) Linux linux-amd64-gcc-6 succeeded
Details
OpenTTD CI (Linux linux-i386-gcc-6) Linux linux-i386-gcc-6 succeeded
Details
OpenTTD CI (MacOS) MacOS succeeded
Details
OpenTTD CI (Windows Win32) Windows Win32 succeeded
Details
OpenTTD CI (Windows Win64) Windows Win64 succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.