- Apr 15, 2021
-
-
Stefan Wunsch authored
Fixes #7561 Co-authored-by:
Enrico Guiraud <enrico.guiraud@cern.ch>
-
Philippe Canal authored
This makes a difference for associative containers. For reading the iterator are iterating over the 'TStaging' object rather than the collection. For writing we need to iterated over the collection
-
Philippe Canal authored
The intent was to prevent the creation of sub branch with 2 consecutives dots and to avoid a dot between the branch name of the collection and the underscore for name of the index leaf. The major problem of the first try is that the name of the top level branch was changed from "t." to "t" making existing code search for the branch by fullname failing. Fix #7281 This effectively ammends/corrects d225f942 Before v6.23 ****************************************************************************** *Tree :tree : treelibrated tree * *Entries : 10000 : Total = 485042 bytes File Size = 177202 * * : : Tree compression factor = 2.74 * ****************************************************************************** *Br 0 :t. : Int_t t._ * *Entries : 10000 : Total Size= 83464 bytes File Size = 12844 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.25 * *............................................................................* *Br 1 :t..fUniqueID : UInt_t fUniqueID[t._] * *Entries : 10000 : Total Size= 80935 bytes File Size = 12857 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.25 * *............................................................................* *Br 2 :t..fBits : UInt_t fBits[t._] * *Entries : 10000 : Total Size= 80903 bytes File Size = 12879 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.24 * *............................................................................* *Br 3 :t..e : Double_t e[t._] * *Entries : 10000 : Total Size= 121029 bytes File Size = 65937 * *Baskets : 6 : Basket Size= 32000 bytes Compression= 1.83 * *............................................................................* *Br 4 :t..t : Double_t t[t._] * *Entries : 10000 : Total Size= 121029 bytes File Size = 71633 * *Baskets : 6 : Basket Size= 32000 bytes Compression= 1.68 * *............................................................................* After the first try: ****************************************************************************** *Tree :tree : treelibrated tree * *Entries : 10000 : Total = 484998 bytes File Size = 177400 * * : : Tree compression factor = 2.73 * ****************************************************************************** *Br 0 :t : Int_t t_ * *Entries : 10000 : Total Size= 83438 bytes File Size = 12838 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.26 * *............................................................................* *Br 1 :t.fUniqueID : UInt_t fUniqueID[t_] * *Entries : 10000 : Total Size= 80925 bytes File Size = 12852 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.25 * *............................................................................* *Br 2 :t.fBits : UInt_t fBits[t_] * *Entries : 10000 : Total Size= 80893 bytes File Size = 12869 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.24 * *............................................................................* *Br 3 :t.e : Double_t e[t_] * *Entries : 10000 : Total Size= 121017 bytes File Size = 66198 * *Baskets : 6 : Basket Size= 32000 bytes Compression= 1.82 * *............................................................................* *Br 4 :t.t : Double_t t[t_] * *Entries : 10000 : Total Size= 121017 bytes File Size = 71609 * *Baskets : 6 : Basket Size= 32000 bytes Compression= 1.68 * *............................................................................* Now: ****************************************************************************** *Tree :tree : treelibrated tree * *Entries : 10000 : Total = 485003 bytes File Size = 177402 * * : : Tree compression factor = 2.73 * ****************************************************************************** *Br 0 :t. : Int_t t_ * *Entries : 10000 : Total Size= 83444 bytes File Size = 12844 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.25 * *............................................................................* *Br 1 :t.fUniqueID : UInt_t fUniqueID[t_] * *Entries : 10000 : Total Size= 80925 bytes File Size = 12852 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.25 * *............................................................................* *Br 2 :t.fBits : UInt_t fBits[t_] * *Entries : 10000 : Total Size= 80893 bytes File Size = 12869 * *Baskets : 4 : Basket Size= 32000 bytes Compression= 6.24 * *............................................................................* *Br 3 :t.e : Double_t e[t_] * *Entries : 10000 : Total Size= 121017 bytes File Size = 66198 * *Baskets : 6 : Basket Size= 32000 bytes Compression= 1.82 * *............................................................................* *Br 4 :t.t : Double_t t[t_] * *Entries : 10000 : Total Size= 121017 bytes File Size = 71609 * *Baskets : 6 : Basket Size= 32000 bytes Compression= 1.68 * *............................................................................*
-
Philippe Canal authored
This test is also 'stressing' the interpreter and in particular the increase in the number of symbols. This leads to a noticeable reduction of the speed of the test (or more exactly the loading/setting up of the test). In addition some of the nightly run on VM which can lead to performance variance (at least on this test) of a factor 4. In a good day on one of 'failing' vm, the 100 iterations takes 400s, during the nightlies it oftens takes 800s to 1000s ... the timeout limit is 1200s, so it is reached from time to time.
-
Vincenzo Eduardo Padulano authored
Bring utility functions from TTreeProcessorMT in their own namespace, to make them available for internal use in other ROOT sources.
-
Enrico Guiraud authored
We want to warn users if a RResultPtr returned by a lazy Snapshot action is destroyed before the event loop is run, but _only_ if there are no other RResultPtr objects that share ownership of the result, i.e. if there is no way to trigger this Snapshot in the future.
-
Enrico Guiraud authored
Test that we don't warn needlessly if a RResultPtr corresponding to a lazy Snapshot action is destroyed _but_ other RResultPtr instances share ownership of the result.
-
- Apr 14, 2021
-
-
Enrico Guiraud authored
In order to specialize cling's value-printing logic for collections we perform some SFINAE checks. Among other things, the checks assert that `++(obj.begin())` is well-formed. That compiles for `std::vector` and other collections with "fat" iterators, but does not compile for collections that use raw pointers as iterators: ```cpp auto beg(std::vector<int> &v) { return v.begin(); } int *beg2(std::vector<int> &v) { return &v[0]; } int main() { std::vector<int> v{1,2,3}; beg(v) += 1; //beg2(v) += 1; // does not compile - beg2(v) is not an lvalue return 0; } ``` Requiring instead `std::begin(obj)` to be well-formed should be backward compatible and it should allow collections that use raw pointers as iterators to also be pretty-printed by cling. Co-authored-by:
Axel Naumann <Axel.Naumann@cern.ch>
-
Jim Pivarski authored
Update freesegments.txt to include 64-bit case and correct an off-by-one error in the description of fLast.
-
Jim Pivarski authored
Update TDirectory.txt to include 64-bit case and the reinterpretation of Modified and Writable as a version.
-
Jim Pivarski authored
-
Jim Pivarski authored
-
Jonas Rembser authored
Benchmarking showed that calculating the bin indices in ParamHistFunc on the fly is faster than caching them in a std::vector.
-
Jonas Rembser authored
-
Jonas Rembser authored
The ParamHistFunc in the histfactory has a persistent std::map<int,int> data member. It can be replaced with a std::vector<int> where the previous key is the index in the vector. This is much faster. Schema evolution is not a problem here. With this commit, the data member is made non-persistent because it can be computed from other persistent data members.
-
Axel Naumann authored
we have lots of proper usage now, and it would need to be adapted to current TBB not offering task_scheduler_init anymore. (cherry picked from commit 1bb8f9a0)
-
Stefan Wunsch authored
-
Olivier Couet authored
one implemented for histogram. the `v` field described here: https://root.cern/doc/master/classTStyle.html#aedeb1d117d9f16af9f8ad430bf956d64 was not working the same way. This PR implement the same behavior for TGraph.
-
Olivier Couet authored
- Fix typos
-
- Apr 13, 2021
-
-
Mario Krüger authored
-
Axel Naumann authored
(cherry picked from commit 2aa4dd54)
-
Lorenzo Moneta authored
This fixes TStatistic::GetMax() when all entries are negatives. See https://root-forum.cern.ch/t/problems-with-getmax-in-tstatistic/44324
-
Olivier Couet authored
-
Sergey Linev authored
Profile directory name should be in Window notation
-
Sergey Linev authored
In such case browser will be run in headless mode and short performance test will be performed. Function will block until test completed or timedout after 30 sec
-
Sergey Linev authored
Before it was called as batch_mode, but batch used for other purposes
-
Sergey Linev authored
But Firefox still cannot be used in true batch mode for image production
-
Sergey Linev authored
Batch mode, which is now only supported by Chrome, allows to run JS code loaded from file and dump result to output file - no any communication with host application required Now extra headless mode is introduced, which allows to run client code in the headless browser and communicate with it. It was original way to produce batch images, therefore need to rename some methods to clearly separate from old functionality. Idea to allow use such mode in headless browser.
-
- Apr 12, 2021
-
-
Axel Naumann authored
was only needed for rfio which has been dropped.
-
Axel Naumann authored
The original directory was removed.
-
Enrico Guiraud authored
-
Olivier Couet authored
-
Olivier Couet authored
* RLogScopedVerbosity doxygen doc was not visible because source code was under ``` instead of ~~~ * [foundation] RLogger doc (NFC) - thanks, Sergey! Co-authored-by:
Axel Naumann <Axel.Naumann@cern.ch>
-
Bertrand Bellenot authored
* Next bunch of changes for Win64 - Use different typedefs for (U)Longptr_t to prevent overload errors on Win32 - First round of replacing (U)Long_t with (U)Longptr_t where applicable (mostly on core) and fix the following kind of warnings (leading to errors when truncating pointers) `warning C4311: 'type cast': pointer truncation from 'void *' to 'Long_t'` `warning C4312: 'type cast': conversion from 'Long_t' to 'void *' of greater size` * Better fix for pointer formatting * Fix compilation warnings * Apply Philippe's suggestion * Try to fix 32bit/64bit pointer formatting using %zx * Try to fix a compilation warning Try to fix the following warning on `ROOT-debian10-i386/cxx14`: ``` warning: format %zx expects argument of type size_t, but argument 4 has type Longptr_t {aka long int} [-Wformat=] ```
- Apr 09, 2021
-
-
Vassil Vassilev authored
For example this fails on windows.
-
Vassil Vassilev authored
-
Sergey Linev authored
Significantly reduces size of includes in header files One has to include json.hpp where it really used
-
Sergey Linev authored
Can be used as forward declaration to reduced includes sizes
-
Rahul Balasubramanian authored
-