Log of /trunk/core/cont/src/TExMap.cxx
Parent Directory
Revision
29598 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 27 15:37:29 2009 UTC (5 years, 5 months ago) by
rdm
File length: 12495 byte(s)
Diff to
previous 25271
change TExMap hash, key and values from (U)Long_t to (U)Long64_t. This
makes TExMap streamable in a portable way. On 64-bit platforms there is
no difference, but on 32-bit platforms all values will now be 64-bit.
This fixes a big portability issue with THnSparse which uses TExMap internally
where the versions created on a 32-bit platform could not be read on
a 64-bit platform and vice versa.
Revision
25271 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 27 03:29:43 2008 UTC (6 years, 4 months ago) by
pcanal
File length: 11845 byte(s)
Diff to
previous 22961
From Axel:
Improve the performance of reading TExMap object by a large factor (x50 faster for large array) by
changing the onfile format of the TExMap (around 16% larger). [The performance of reading old
files is unchanged)
Revision
22961 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by
rdm
File length: 11052 byte(s)
Diff to
previous 20882
move the directories:
base clib cont meta metautils newdelete pcre rint thread unix utils
winnt zip
under the new core meta directory.
Revision
17402 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 19 16:48:00 2007 UTC (8 years ago) by
brun
Original Path:
trunk/cont/src/TExMap.cxx
File length: 11106 byte(s)
Diff to
previous 15849
CVs been changed into a pure abstract interface.
The concrete implementation is in the new class TBufferFile.
All classes previously deriving from TBuffer derive now from TBufferFile, ie
TBuffer <- TBufferFile <- TMessage
<- TBufferXML
<- TBufferSQL
<- TBufferSQL2
Because there are several problems with C++ operators overloading,
The I/O operators are defined in TBuffer. These are inline functions
calling C++ virtual functions defined in TBuffer and overloaded
by TBufferFile and all other derived classes when necessary.
The previous implementation of TBuffer.h included <vector> and Bytes.h.
The two include statements have been moved to TBufferFile.h. As a result the
compilation of the ROOT system is now slightly faster and a big bonus
is that changes in TBufferFile or Bytes.h will affect only TBufferFile
and will not force the recompilation of the entire system.
This change has some side-effects. If you assumed that include <vector>
was done by TBuffer.h, you may have to specify this include directly
in your class. This was the case for a few ROOT classes.
: ----------------------------------------------------------------------
Revision
15849 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 26 13:36:44 2006 UTC (8 years, 6 months ago) by
rdm
Original Path:
trunk/cont/src/TExMap.cxx
File length: 11087 byte(s)
Diff to
previous 15164
Instead of providing default implementations for copy ctor's and assignment
operators we better make them private (and not implemented) to avoid people
from accidentally using them. Especially the collections classes and the
TQObject derived classes. In these classes the default implementations would
cause havoc due to multiple deletions of the same objects and other
potential memory corruptions.
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/cont/src/TExMap.cxx
File length: 10764 byte(s)
Diff to
previous 13766
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
13764 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 22 19:03:11 2005 UTC (9 years, 1 month ago) by
pcanal
Original Path:
trunk/cont/src/TExMap.cxx
File length: 10476 byte(s)
Diff to
previous 11016
Improve run-time performance of TExMap's constructor and Delete.
Add a new method AddAt which allows to pass a slot number where the
object should first try to insert the value. This improves performance
when using the following pattern:
if ((idx = (ULong_t)fMap->GetValue(hash, key, slot)) != 0) {
...
} else {
fMap->AddAt(slot,hash,key,value);
}
Revision
10986 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 26 06:42:24 2005 UTC (9 years, 11 months ago) by
brun
Original Path:
trunk/cont/src/TExMap.cxx
File length: 8788 byte(s)
Diff to
previous 6756
From Maarten:
This new implementation results in a 30% performance improvement
in reading complex trees. (e.g with Event). I replaced the separately
allocated (hash,key,value) structs with an array, using the lowest bit
of the hash as a flag for indicating if a slot is free or not.
(This also means a 25% memory reduction.) The general hashing behaviour
should not be affected as we use the hash value modulo a (large) prime.
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.