Iterator Benchmarks That Shocked With Unexpected Results

I wanted to create a follow-up post in my series on IEnumerables, iterators, and collections focusing on performance characteristics. When checking out the runtime performance and memory characteristics between these materialized collections and iterator benchmarks, I was very surprised! Check out this article for performance benchmark characteristics and some curious finds.

8 Comments

Beware of These Iterator and Collection Traps

This article is not set out to try and persuade you, the reader, that either using an iterator or materialized collection will universally solve your problems. Both iterator and materialized collection usage can be used to solve the scenarios that we'll be looking at, but both will come with a different set of pros and cons that we can further explore. The purpose of this article is to highlight scenarios based on real world experiences where either an iterator or materialized collection was being misunderstood, misused, and ultimately leading to a pile of headaches. As you read this article, if you find yourself saying "Well, sure, but they should have..." you're probably right. The problem is fundamentally not the usage of an iterator or the materialized collection, but not understanding how to consume them effectively. So I hope that when…

0 Comments

Yield! Reconsidering APIs with Collections

Yield: A Little Background The yield keyword in C# is pretty cool. Being used within an iterator, yield lets a function return an item as well as control of execution to the caller and upon next iteration resume where it left off. Neat, right? MSDN documentation lists these limitations surrounding the use of the yield keyword: Unsafe blocks are not allowed. Parameters to the method, operator, or accessor cannot be ref or out. A yield return statement cannot be located anywhere inside a try-catch block. It can be located in a try block if the try block is followed by a finally block. A yield break statement may be located in a try block or a catch block but not a finally block. So what does this have to do with API specifications? A whole lot really, especially if you're dealing…

0 Comments

Performance Reviews – Weekly Article Dump

Performance Reviews It's almost the end of the year, and performance reviews for many companies are just around the corner. This will be the first time for me sitting on the other side of a performance review. I'm excited, and to be honest, a little nervous about how it will all play out. I know our HR manager has done an excellent job putting together our initial take on performance reviews, but it's still going to be up to me to ensure that all aspects of a performance review are communicated properly to my team. It's definitely going to be an interesting time of year! I've started doing a little bit of reading on performance reviews. From what I can tell, the general consensus is that most performance review systems are flawed and nobody knows the perfect way to do…

0 Comments

Halloween – Weekly Article Dump

Happy HalloweenHappy Halloween, everyone! I hope those of you who were out and about with your own little ghouls and ghosts had a safe Halloween this year.Halloween costumes were pretty creative again this year at Magnet Forensics. I tried going with my own Horse Lime attempt, but it's difficult when not many people know what the Horse Lime actually is. Regardless, my awesome mother put together the lime portion of my costume, and I was extremely grateful for that (and yes, I'm in my mid 20's. No judging). I think it turned out pretty damn good.This year, Saige won our Halloween costume contest. As Old Gregg, it was hard for that to not be a sure-fire win. Complete with Bailey's in hand, I think the only thing that could have made it better was a set of watercolours to go…

0 Comments

End of content

No more pages to load