|
Slicer 5.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
What the prefetch did during this startup. More...
#include <Base/QTApp/qSlicerStartupFilePrefetcher.h>
Public Attributes | |
| int | AlreadyLoadedLibraryCount = 0 |
| QString | ApplicationHome |
| QString | ApplicationName |
| QString | CacheFilePath |
| The list start() replayed and finish() rewrites. | |
| bool | Enabled = false |
| int | FailedLibraryCount = 0 |
| double | FinishEndTimeMs = -1.0 |
| double | FinishStartTimeMs = -1.0 |
| When finish() began and ended. Their distance is what recording the list cost. | |
| int | InitiallyLoadedLibraryCount = 0 |
| int | ListedLibraryCount = 0 |
| QStringList | Notes |
| int | PredictedLibraryCount = 0 |
| qint64 | PrefetchedByteCount = 0 |
| int | PrefetchedLibraryCount = 0 |
| int | QueuedLibraryCount = 0 |
| int | RecordedLibraryCount = 0 |
| Entries written back to the list for the next run, 0 if it could not be written. | |
| int | StartupLibraryCount = 0 |
| int | SystemLibraryCount = 0 |
| int | WorkerCount = 0 |
| double | WorkersFinishedTimeMs = -1.0 |
| When the last worker ran out of queued libraries, or -1 if some are still going. | |
| double | WorkersStartedTimeMs = -1.0 |
What the prefetch did during this startup.
Filled in as the prefetch progresses and returned by report(). All times are milliseconds from the moment the prefetch started, which is the process entry point, so that they can be compared directly with each other; a time that has not been reached is -1. What the loader did before that point is not the prefetch's to measure, and the startup timing report gives it as its first phase.
The counts are what makes a report interpretable. Prefetching can be fast and still useless (a stale list, so PredictedLibraryCount is low), or slow and yet a large win (cold scans, so the loader was spared that time). Neither can be told from a duration alone.
This is plain data with no behavior, so that it can be copied and inspected freely; reportLines() turns it into readable text.
Definition at line 126 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::AlreadyLoadedLibraryCount = 0 |
Definition at line 147 of file qSlicerStartupFilePrefetcher.h.
| QString qSlicerStartupFilePrefetcher::Report::ApplicationHome |
Definition at line 136 of file qSlicerStartupFilePrefetcher.h.
| QString qSlicerStartupFilePrefetcher::Report::ApplicationName |
Application the list belongs to, and the directory it was installed or built into, as resolved by start() from the running executable.
Definition at line 135 of file qSlicerStartupFilePrefetcher.h.
| QString qSlicerStartupFilePrefetcher::Report::CacheFilePath |
The list start() replayed and finish() rewrites.
Definition at line 138 of file qSlicerStartupFilePrefetcher.h.
| bool qSlicerStartupFilePrefetcher::Report::Enabled = false |
Whether the prefetch ran at all. False when SLICER_STARTUP_FILE_PREFETCH turned it off, when it is off by default on this platform, or when start() was never called. Notes says which.
Definition at line 131 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::FailedLibraryCount = 0 |
Entries that could not be opened, usually because the library has been removed or renamed since the list was recorded.
Definition at line 160 of file qSlicerStartupFilePrefetcher.h.
| double qSlicerStartupFilePrefetcher::Report::FinishEndTimeMs = -1.0 |
Definition at line 179 of file qSlicerStartupFilePrefetcher.h.
| double qSlicerStartupFilePrefetcher::Report::FinishStartTimeMs = -1.0 |
When finish() began and ended. Their distance is what recording the list cost.
Definition at line 178 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::InitiallyLoadedLibraryCount = 0 |
Libraries the loader had already mapped when start() ran. They cannot be anticipated by any list, so they bound what prefetching can ever cover.
Definition at line 142 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::ListedLibraryCount = 0 |
Entries read from the recorded list, and how they were dispatched: those already mapped and those in the Windows directory are skipped, the rest are queued.
Definition at line 146 of file qSlicerStartupFilePrefetcher.h.
| QStringList qSlicerStartupFilePrefetcher::Report::Notes |
Anything worth saying that is not a number: why the prefetch was skipped, a list that could not be read or written, and so on. Empty when everything went as expected.
Definition at line 184 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::PredictedLibraryCount = 0 |
Definition at line 168 of file qSlicerStartupFilePrefetcher.h.
| qint64 qSlicerStartupFilePrefetcher::Report::PrefetchedByteCount = 0 |
Definition at line 161 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::PrefetchedLibraryCount = 0 |
What the workers had done by the time the report was taken. The workers outlive finish(), so these keep growing after startup is complete.
Definition at line 157 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::QueuedLibraryCount = 0 |
Definition at line 149 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::RecordedLibraryCount = 0 |
Entries written back to the list for the next run, 0 if it could not be written.
Definition at line 170 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::StartupLibraryCount = 0 |
Libraries loaded between start() and finish(), that is, the ones this startup actually needed, and how many of them had been prefetched. The ratio of the two is how much of this startup the previous run managed to predict; a low ratio means the list was stale or unrelated and the prefetch cannot have helped much.
Definition at line 167 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::SystemLibraryCount = 0 |
Definition at line 148 of file qSlicerStartupFilePrefetcher.h.
| int qSlicerStartupFilePrefetcher::Report::WorkerCount = 0 |
Background threads started to work through the queue, chosen from the number of cores unless SLICER_STARTUP_FILE_PREFETCH_THREADS asked for a particular number.
Definition at line 153 of file qSlicerStartupFilePrefetcher.h.
| double qSlicerStartupFilePrefetcher::Report::WorkersFinishedTimeMs = -1.0 |
When the last worker ran out of queued libraries, or -1 if some are still going.
Definition at line 176 of file qSlicerStartupFilePrefetcher.h.
| double qSlicerStartupFilePrefetcher::Report::WorkersStartedTimeMs = -1.0 |
When the workers were started, which is also what reading the list cost the startup thread, the two being separated by nothing else.
Definition at line 174 of file qSlicerStartupFilePrefetcher.h.