- Apr 29, 2021
-
-
Tobias Triffterer authored
As required under the LGPL, a prominent notice has been added to the main readme file to inform the user that this is a modified version of ROOT.
-
Tobias Triffterer authored
This adds additional directories to the CMake variable CLING_CXX_HEADERS, whose content is later on compiled into the ROOT libraries. Cling requires access to the header files even at runtime, but a Flatpak runtime environment does not contain them, only the SDK used at compilation time does. The /usr tree inside a Flatpak sanbox is immutable, everything the application needs in addition to the underlying runtime has to be shipped in /app. This patch adds these paths under /app to the search paths of Cling so that it does work inside a Flatpak sandbox. This behaviour is controlled by the new boolean build option “BUILD_FOR_FLATPAK”. However, this patch alone does not do the trick. The Flatpak build manifest needs to contain commands to create the “/app/include” directory and copy all the include files there from the SDK as well as to install the include files from ROOT under “/app/include/root”.
-
Tobias Triffterer authored
This compiler flag — foreseen by the original authors — stops RooFit from displaying its banner in front of the banner and license information of the main application
-
- Mar 10, 2021
-
-
Axel Naumann authored
-
Axel Naumann authored
-
- Mar 05, 2021
-
-
Oksana Shadura authored
-
Sergey Linev authored
Remove "l" from "ar clq" command while there is no extra library linked to libAfterImage.a
-
Sergey Linev authored
Otherwise image slowly degrade if doing loop: for (int i=0;i<100;++i) { img1->GetImageBuffer(&buf, &sz); img1->SetImageBuffer(&buf); }
-
Sergey Linev authored
With latest libpng versions value 0 recognized as error and produced results are wrong
-
- Mar 04, 2021
-
-
Philippe Canal authored
-
Sergey Linev authored
If application runs in special thread, one should call RWebWindowManager::AssignMainThrd() to indicate this
-
- Mar 03, 2021
-
-
Philippe Canal authored
This enum will be removed shortly (functionality moved from TObject::Write to *::Merge)
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
This is necessary to support the 'fast' incremental merge where the input will continue to be used.
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
TIsAProxy: Don't record failed searches (a library might be loaded between now and the next search).
-
Philippe Canal authored
-
Philippe Canal authored
Since fClass is modified only 'once' at init time of the IsAProxy object, it is actual more efficient to protect the initialization by a lock rather than having fClass being atomic.
-
Philippe Canal authored
This allows to significant reduce the number of search through the list of cached result ... That search was a noticeable cause of slow down with an increase of number threads due to the contention on updating the number of readers (used for the local read/write lock mechanism).
-
Philippe Canal authored
To save space, the compression can be re-enabled by TBuffferMerger::SetCompressTemporaryKeys. The TBaskets are still compressed and thus the end result is unchanged.
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
TClass::GetBaseClassOffset is a 'often' used routine in the I/O. In the fast path (looking up in a cache), rather than taking the global read lock (which is not only global but also 'slower' than a regular mutex), we are now use a instance specific mutex to protect the cache.
-
Philippe Canal authored
Add new enum for TObject::Write: kOnlyPrepStep = BIT(3) ///< Just prepare the objects do not write them (i.e. call TTree::FlushBaskets)
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
If TBufferMerger can take the merge lock, then rather than queuing the input file, merge it immediately and skip the Writing the TTree, doing a memcpy, Pushing to the queue then Reading and then deleting parts.
-
Philippe Canal authored
Currently only in the case where we have a Merge function and a dictionary.
-
Philippe Canal authored
For iteration over the list of baskets, the existing code try to reduce the range of the iteration to stop as soon as all non-nullptr slot have been seen. However to know the number of non-nullptr slot, the code (has to) call GetEntries which scan the entire array anyway ...
-
Philippe Canal authored
TObjArray::GetEntries() counts the number of non-zero slots while TObjArray::GetEntriesFast() return (in most case) the value of a high water mark (the slot over which all remaining slots are empty). In one use case (doing read a TTree and do many TTree cloning (via TBufferMerger), TObjArray::GetEntries was taking 8% of the running time (compression was disabled) Note: TObjArray::IsEmpty use GetEntriesFast rather than GetEntries.
-
Philippe Canal authored
Limited to TTree and Histogram.
-
Philippe Canal authored
We do not apply the same to CloneTree as the addresses copying is a side-effect (no reset at the end) that is relied upon by user code.g
-
Philippe Canal authored
This can be used to monitor the queue size in bytes rather than number of files
-
Philippe Canal authored
This can now be safely use to avoid overloading the queue.
-