1. 28 Oct, 2022 1 commit
  2. 25 Oct, 2022 1 commit
  3. 15 Sep, 2022 1 commit
  4. 12 Sep, 2022 1 commit
  5. 10 Sep, 2022 1 commit
  6. 09 Sep, 2022 1 commit
  7. 08 Sep, 2022 1 commit
  8. 07 Sep, 2022 2 commits
  9. 15 Aug, 2022 1 commit
  10. 13 Aug, 2022 1 commit
  11. 12 Aug, 2022 1 commit
  12. 04 Aug, 2022 1 commit
  13. 03 Aug, 2022 1 commit
  14. 29 Jul, 2022 1 commit
  15. 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
  16. 07 Jul, 2022 1 commit
  17. 22 Jun, 2022 1 commit
  18. 16 Jun, 2022 1 commit
  19. 09 Jun, 2022 1 commit
  20. 08 Jun, 2022 1 commit
  21. 31 May, 2022 1 commit
    • Greg Spencer's avatar
      Switch debugAssertNotDisposed to be a static (#104772) · 16b73481
      Greg Spencer authored
      This reverts part of the change made in #103456 to expose a debug check for subclasses of ChangeNotifier to avoid code duplication. Instead of making debugAssertNotDisposed a public instance function, it is now a public static function. It makes it harder to call, slightly, but it means that everyone who implemented ChangeNotifier instead of extending it doesn't get broken.
      16b73481
  22. 25 May, 2022 2 commits
  23. 18 May, 2022 1 commit
  24. 15 Apr, 2022 1 commit
  25. 14 Apr, 2022 1 commit
  26. 13 Apr, 2022 1 commit
  27. 23 Mar, 2022 1 commit
  28. 22 Mar, 2022 1 commit
  29. 17 Mar, 2022 1 commit
  30. 03 Mar, 2022 1 commit
  31. 11 Feb, 2022 1 commit
  32. 09 Feb, 2022 1 commit
  33. 04 Dec, 2021 1 commit
  34. 14 Oct, 2021 1 commit
  35. 08 Oct, 2021 4 commits