- Reduce LINQ overhead by replacing SingleOrDefault and filtering logic with manual iteration.
- Use HashSet and case-insensitive comparisons for faster lookups.
Both of these changes resolve a number of HAA0401 warnings:
Possible allocation of reference type enumerator; non-ValueType enumerator may result in a heap allocation.
Value type to reference type conversion causes boxing at call site, and unboxing at the callee-site. Resolves by explicitly converting value to string before including it in a log message string.
- Drastically improve performance, where non-threaded perf is now better than previous threaded perf
- Process all data in-line, as opposed to building huge lists of bot data that is then processed in groups later
- Memory footprint should now be relatively static no matter the amount of dumps