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

Update status on edge finished #2312

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

ecatmur
Copy link

@ecatmur ecatmur commented Aug 2, 2023

In the terminal, when an edge finishes update the status to display the first started (longest running) action. Usually this will be immediately overwritten with the next started action but if there is a bottleneck in the build or if it is reaching the end, this ensures that the console displays status of a build that is actually running and not one that has completed.
This ensures that the user attributes any delay to the (or an) action that is actually causing the slowdown and not unfairly to an action that has already finished just because it happened to be the last started.

To make this clear, also change the default NINJA_STATUS to include current actual parallelism level - this will reduce from number of cores to 1 as the bottleneck or end of build approaches.

Implementation stores currently running nodes in a deque, with NULL for interior completed nodes. This should be fairly efficient and allows future extension to e.g. display multiple parallel action names, as in #2249 and @orgads prototype for #111.

Partially resolves #111 (should be enough for most purposes).

In the terminal, when an edge finishes update the status to display the first started (longest running) action.
Usually this will be immediately overwritten with the next started action but if there is a bottleneck in the build or
if it is reaching the end, this ensures that the console displays status of a build that is actually running and not
one that has completed.
This ensures that the user attributes any delay to the (or an) action that is actually causing the slowdown and not
unfairly to an action that has already finished just because it happened to be the last started.

To make this clear, also change the default NINJA_STATUS to include current actual parallelism level - this will
reduce from number of cores to 1 as the bottleneck or end of build approaches.

Implementation stores currently running nodes in a deque, with NULL for interior completed nodes. This should be
fairly efficient and allows future extension to e.g. display multiple parallel action names, as in ninja-build#2249 and @orgads
prototype for ninja-build#111.

Partially resolves ninja-build#111 (should be enough for most purposes).
@jhasse jhasse added this to the 2.0.0 milestone Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Show progress when waiting
2 participants