Developer Tools

RHEL Developer Toolkit 2.0 now in beta

Just under a year ago, we introduced the Red Hat Enterprise Linux Developer Toolset 1.0 which provides the latest, stable open source developer tool versions at an accelerated cadence than that of Red Hat Enterprise Linux.  That version started with gcc 4.7 and gdb 7.4.  Since then, we’ve added V1.1 with some additional components and today we are announcing V2.0  beta that adds Eclipse, and more:

Continue reading RHEL Developer Toolkit 2.0 now in beta


How Long Does It Take to …

One common idiom in performance monitoring is how long did it take for a program to do something. For example you may want to know the time taken for database queries in PostgreSQL or just-in-time translations in a Java Virtual Machine. SystemTap and user-space markers in Linux packages make it much easier to determine the duration of those operations.

The user-space markers compiled into Linux packages mark key points in the code where particular actions occur. The user-space markers also provide arguments that provide additional information about the action. For example, the markers and the available arguments in PostgreSQL can be listed using using the SystemTap command:

$ stap -L 'process("postgres").mark("*")'

The two user-space markers related to the start and completion of a query are:

Continue reading “How Long Does It Take to …”


Red Hat at the ISO C++ Standards Meeting, Bristol, UK

Red Hat has actively participated in the ISO group defining the C++ standard for many years, and continues to make a significant contribution. The Red Hat toolchain team was well-represented at the spring meeting of the standardization committee (technically JTC1/SC22/WG21) in Bristol, UK, last month: we had three people there for the full week, with one other visiting a couple of times during the week. In this article, Jason Merrill summarizes the main highlights and developments of interest to Red Hat’s customers and partners:

Continue reading Red Hat at the ISO C++ Standards Meeting, Bristol, UK


Starting with SystemTap

As I stare at this blank screen to start writing my first blog entry I have that same feeling that so many developers have when starting with an unfamiliar programming language or application.  The developers in our group realize that it is not easy starting from nothing and we strive to make it easier to productively use SystemTap to investigate performance problems.

Continue reading Starting with SystemTap


Array allocation in C++

This technical article covers a subtlety in C++ array allocation and how we changed the GNU C++ compiler to deal with it properly. When a programmer writes

T *p = new T[3];

the C++ compiler allocates room for at least three copies of objects of type T on the heap. These objects require 3 * sizeof(T) bytes. For this example, assume sizeof(T) is 12, then it is straightforward to allocate 36 bytes (for example, using malloc). But what happens if the array length is 3937053355 (or 16909515400900422315 on a 64-bit architecture)? Then 47244640260 bytes are required. This number cannot be expressed in 32-bits, so if 32-bit arithmetic is used to perform the multiplication, the result is a mere 4. Unless special care is taken, a C++ implementation will provide a pointer to a heap area that is much too small for holding the requested number of objects (4 bytes instead of 47244640260 bytes).

Continue reading “Array allocation in C++”


7 ways to improve your application’s performance with the new Developer Toolset 1.1 release

Are you missing out on opportunities to increase your applications’ performance? As an application developer building on Red Hat Enterprise Linux, you invest a lot of time and effort into making your applications compelling and useful for your users. You probably also want to see good performance. But beyond good design, careful algorithm selection and compiler optimizations, what can a developer use to boost their application performance?

1. The latest GCC release and associated tools

The very first thing a Red Hat Enterprise Linux developer should be aware of is the availability of Red Hat Developer Toolset. I described the content and architecture of this new offering from Red Hat in my last blog post. Developer Toolset 1.x gives you the gcc-4.7 toolchain, which, at the time of writing, is the current upstream major release.

Continue reading “7 ways to improve your application’s performance with the new Developer Toolset 1.1 release”


Red Hat Developer Toolset 1.1 Now Available through Developer-focused Subscriptions

Today Red Hat announces the general availability of version 1.1 of Red Hat Developer Toolset through Red Hat Enterprise Linux Developer Subscriptions. For developers, having ready access to the latest, stable development tools is key to taking advantage of open source innovation. Red Hat Developer Toolset 1.1 bridges development agility with production stability by delivering the latest stable versions of essential C and C++ development tools. By employing Red Hat Developer Toolset, organizations can significantly increase developer productivity and improve deployment times.

Red Hat Developer Toolset helps to reduce development and deployment time by allowing users to compile once for multiple versions of Red Hat Enterprise Linux and more easily diagnose and debug applications in development. Using Red Hat Developer Toolset, software developers can develop applications that run on multiple versions of Red Hat Enterprise Linux. Applications developed on Red Hat Enterprise Linux 5 can run on both Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6.

Red Hat Developer Toolset 1.1 delivers the following significant enhancements:

Continue reading “Red Hat Developer Toolset 1.1 Now Available through Developer-focused Subscriptions”


Is your C++ development team missing out? Developer Toolset: newer tools on and for multiple RHEL releases

Wouldn’t it be nice if your software development team could use one common set of development tools based on the latest, stable upstream versions for your Red Hat Enterprise Linux development? Think of all the extra years of open source innovation – the features, optimizations and new standards support it would allow your team to build into your products. That would be great, wouldn’t it?

Fortunately, this is already available to you today, and in this blog post I’ll explain how it works and how you can get it. Red Hat Developer Toolset provides a set of additional tools installed in parallel with those delivered as part of Red Hat Enterprise Linux itself. Currently featuring the GCC C/C++ compiler and GDB debugger and backed up by Red Hat’s solid customer support, Red Hat Developer Toolset 1.0 is a great way to unlock performance in your team and your software very easily.

And if you’re already a Red Hat Developer Program subscriber, you can install the tools right now. The Red Hat Developer Toolset version 1.1 Beta, released in October 2012,
showcased a good number of additional performance analysis tools. We’re just getting started with this new offering and have plans to include other tools in the future.

Continue reading “Is your C++ development team missing out? Developer Toolset: newer tools on and for multiple RHEL releases”