Tuesday, July 5, 2011

Finally, error bars!

Finally we got error bars on Codespeed!

We used an old post by Jeremiah Faith (bfjf) on a issue created by Chris Leonello (cleonello) on jqPlot bitbucket which adds error bars using jqPlot OHLCRenderer plugin. You can check this issue here.

Now, we got real error bars on Timeline view.

We tried using series inverse colors:



and using grey:




It's also possible to set if you want Codespeed to display error bars or not by editing codespeed/settings.py and changing the value of use_error_bars to True or False.

Monday, June 27, 2011

Codespeed 0.8 - Released!

Last week Miquel finished merging some code and fixing some stuff and released Codespeed 0.8!

Some changes on this release are:
- Branch support (for now, only working on the Comparison view)
- VC integration for github
- Command line client to post results via HTTP
- New documentation explaining Codespeed views and concepts

The objective of the branch support is to allow comparing feature branches then get merged back into the master.

If you are using Codespeed 0.7 and wants to use 0.8, please check this link

For more info, check:
https://github.com/tobami/codespeed/wiki/Releases
https://groups.google.com/group/codespeed/browse_thread/thread/f1abb7ff5bc96681?

Friday, June 17, 2011

Error bars on Codespeed

We are trying to use error bars on Codespeed to get a more confident and useful information on plots.

Playing with jqPlot1.0 examples, I got an initial idea to create a plot with error bars, which was a bar chart with vertical lines based on standard deviation. The following image shows it:



But the idea was to use the error bars on Timeline view. So, I changed the plot to a line chart, and got:




Now I need to use this on Codespeed. In fact, I did it, but it's still not fine because of performance problems. I hope to finish it still this weekend.

Monday, May 23, 2011

Codespeed 0.8 - To be released

Hi, all.

Version 0.8 of Codespeed is to be released [0]. This release brings some new stuff: support for git and github (by acdha) and the branch comparison (by me).

The most visible feature related to branch is on the Comparison view. It now combines project, executable, revision and branch to compare and the generated plots are still easy to understand, but now, one graphic is generated for each benchmark.
The Timeline view only shows results for the trunk branches (for now). We're still not using the branch features on this view because we got some problems with multi-project stuff. We may have a nice advance after my GSoC project.

So, what's missing to release?
Well, from the branch features, tobami needs to merge my fork code [1] with the main branch [2].

0: https://github.com/tobami/codespeed/wiki/Releases
1: https://github.com/daniloaf/codespeed
2: https://github.com/tobami/codespeed

Sunday, August 2, 2009

Progress

A list of what we have implemented:
-Declaring C++ classes and methods from extern
-Instanciating and deleting C++ objects
-C++ methods overloading (still with some problems with function overloading...)
-Operators overloading (not all them, but it's a really simple work)
-Declaring template types (C++ classes and functions)

Next step is to allow using template types.

Thursday, July 2, 2009

new and del operators working!

Now we can instanciate C++ objects dynamically on Cython.
thins like
cdef Foo *aFoo = new Foo()
del aFoo
are allowed.
We're using Python Syntax for it, so, we define the contructor with "__init__" special method.
Now, the next step is to work with function overloading. We already have the logic to implement it. So, what I need now is to work :).
But, before it, I shall write some tests and some documentation, and my branch of GSoC will be merged to the main branch of Cython, and so, let users do what is needed.

Wednesday, July 1, 2009

Some questions about syntax

We are deciding what syntax to use on operators overloading and constructor.
We have C++ and Python syntax, and we have big differences between them.
A thread was created on cython-dev list for voting and commenting the choose of the syntax.
On C++ syntax, the constructor is a method with no return type (it's not void!) and the operators are methods with the keyword "operator" followed by the operator to overload (e. g. "bool operator==(int value);").
On Python, we have the special method __init__ for constructor and other special methods for the operators (__add__, __str__, etc.)

For more information, take a look at the wiki of the project:
http://wiki.cython.org/gsoc09/daniloaf/progress