Skip to content
Snippets Groups Projects
  1. Apr 11, 2023
    • Carsten Gräser's avatar
      Switch internal data structure in MatrixIndexSet · c8272a07
      Carsten Gräser authored
      This replaces the `std::set` used to store the column indices for each
      rows by a `std::vector` based implementation. The `std::vector` is
      kept sorted when inserting such that we can avoid duplicates. This
      can improve assembly time of matrices significantly (if `MatrixIndexSet` is used).
      
      In the worst case (insertion in reverse) this may lead to O(n^2) complexity
      when inserting n entries in a row compared to O(n log(n)) for `std::set`.
      However, the sorted `std::vector` implementation still wins for relatively
      large n. To avoid the worst case complexity when using very dense rows,
      the implementation is switched to `std::set` if the size exceeds the threshold
      value `maxVectorSize`. The default `maxVectorSize=2048` was selected based
      on benchmark results.
      c8272a07
  2. Feb 12, 2023
  3. Feb 07, 2023
  4. Feb 06, 2023
  5. Jan 16, 2023
  6. Jan 08, 2023
  7. Jan 07, 2023
  8. Dec 13, 2022
  9. Dec 12, 2022
  10. Dec 08, 2022
  11. Dec 07, 2022
  12. Dec 04, 2022
  13. Dec 02, 2022
  14. Dec 01, 2022
  15. Nov 30, 2022
  16. Nov 19, 2022
  17. Nov 18, 2022
  18. Nov 16, 2022
  19. Oct 21, 2022
  20. Oct 20, 2022
  21. Oct 19, 2022
  22. Oct 15, 2022
Loading