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

Add: reload the database in a separate process #21

Merged
merged 1 commit into from May 4, 2020

Conversation

TrueBrain
Copy link
Member

This means that during reloads, the server is fully responsive
with the old code. Once the reload is done, the database is
swapped around in memory, and any changes will be available from
that point on.

There was need for some rewrite, as the less is sent over the
wire during process creation, the better. This should now be
brought to a minimum: things like configuration and that is it.
This has one downside, that for a time there are two full
dictionaries are in memory. This increases the memory footprint
of the application a bit; in return we get a non-blocking reload.

This means that during reloads, the server is fully responsive
with the old code. Once the reload is done, the database is
swapped around in memory, and any changes will be available from
that point on.

There was need for some rewrite, as the less is sent over the
wire during process creation, the better. This should now be
brought to a minimum: things like configuration and that is it.
This has one downside, that for a time there are two full
dictionaries are in memory. This increases the memory footprint
of the application a bit; in return we get a non-blocking reload.
@TrueBrain TrueBrain merged commit f242c85 into OpenTTD:master May 4, 2020
@TrueBrain TrueBrain deleted the performance_2 branch May 4, 2020 17:52
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.

None yet

2 participants