Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Profilers Content on InfoQ

  • Zero to Performance Hero: How to Benchmark and Profile Your eBPF Code in Rust

    In this article, we will walk through creating a basic eBPF program in Rust. We will intentionally include a performance regression and then use profilers to locate and fix the bug. We will also create benchmarks and track them using a continuous benchmarking tool for CI.

  • Debugging Go Code: Using pprof and trace to Diagnose and Fix Performance Issues

    In this article, we will look at how to identify and fix performance issues in Go programs using the pprof and trace packages. We will begin by covering the fundamentals of the tools, then delving into practical examples of how to use them. By the end of this article, you will have a solid understanding of how to use these powerful tools to improve the performance of your Go applications.

  • Unleash the Power of Open Source Java Profilers: Comparing VisualVM, JMC, and async-profiler

    This article conveys the foundational concepts and different types of Open Source Java profilers. It allows you to choose the best-suited profiler for your needs and comprehend how these tools work in principle. The aim of a profiler is to obtain information on the program execution so that a developer can see how much time a method executed in a given period.

  • Moldable Development: Guiding Technical Decisions without Reading Code

    Developers spend most of their time reading code. Moldable Development challenges reading as a means to gather information from the system, by creating custom tools that show the problem in a way that makes it comfortable to understand. The solution typically follows quickly afterward. Glamorous Toolkit is a moldable development environment designed to decrease the cost of custom tools.

  • Preparing Entity Framework Core for Static Analysis and Nullable Reference Types

    In this article we walk through the process of updating an EF Core 3.1 based DAL to adhere to modern best practices such as TreatWarningsAsErrors, FxCopAnalyzers, and C# 8’s nullable reference types.

  • Detecting and Analyzing Redundant Code

    As software development projects grow in scope, it is very easy for them to add redundant layers of code. By analyzing several large open source projects on GitHub, the author presents his findings as to the amount of redundant code each project has and shares some recommendations as to how all projects can improve their own code management.

  • Introducing Prefix and Retrace : Interview with Stackify's Founder Matt Watson

    Stackify was founded in 2012, making it a relatively new player in the field of Application Performance Management (APM) and code profilers. InfoQ reached out to Matt Watson, founder and CEO of Stackify, to learn more about its products Prefix and Retrace.

  • Tuning Java Servers

    With tens of thousands of Java servers running in production in the enterprise, many engineers still lack the skills to keep their Java servers greased. In this article InfoQ takes a look at basic techniques for tuning Java servers.

  • Interview with Sandi Metz on Practical Object-Oriented Design in Ruby

    On occasion of the second edition of her book “Practical Object-Oriented Design in Ruby: An Agile Primer”, InfoQ talked with Sandi about how her book was received, learning from open source code, making sensible use of code analysis tools and other topics.

  • .NET Static Analysis and Parasoft dotTEST

    Static analysis has a broad set of capabilities to offer the .NET world. It can enforce pattern-based rules, whether they're based on proven standards or custom patterns that help you identify application-specific defects. Nevertheless, some defects cannot be detected by this analysis technique. The flow analysis feature of dotTEST does exactly that.

  • Talking .NET Code Analysis with Patrick Smacchia

    Patrick Smacchia is a Visual C# MVP with over 15 years of software development experience. He is the author of Practical .NET 2 and C# 2, books about the .NET platform. He has worked on software in a variety of fields including the stock exchange at Société Générale and a satellite base station at Alcatel. He's currently the lead developer of the tool NDepend.

  • Using singleton classes for object metadata

    So you have a bunch of objects - let's call it an object graph - provided by some API. Now you want to to process the objects - which requires some intermediate data, for instance: the process creates some metadata that needs to be stored with the objects. The problem: where to store the metadata? We'll show how to use Ruby singleton classes to handle this problem.