- Aug 22, 2018
-
-
Vassil Vassilev authored
X3DBuffer.h is used indirectly by Graf3d and EG dictionaries. It does not make a lot of sense to exclude it. Digging git history shows the import from cvs so the real reason will probably remain unknown.
-
- Aug 10, 2018
-
-
Oksana Shadura authored
making Core source code independent from Graf2d dependencies.
-
- Apr 03, 2018
-
-
Yuka Takahashi authored
There are some codes compiled at the start up time. For example, - #include \"cling/Interpreter/RuntimeUniverse.h\" - #include \"cling/Interpreter/DynamicLookupRuntimeUniverse.h\" - namespace cling { class Interpreter; namespace runtime { Interpreter* gCling }}} - PrintValue These are passed to Cling as string and initialized at the start up time. So I think it makes sense to reduce top-level global variables, #includes and virtual functions. 1. Global variables If we break at emitModule, we can get a list of global variables and functions which are actually deserialized. These include functions, variables, STL classes and all the functions derives from them. I tried to change them to for example constexpr, so that it's processed at compile time. 2. Eagerly Deserialized decls Thanks to @Axel 's hint and tip, we could minimize eagerly deserialized decls deserialized in ASTReader::PassInterestingDeclsToConsumer. We already removed most of eagerly deserialized decls (Some are remaining to be removed, some are hard to remove and some don't cost a lot). So far, we got 9.2% of cpu time improvement and 8.8% of memory improvement at start up time in release build. - root.exe -q -l - master cpu time = 0.09186914285714286 sec (average of 7 times) res memory = 142.008 Mbytes - HEAD cpu time = 0.08337842857142856 sec res memory = 129.508 Mbytes - hsimple.C Improved by 13% of cpu time and 8.5% of memory - master cpu time = 0.0954708 sec (average) res memory = 142.891 Mbytes - HEAD cpu time = 0.0833258 sec res memory = 130.73 Mbytes With modules - Improvement by 17.7% in cputime and 2% in memory on root.exe -q -l (For memory, small improvement is because most of the memory is taken by LoadModules) - With this patch, modules is 11.2% slower in cpu time and 6% better in residential memory.
-
- Mar 27, 2018
-
-
Axel Naumann authored
-
- Feb 21, 2018
-
-
Olivier Couet authored
-
- Dec 05, 2017
-
-
Evgueni Tcherniaev authored
-
- Sep 08, 2017
-
-
Olivier Couet authored
-
- Sep 05, 2017
-
-
Sergey Linev authored
-
Sergey Linev authored
Let store it in XML and JSON, does not affect binary I/O
-
Sergey Linev authored
Allows to use JSON and XML storage of such objects. Does not affect binary I/O
-
- Jul 28, 2017
-
-
Raphael Isemann authored
This refactors the CMake build files to no longer manually call the CMake functions for generating and linking the dicionairies. One reason is to reduce boilerplate, the other is that it is now no longer possible to have naming mismatches between the dictionary generation arguments and linking function arguments which was causing the race conditions we had in our build system. This also now follows more strictly the separation between dependencies like Math, Tree and Core and pure linking flags to external libraries.
-
- Jul 26, 2017
-
-
Olivier Couet authored
-
- Jul 12, 2017
-
-
Raphael Isemann authored
ROOT_GENERATE_DICTIONARY allows to specify dependencies, but we currently don't actually specify those. As we need this for getting the module dependencies right (as we can't build missing modules on demand), we should add those dependencies here. Then those dependencies propagate to the rootcling invocation which will in the future also generate the C++ module for the selected dictionary.
-
- Jun 06, 2017
-
-
Vassil Vassilev authored
ClassImp is a macro defined in Rtypes.h. It can be written without trailing semicolon. However, clang-format is based on lexing and it doesn't know at all about preprocessors and how to expand macros. When visiting ClassImp(X) it thinks this is not a completed entity (as it doesn't expand macros) and considers the next line as continuation of the previous. Inserting a semicolon fixes the issue and makes formatting with clang-format in the ROOT codebase less tricky.
-
- Apr 05, 2017
-
-
Olivier Couet authored
-
- Apr 04, 2017
-
-
Olivier Couet authored
-
- Mar 21, 2017
-
-
Olivier Couet authored
This issue is described here: https://root-forum.cern.ch/t/tcanvas-handleinput-method-perspective-vs-parallel/24086
-
- Feb 14, 2017
-
-
Raphael Isemann authored
Many headers contains redundant header guards around #include directives: #ifndef ROOT_TTree #include "TTree.h" #endif This patch removes the #ifndef's around these includes as they don't serve any pratical purpose anymore and are no longer part of the current ROOT coding convention. This patch also fixes the 153 typos that are contained in the symbols of the #ifndef directives. Signed-off-by:
Vassil Vassilev <vvasilev@cern.ch>
-
- Jan 30, 2017
-
-
Olivier Couet authored
-
- Jan 26, 2017
-
-
Olivier Couet authored
From Evgueni Tcherniaev: modify the code for WCtoNDC() and NDCtoWC() to ensure that the transformations work correctly in the case where pw and pn are the same array.
-
- Dec 17, 2016
-
-
Vassil Vassilev authored
Make cannot deal with 'export *', they have to be escaped and fixed later on.
-
- Dec 14, 2016
-
-
Vassil Vassilev authored
This is the recommended way of using the modules feature and should pave our way of enabling -fmodules-local-submodules-visibility mode.
-
Vassil Vassilev authored
-
Vassil Vassilev authored
Building X3DBuffer.c (in C mode) requires X3DBuffer.h (or the module containing it) to be able to be built in C mode.
-
Vassil Vassilev authored
Our two build systems can generate almost entirely a modulemap file laying out one module per library. Due to some non-modular implementation in ROOT's core we still need to treat some header files specially. This patch appends modular header files to the modulemap while skipping the predefined ones. Configure-make relates all headers that are installed in $ROOTSYS/include to their library whereas relates only headers which are part of library's dictionary.
-
Vassil Vassilev authored
-
- Oct 27, 2016
-
-
Olivier Couet authored
bin content to be conform to the 2D case where the surface of the boxes is proportional to the bin content.
-
Olivier Couet authored
-
- Sep 27, 2016
-
-
Lorenzo Moneta authored
-
- Sep 06, 2016
-
-
Sergey Linev authored
Signed-off-by:
Philippe Canal <pcanal@fnal.gov>
-
Sergey Linev authored
Signed-off-by:
Philippe Canal <pcanal@fnal.gov>
-
- Jul 07, 2016
-
-
Olivier Couet authored
In `TMarker3DBox` when a box marker has a size equal to zero it is not painted. Painting it produced a dot with the X11 backend.
-
- May 22, 2016
-
-
Philippe Canal authored
-
- May 18, 2016
-
-
Olivier Couet authored
Simplify the previous fix: No need to do the loop to find Min and Max because GetMinimum and Get Maximum do it. This also fixes the issue mentioned here: https://root.cern.ch/phpBB3/viewtopic.php?f=3&t=21632
-
- Apr 09, 2016
-
-
Philippe Canal authored
-
- Jan 18, 2016
-
- Jan 08, 2016
-
- Nov 13, 2015
-
-
Vassil Vassilev authored
All files, which depend on the definition of TBuffer, should include TBuffer.h. Fixes the modules build. Document this backward incompatible change.
-
Philippe Canal authored
-
- Nov 06, 2015
-
-
Olivier Couet authored
-