Ultimate Linux Solutions
Host: ida
G.729 Stats Collection


Whilst packaging the Digium G.729 asterisk codec for Gentoo (bug report here) we ran into a few complications as described there. To be specific, the following problems were identified:

  • We're unable to run benchg729 until a valid license has been installed.
  • Digium is due to patent issues unable to release a bench tool that doesn't require a license (FSF - Fighting Software Patents).
  • The bench tool even between different runs gives inconsistent results (As can be evidenced from the high standard deviation in some cases).

The script was created to do multiple runs of the tool on any given system and to report the results back to this site for inclusion in the raw data which will allow us to select an appropriate codec variant based on the vendor, cpu family and model (and possibly stepping).


The only system specific thing we collect (for filtering double submissions) is the MAC address of the NIC with the lowest PCI BUS ID in your system.

We will not distribute this information via any other channel than this website (ie, we will not divulge information to any third party that we do not publish on this website), we cannot, however, restrict it's use.


If you've got a system with the Asterisk G.729 codec from Digium installed, please be so kind as to assist with the gathering of information by following these simple steps:

  1. Download our script, saving it somewhere on your system, eg, ${HOME}/collect-g729-stats.sh;
  2. Make the script executable by executing: chmod a+x /path/to/collect-g729-stats.sh;
  3. Download the Digium bench utility from their download site, currently one of the following:
  4. Make the benchg729 utility executable by executing chmod a+x /path/to/benchg729;
  5. If the benchg729 utility is not stored in your PATH, or you are unsure, inform collect-g729-stats.sh where it is located by executing the following: export benchg729=/path/to/benchg729;
  6. Run collect-g729-stats.sh by typing: /path/to/collect-g729-stats.sh

This will gather some data, take a while to run the benchg729 utility a few times. Please please please keep the system load on the system as low as possible at the time. Digium doees use getrusage(2) to measure timings, but scheduling can still affect these values (as evidenced by the standard deviation in the raw data).