How We Used dotMemory to Optimize dotMemory
dotMemory is a .NET memory profiler by JetBrains. My name is Ilya and I help develop the tool. I'd like to tell you a classical dogfooding story of how we optimized one of dotMemory's algorithms by using our own tools – dotMemory and dotTrace. We then improved it some more using dotTrace, and finished off the optimization process by using BenchmarkDotNet. I’d like to thank the authors of two articles, 1 and 2, which inspired me to share this story. It all began when a colleague messaged me in Slack about a problem he was experiencing with the dominator tree in dotMemory. The data
Get a Reward for Sharing Your dotTrace or dotMemory Experience
We are conducting a study on how our profilers are used and how they help resolve performance or memory issues. We invite all dotTrace and dotMemory users to take part. Keep reading for more details! SHARE A STORY What should I do? The whole process consists of just a few steps: Fill out and submit a short qualification questionnaire. It should not take much time. If you meet our requirements, we will send you a set of questions and schedule an online meeting. Take part in a 60-minute interview. We will prepare materials and come back to you for final approval before publishing. When
Investigate memory issues with ease – Introducing real-time inspections in dotMemory Allocation Analysis
Memory issues can be challenging to diagnose, especially when we're under the stress of an extreme performance issue and unhappy users. Luckily, dotMemory 2021.1 users will appreciate the new and improved memory allocation analysis in our product's latest version. Using our new allocation analysis UI, we'll quickly locate those wasteful allocations bringing our application to a grinding halt. We'll spend seconds, not hours, investigating any memory issue. Let's see how. Timeline Intervals and Memory Allocations We'll start a new profiling session using dotMemory by adding a New Process Run an
dotMemory Support For Linux Process Dumps
Great news, Linux users! dotMemory 2021.1 now supports analyzing dumps collected using gcore and dotnet-dump for your Linux-hosted .NET applications. In this post, we'll explore how to use a Linux environment, Ubuntu, as our primary development environment using JetBrains Rider, take process dumps of our .NET applications, and investigate potential issues using dotMemory on Windows. Set up the Linux Environment We'll be using Ubuntu, one of the more popular desktop Linux distributions for this walkthrough. Readers should feel free to use the distribution of their choice but realize that their
dotTrace and dotMemory bring new home screen!
Longtime users of dotTrace and dotMemory may have noticed the brand new home screen that ships with version 2021.1. The change comes as part of our goal to make our products the best profiling tools on the market for all major desktop platforms (we're using Avalonia to make this cross-platform UI a reality). We redesigned the user interfaces to help developers jump right into a profiling session. Both products share some UI design elements that should help users transition seamlessly between the two profiling products. Not only do the UI's look similar, but dotTrace and dotMemory will share t
Rider 2020.3.3 and ReSharper Tools 2020.3.3 Have Landed!
Hello everyone! We‘ve just published the ReSharper Tools 2020.3.3 and Rider 2020.3.3 releases. Here’s a quick synopsis of the most critical fixes we’ve delivered with these builds. You can use the links below to navigate directly to the product you are interested in: Rider ReSharper dotMemory ReSharper Command Line Tools Rider 2020.3.3 The overall debugger experience is as smooth and fast as it was in the 2020.2 releases, including launching the debugger, hitting breakpoints/conditional breakpoints, and evaluating values (RIDER-56637 and RIDER-56503). We fixed a couple of crashes in the
Hacktoberfest 2020 and .NET OSS
Get out your dirndl and lederhosen - it's that time of year again! We're excited to be sponsoring Hacktoberfest 2020. Hacktoberfest is an opportunity for contributors worldwide to give back to their favorite projects in the form of pull-requests. In this blog post, you will find out what Hacktoberfest is, as well as a nice surprise by JetBrains. But there's more! We'll share types of activities you can contribute, and a list of .NET projects that need your help. Let's start at the beginning... 📯 Hacktoberfest For those unfamiliar with Hacktoberfest, here are the basic rules of particip
ReSharper 2020.3 Roadmap
In this post, we’d like to share our plans for ReSharper 2020.3 and find out what we can do next to improve your development experience. Your feedback is always welcome! The following is a list of our priorities for the next release cycle of 2020.3. Note that these are features we’re working on – as opposed to features scheduled for delivery. Some of these might come with later versions. .NET and C# – Support for new platform and language features, like top-level statements or target-typed new expressions. We will extend our support for nullable reference types (NRT), for instance with a dedi