1. 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
  2. 07 Jul, 2022 1 commit
  3. 22 Jun, 2022 1 commit
  4. 16 Jun, 2022 1 commit
  5. 09 Jun, 2022 1 commit
  6. 08 Jun, 2022 1 commit
  7. 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
  8. 25 May, 2022 2 commits
  9. 18 May, 2022 1 commit
  10. 15 Apr, 2022 1 commit
  11. 14 Apr, 2022 1 commit
  12. 13 Apr, 2022 1 commit
  13. 23 Mar, 2022 1 commit
  14. 22 Mar, 2022 1 commit
  15. 17 Mar, 2022 1 commit
  16. 03 Mar, 2022 1 commit
  17. 11 Feb, 2022 1 commit
  18. 09 Feb, 2022 1 commit
  19. 04 Dec, 2021 1 commit
  20. 14 Oct, 2021 1 commit
  21. 08 Oct, 2021 4 commits
  22. 25 Aug, 2021 1 commit
  23. 02 Aug, 2021 1 commit
  24. 27 Jul, 2021 1 commit
  25. 23 Jul, 2021 1 commit
  26. 22 Jul, 2021 1 commit
  27. 20 Jul, 2021 1 commit
  28. 08 Jul, 2021 2 commits
  29. 07 Jul, 2021 1 commit
  30. 01 Jul, 2021 1 commit
  31. 29 Jun, 2021 1 commit
    • Greg Spencer's avatar
      Randomize Framework tests, opt out some tests that currently fail. (#85159) · b5f9612c
      Greg Spencer authored
      This turns on order shuffling for all tests that don't fail with it on, marking those tests that do fail with a tag so that they will be run without shuffling on.
      
      To determine which tests fail with it on, I ran all the tests 100 times with different random shuffle seeds, and then also ran it with the date seeds from today until the end of July, and tagged all of the test suites (files) that fail, with a seed that caused them to fail.
      b5f9612c
  32. 25 Jun, 2021 1 commit
  33. 02 Jun, 2021 1 commit
  34. 01 Jun, 2021 1 commit
  35. 21 May, 2021 1 commit