Log of /trunk/proof/proofplayer/inc/TStatus.h
Parent Directory
Revision
47251 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 14 11:00:07 2012 UTC (2 years, 2 months ago) by
ganis
File length: 3153 byte(s)
Diff to
previous 44010
Change the definition of TStatus::kNotOK to BIT(number) as it should have been; this was causing the weird overwriting of bits in the TStatus object
Revision
44010 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Apr 29 23:07:48 2012 UTC (2 years, 8 months ago) by
ganis
File length: 3133 byte(s)
Diff to
previous 40186
Several optimizations in the low level PROOF event loop (TProofPlayer::Process):
- Per-event calls to TEventIter::GetNextEvent are replaced by per-packet calls
to a new function TEventIter::GetNextPacket and a for loop over the returned
range;
- Progress information is filled in on per-packet pace just before asking for
a new packet, instead of being filled for each event;
- In TProofProgressStatus, the relevant setters in were inlined, and the (expensive)
calls to SetLastUpdate() reduced to the minimum required;
- Status of objects is checked using bits instead of functions calls;
- Check whether to dump memory info is done before calling CheckMemUsage.
These optimizations allow to reduce dramatically the overhead introduced by the
operations PROOF needs to perform during the event loop. A measurement of the
overhead can be obtained from a very light computational task, for example,
generating one random number and filling one histogram; executing this task
within a PROOF-Lite session with 1 worker now takes only 1.8 times the time
required by a straight loop in the parent ROOT session; the same number before
was about 13.
The patch also introduces a couple of small changes enabling the use of
TProofPlayerLocal to process selectors in the local session using the PROOF
iteration mechanism; this is very useful for optimizations studies.
Finally, a couple of missing protections were added in TProofPlayer.
Revision
40186 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 11 12:00:50 2011 UTC (3 years, 6 months ago) by
ganis
File length: 3016 byte(s)
Diff to
previous 40017
- Record in TStatus also the max memory usage on the master and printed via TStatus::Print;
this allow a quick visualisation of the overall memroy usage at the end of the query:
root [] TStatus *st = (TStatus *) p->GetOutputList()->FindObject("PROOF_Status");
root [] st->Print();
OBJ: TStatus PROOF_Status OK
Max worker virtual memory: 394.90 MB Max worker resident memory: 229.47 MB
Max master virtual memory: 1104.55 MB Max master resident memory: 940.73 MB
- Fix issue in TProofPlayer::HandleHistogram preventing proper histogram cleaning right
after merging when using TH1::Add; histogram were still destroyed at the end of the
query, but there was no memory advantage in TH1::Add wrt TH1::Merge.
Revision
40017 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 27 16:23:01 2011 UTC (3 years, 6 months ago) by
ganis
File length: 2754 byte(s)
Diff to
previous 38709
- In TPerfStats, add 'status' field to the monitor record, an integer with the query exit status
(see TVirtualProofPlayer::EExitStatus (0 OK; 1 stopped; 2 aborted).
- Add exist status also to TStatus, so that it is available in the output list (TPerfStats takes
it from here).
- Send the output list, if non empty, also when the query is aborted, so that the TStatus object
is available also in those cases.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.