1. 02 Mar, 2023 1 commit
  2. 23 Feb, 2023 2 commits
  3. 17 Feb, 2023 1 commit
  4. 31 Jan, 2023 1 commit
  5. 25 Jan, 2023 1 commit
  6. 24 Jan, 2023 1 commit
  7. 20 Dec, 2022 1 commit
  8. 14 Dec, 2022 1 commit
  9. 11 Dec, 2022 1 commit
  10. 07 Dec, 2022 2 commits
  11. 31 Oct, 2022 2 commits
  12. 05 Oct, 2022 1 commit
  13. 22 Sep, 2022 1 commit
  14. 20 Sep, 2022 1 commit
  15. 15 Sep, 2022 1 commit
  16. 12 Sep, 2022 1 commit
  17. 07 Sep, 2022 1 commit
  18. 17 Aug, 2022 1 commit
  19. 15 Aug, 2022 1 commit
  20. 13 Aug, 2022 1 commit
  21. 12 Aug, 2022 1 commit
  22. 10 Aug, 2022 1 commit
  23. 03 Aug, 2022 1 commit
  24. 27 Jul, 2022 1 commit
  25. 20 Jul, 2022 1 commit
    • Vyacheslav Egorov's avatar
      Use persistent hash map to store _inheritedWidgets (#107068) · 81300293
      Vyacheslav Egorov authored
      * Use persistent hash map to store _inheritedWidgets
      
      Instead of using a HashMap and copying it down the tree
      which leads to quadratic time and space complexity
      use a persistent data structure which can amortize
      the cost by sharing parts of the structure.
      
      The data shows HAMT based PersistentHashMap to be
      5-10x faster for building _inheritedWidgets and
      considerably more space effecient (e.g. bringing
      amount of memory allocated when constructing
      _inheritedWidgets in a tree with 150 InheritedWidget
      down to 70Kb from 970Kb).
      
      PersistentHashMap is slower than HashMap for
      access: 2-3x in relative terms, but in absolute
      terms we are only talking about ~0.2ns slow down
      per access and various app benchmarks we run have
      have not revealed any significant regressions.
      81300293
  26. 18 Jul, 2022 1 commit
  27. 08 Jul, 2022 1 commit
  28. 06 Jun, 2022 1 commit
  29. 26 May, 2022 1 commit
  30. 23 May, 2022 1 commit
  31. 17 May, 2022 1 commit
  32. 06 May, 2022 1 commit
  33. 29 Apr, 2022 2 commits
  34. 25 Apr, 2022 1 commit
  35. 14 Apr, 2022 1 commit
  36. 13 Apr, 2022 1 commit