Evaluating PJMEDIA Performance

Performance is one of the most common questions that developers asked. We’ve been asked questions like, can I run X on platform Y, or how much MIPS required to run component X, and so far our answer would be I don’t know, or at best, why don’t you try it yourself and see what happens.

So we decided to do a bit of benchmarking for pjmedia for several platforms that we have, and you can see the result here:


The test covers various platforms, and sometimes the same H/W platform but different OS’es (Linux/gcc vs Windows/Visual Studio) to see how they fare, and of course various PJMEDIA components.

As the article says, there are some drawbacks about the test method used, but nevertheless I think it could be useful to see the rough CPU requirements of various PJMEDIA components. Certainly it has been useful to us, and in fact there have been some surprises with the results. For example, we expected that WSOLA (Waveform Similarity Overlap and Add, the algorithm that we use to conceal packet lost and to handle clock drifts) to take large chunks of CPU usage, but turns out it is quite fast. Also resampling with small filter looks to be quite affordable too.

We’ll look forward to measure the performance on more platforms (notably, Symbian), and we’ll keep track of the performance for future releases. In the meantime, enjoy the article.

3 Responses to “Evaluating PJMEDIA Performance”

  1. 1 Ryan 11 July 2008 at 18:38

    Mind summarizing this?

  2. 2 Benny Prijono 24 July 2008 at 23:58

    The article just shows the performance requirements of each PJMEDIA components, so that application designer can choose which components to use to fit the feature requirements vs capability of the target platform.

  1. 1 New low-complexity echo suppressor for mobile devices « pjsip blog Trackback on 15 August 2008 at 12:00
Comments are currently closed.

%d bloggers like this: