This post will present the Boost intrusive_ptr and its usage in C++ programming.
Recently, I took some time to optimize the parsing performances of the EDDI Compiler. The parsing phase creates a lot of nodes to fill the Abstract Syntax Tree.
One of the way I found was to replace some shared_ptr by some intrusive_ptr of the Boost library.
It’s a faster alternative of …
Posts Tagged ‘Performances’
I’m very pleased to release the version 0.5.1 of the EDDI Compiler.
It makes now a long time since the last version of eddic, but I started again working frequently on it. This version doesn’t add any new feature to the language, but there are a lot of improvements in the compiler itself.
First of all, the generated assembly has been improved a lot. I …
One month ago, my diploma thesis has been accepted and I got my Bachelor of Science in Computer Science.
I made my diploma thesis at Lawrence Berkeley National Laboratory, Berkeley, California. I was in the team responsible of the developmenet of the ATLAS Software for the LHC in Cern. The title of my thesis is Inlining Assistance for large-scale object-oriented applications
The goal of this project …
I have shown before how to profile a C++ application using the Linux perf tools. In this post, we will see how to profile the same kind of application using Callgrind. Callgrind is a tool in part of the Valgrind toolchain. It is running in Valgrind framework. The principle is not the same. When you use Callgrind to profile an application, your application is transformed in …
When an application encounters some performance issues, we have to find the code that causes the problem to optimize only what really matters.
To find the code we have to optimize, the profilers are really useful. In this post, we’ll use the Linux perf tools to profile a simple C++ application.
The perf tools are integrated in the Linux kernel since the 2.6 version. …
As you may have seen, my website had not CSS these last days.
This was due to a bug in the W3 Total Cache plugin of WordPress. The minified CSS file wasn’t accessible. When we tried to access it from the site, there was an error : “File param is missing”
There is an easy solution to solve this problem. You just have to disable …
Hi,
I’ve created a new github repository for my Java Benchmarks : java-benchmarks
From now all my benchmarks will be pushed to this repository. This is more simple for me to manage and more secure also.
At this time, there is seven benchmarks on the repository :
Closest Pair Search Benchmark : A benchmark to test two closest pair point search algorithms : the naive one and the …
I’ve created another benchmark. This time, I’ve benchmarked the different ways of synchronizing a little code using mutual exclusion on this code.
The code to protect will be very simple. It’s a simple counter :
//Init
int counter = 0;
//Critical section
counter++;
The critical section, if not protected with synchronization system, will not function properly due to possible interleavings (read the article on synchronization if you don’t know …
I’ve made another updates to my file copy benchmark.
First of all, I used my little utility class to automatically create the graphs. The graph are a little less clean, but I spare a lot of time not creating them myself.
Then, I’ve also made some corrections on the code :
I”ve used a buffer size of 8192 instead of 4096
I’ve made some corrections using the channels …
After launching a lot of benchmarks for file copy benchmark and always generating the graphs from the results in Excel, I realized that I was loosing a lot of time to do that. So like any Java developer, I decided to create a little tool that do the work automatically for me.
For creating benchmarks, I’m using a little micro-benchmarking framework, described here. After the …
