Skip to content
Snippets Groups Projects
  1. Jan 01, 2025
  2. Sep 04, 2024
    • Dmitri Naumov's avatar
      For all precision output use max_digits10 · d3ff4e1d
      Dmitri Naumov authored
      This guarantees floating-point -> text -> floating-point
      roundtrip.
      
      Those places, where the output precision was explicitly
      set to 15-18 places, were replaced with max_digits10
      precision.
      d3ff4e1d
  3. Feb 12, 2024
  4. Jan 02, 2024
  5. Nov 01, 2023
  6. Oct 09, 2023
  7. Sep 17, 2023
  8. Aug 29, 2023
  9. Jul 19, 2023
  10. Jul 12, 2023
    • Dmitri Naumov's avatar
      [doc] Use \file in headers. Replace @ with \. · 5b297a54
      Dmitri Naumov authored
      This unifies the doxygen headers. If the (doxygen) header is not
      starting with \file, the following documentation is attributed to a
      different entity resulting is multiple copyright blocks and the like in
      the doxygen's html files.
      5b297a54
  11. Jun 20, 2023
  12. May 30, 2023
  13. Jan 03, 2023
  14. Dec 19, 2022
  15. Dec 18, 2022
  16. Nov 01, 2022
    • Dmitri Naumov's avatar
      [CL] Use size_t in access avoiding conversion warn · b3aa40bf
      Dmitri Naumov authored
      Compiler complains otherwise about narrowing conversion from
      Eigen::index to unsigned.
      b3aa40bf
    • Dmitri Naumov's avatar
      Add selection of precompiled headers · a1753e6b
      Dmitri Naumov authored
      This significantly speeds up total rebuild of the project especially in
      the debug preset where it reaches 30%. In the release configuration most
      of the time is spent in the optimization of the code and header parsing
      improvese only by 5%
      
      The expensive header files were determined by ClangBuildAnalyzer
      https://github.com/aras-p/ClangBuildAnalyzer which requires clang's
      -ftime-trace compiler option.
      
      "master" is 8a0f3b66 and the "precompiled headers" branch is descending directly from it.
      
      Improvement of user time around 984s ^= 36%, system time around 30s ^= 22%, wall clock time around 98s ^= 34%.
      
      ninja -j10  1692.19s user 130.79s system 975% cpu 3:06.80 total
      ninja -j10  1693.08s user 130.55s system 976% cpu 3:06.75 total
      
      ninja -j10  2675.04s user 166.38s system 998% cpu 4:44.44 total
      ninja -j10  2677.04s user 168.18s system 999% cpu 4:44.61 total
      
      Improvement of user time around 1010s ^= 5.6%, system time around 50s ^= 36%, wall clock time around 52s ^= 1.9%.
      
      ninja -j10  16864.30s user 96.46s system 661% cpu 42:42.49 total
      ninja -j10  17044.40s user 97.29s system 643% cpu 44:25.82 total
      
      ninja -j10  17890.56s user 188.18s system 687% cpu 43:48.51 total
      ninja -j10  17863.29s user 132.79s system 679% cpu 44:06.71 total
      
      For debug build because of significant improvement there.
      
      405626 ms: eigen3-src/Eigen/Core (included 689 times, avg 588 ms)
      250368 ms: BaseLib/Error.h (included 675 times, avg 370 ms)
      178942 ms: BaseLib/Logging.h (included 739 times, avg 242 ms)
      168664 ms: MaterialLib/MPL/Property.h (included 228 times, avg 739 ms)
      151512 ms: BaseLib/ConfigTree.h (included 220 times, avg 688 ms)
      148939 ms: googletest-src/googletest/include/gtest/gtest.h (included 190 times, avg 783 ms)
      146104 ms: MathLib/Point3d.h (included 548 times, avg 266 ms)
      143836 ms: MeshLib/Elements/Element.h (included 351 times, avg 409 ms)
      135652 ms: /usr/include/boost/property_tree/ptree.hpp (included 225 times, avg 602 ms)
      123695 ms: MeshLib/Mesh.h (included 415 times, avg 298 ms)
      
      72868 ms: BaseLib/Error.h (included 108 times, avg 674 ms)
      53854 ms: MeshLib/Mesh.h (included 207 times, avg 260 ms)
      51212 ms: MeshLib/Elements/Element.h (included 161 times, avg 318 ms)
      45812 ms: MaterialLib/MPL/Property.h (included 191 times, avg 239 ms)
      45603 ms: MathLib/Point3d.h (included 300 times, avg 152 ms)
      45143 ms: BaseLib/Logging.h (included 118 times, avg 382 ms)
      42384 ms: ProcessLib/Process.h (included 42 times, avg 1009 ms)
      30976 ms: MathLib/LinAlg/GlobalMatrixVectorTypes.h (included 120 times, avg 258 ms)
      29221 ms: iphreeqc-src/src/phreeqcpp/Phreeqc.h (included 62 times, avg 471 ms)
      27882 ms: NumLib/DOF/LocalToGlobalIndexMap.h (included 80 times, avg 348 ms)
      
      Many of the same headers, but the total parsing times went 10-fold down.
      a1753e6b
  17. Sep 18, 2022
  18. Sep 17, 2022
  19. Aug 26, 2022
  20. Jul 25, 2022
  21. Jun 02, 2022
  22. May 19, 2022
  23. May 04, 2022
  24. Apr 24, 2022
  25. Apr 05, 2022
  26. Mar 09, 2022
Loading