Time Complexity AND Space Complexity (memory usage) are missing from Types/Methods/ExtensionMethods that are typically used for Performance Tuning #10554
Labels
discussion
Indicates issues that are being discussed
doc-idea
Indicates issues that are suggestions for new topics
Pri3
Indicates issues/PRs that are low priority
Milestone
Describe the issue or suggestion
Please include BOTH Time Complexity and Space Complexity. Having Space Complexity is so important nowadays with performance efforts very frequently focused on reduction of memory consumption. This is extremely important for Data Types and methods/extension methods that are considered "go-to's" for performance tuning nowadays with performance efforts very frequently focused on reduction of memory consumption.
Currently, the only way to get a rough estimate is to write benchmarks using BenchmarkDotNet to try and measure memory consumption. However, this technique is:
Most devs aren't going to spend the time to write comprehensive benchmarks considering that writing these benchmarks is time consuming. Thus, they end up possibly selecting the wrong type or method for their use-case. For example, trivial benchmarks with a smaller data set may appear that a method scales as O(2N) whereas a more comprehensive benchmark would show that the space complexity scales much differently as the data changes.
I do understand that keeping up with documentation is a challenge as the rate that the .NET ecosystem has increased dramatically over the years. However, consider this:
Thank you for your consideration!
The text was updated successfully, but these errors were encountered: