Export to GitHub

hp2any - ManagerInterface.wiki


Introduction

In order to make it easy to evaluate the effects of various code changes, a user friendly application is created, which allows the user to archive profiling output and compare the results of various runs. Portability and native look & feel is a great concern (i18n could also be a nice addition later, although it’s rarely an issue for developer tools like this). This application should take care of archiving data for later use as well as displaying aggregate information from several angles.

To make trend analysis easy, it should be possible to create plots of various aggregate quantities between versions. E.g. the total memory used by certain cost centres, obviously normalised in some way (for time), same for standard deviation and arbitrary groups of cost centres (the program should detect which cost centres are common among all versions). The graphs of concrete versions should be one click away from the comparison plot, and individual data points should also be easily accessible (even by mouseover, for instance).

Another idea: some kind of ‘aspect oriented profiling’, where the effects of different switches could be analysed in some way. In other words, the tool should be able to provide substantial help in experiments like Don’s evolution game.

Implementation

On first glance, wxHaskell looks like an obvious solution for the GUI problem. However, I had quite a bit of bad experience with wxWidgets in the past (mostly under Windows, but it’s apparently also broken in Debian Sid at the moment...), which makes me less enthusiastic about depending on it. I even considered using Grapefruit with GTK and Win32 as backends, but I fear there’s too much preparatory work needed to get it to handle even the simplest interfaces, and in the end I couldn’t concentrate on the actual project.

There seems to be no excellent solution here, but hopefully Gtk2Hs will do if all else fails.