From faab807cf5e8b4a4c950d1fd8ae6672296fb1ad9 Mon Sep 17 00:00:00 2001
From: Tom Rondeau <trondeau@vt.edu>
Date: Tue, 3 Apr 2012 18:21:52 -0400
Subject: Rework example directories. Gets rid of gnuradio-examples, moves
 these to more appropriate components.

gnuradio-core and grc now have their own examples directories for files directly related to them.
---
 gnuradio-examples/python/CMakeLists.txt            |  23 -
 gnuradio-examples/python/mp-sched/CMakeLists.txt   |  35 --
 gnuradio-examples/python/mp-sched/README           |   2 -
 .../python/mp-sched/perf-data/core-duo.dat         |  65 ---
 .../python/mp-sched/perf-data/core2-duo.dat        |  65 ---
 .../perf-data/dual-quad-core-2.33-clovertown.dat   | 257 ---------
 .../perf-data/dual-quad-core-3.00-penryn.dat       | 257 ---------
 .../python/mp-sched/perf-data/js21-altivec.dat     |  65 ---
 .../python/mp-sched/perf-data/js21.dat             |  65 ---
 .../python/mp-sched/perf-data/ps3-altivec.dat      |  65 ---
 .../python/mp-sched/perf-data/ps3.dat              |  65 ---
 .../python/mp-sched/perf-data/qs21-altivec.dat     |  65 ---
 .../python/mp-sched/perf-data/qs21.dat             |  65 ---
 gnuradio-examples/python/mp-sched/plot_flops.py    |  98 ----
 gnuradio-examples/python/mp-sched/run_synthetic.py | 101 ----
 gnuradio-examples/python/mp-sched/synthetic.py     | 118 ----
 .../python/mp-sched/wfm_rcv_pll_to_wav.py          | 127 -----
 gnuradio-examples/python/network/CMakeLists.txt    |  30 --
 gnuradio-examples/python/network/audio_sink.py     |  65 ---
 gnuradio-examples/python/network/audio_source.py   |  62 ---
 gnuradio-examples/python/network/dial_tone_sink.py |  65 ---
 .../python/network/dial_tone_source.py             |  70 ---
 gnuradio-examples/python/network/vector_sink.py    |  64 ---
 gnuradio-examples/python/network/vector_source.py  |  60 ---
 gnuradio-examples/python/pfb/CMakeLists.txt        |  36 --
 gnuradio-examples/python/pfb/channelize.py         | 191 -------
 gnuradio-examples/python/pfb/chirp_channelize.py   | 203 -------
 gnuradio-examples/python/pfb/decimate.py           | 178 ------
 gnuradio-examples/python/pfb/fmtest.py             | 225 --------
 gnuradio-examples/python/pfb/interpolate.py        | 233 --------
 gnuradio-examples/python/pfb/reconstruction.py     | 131 -----
 gnuradio-examples/python/pfb/resampler.py          | 127 -----
 gnuradio-examples/python/pfb/resampler_demo.grc    | 598 ---------------------
 gnuradio-examples/python/pfb/synth_filter.py       |  83 ---
 gnuradio-examples/python/pfb/synth_to_chan.py      | 117 ----
 gnuradio-examples/python/tags/CMakeLists.txt       |  28 -
 gnuradio-examples/python/tags/test_file_tags.py    |  55 --
 .../python/tags/uhd_burst_detector.py              | 116 ----
 gnuradio-examples/python/volk_benchmark/README     | 252 ---------
 .../python/volk_benchmark/volk_math.py             | 151 ------
 .../python/volk_benchmark/volk_plot.py             | 169 ------
 .../python/volk_benchmark/volk_test_funcs.py       | 171 ------
 .../python/volk_benchmark/volk_types.py            | 182 -------
 43 files changed, 5200 deletions(-)
 delete mode 100644 gnuradio-examples/python/CMakeLists.txt
 delete mode 100644 gnuradio-examples/python/mp-sched/CMakeLists.txt
 delete mode 100644 gnuradio-examples/python/mp-sched/README
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/core-duo.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/core2-duo.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/js21-altivec.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/js21.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/ps3-altivec.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/ps3.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/qs21-altivec.dat
 delete mode 100644 gnuradio-examples/python/mp-sched/perf-data/qs21.dat
 delete mode 100755 gnuradio-examples/python/mp-sched/plot_flops.py
 delete mode 100755 gnuradio-examples/python/mp-sched/run_synthetic.py
 delete mode 100755 gnuradio-examples/python/mp-sched/synthetic.py
 delete mode 100755 gnuradio-examples/python/mp-sched/wfm_rcv_pll_to_wav.py
 delete mode 100644 gnuradio-examples/python/network/CMakeLists.txt
 delete mode 100755 gnuradio-examples/python/network/audio_sink.py
 delete mode 100755 gnuradio-examples/python/network/audio_source.py
 delete mode 100755 gnuradio-examples/python/network/dial_tone_sink.py
 delete mode 100755 gnuradio-examples/python/network/dial_tone_source.py
 delete mode 100755 gnuradio-examples/python/network/vector_sink.py
 delete mode 100755 gnuradio-examples/python/network/vector_source.py
 delete mode 100644 gnuradio-examples/python/pfb/CMakeLists.txt
 delete mode 100755 gnuradio-examples/python/pfb/channelize.py
 delete mode 100755 gnuradio-examples/python/pfb/chirp_channelize.py
 delete mode 100755 gnuradio-examples/python/pfb/decimate.py
 delete mode 100755 gnuradio-examples/python/pfb/fmtest.py
 delete mode 100755 gnuradio-examples/python/pfb/interpolate.py
 delete mode 100755 gnuradio-examples/python/pfb/reconstruction.py
 delete mode 100755 gnuradio-examples/python/pfb/resampler.py
 delete mode 100644 gnuradio-examples/python/pfb/resampler_demo.grc
 delete mode 100755 gnuradio-examples/python/pfb/synth_filter.py
 delete mode 100755 gnuradio-examples/python/pfb/synth_to_chan.py
 delete mode 100644 gnuradio-examples/python/tags/CMakeLists.txt
 delete mode 100755 gnuradio-examples/python/tags/test_file_tags.py
 delete mode 100755 gnuradio-examples/python/tags/uhd_burst_detector.py
 delete mode 100644 gnuradio-examples/python/volk_benchmark/README
 delete mode 100755 gnuradio-examples/python/volk_benchmark/volk_math.py
 delete mode 100755 gnuradio-examples/python/volk_benchmark/volk_plot.py
 delete mode 100644 gnuradio-examples/python/volk_benchmark/volk_test_funcs.py
 delete mode 100755 gnuradio-examples/python/volk_benchmark/volk_types.py

(limited to 'gnuradio-examples/python')

diff --git a/gnuradio-examples/python/CMakeLists.txt b/gnuradio-examples/python/CMakeLists.txt
deleted file mode 100644
index 39b1fe8061..0000000000
--- a/gnuradio-examples/python/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-add_subdirectory(mp-sched)
-add_subdirectory(network)
-add_subdirectory(pfb)
-add_subdirectory(tags)
\ No newline at end of file
diff --git a/gnuradio-examples/python/mp-sched/CMakeLists.txt b/gnuradio-examples/python/mp-sched/CMakeLists.txt
deleted file mode 100644
index 5accd8c4a1..0000000000
--- a/gnuradio-examples/python/mp-sched/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-include(GrPython)
-
-GR_PYTHON_INSTALL(PROGRAMS
-  plot_flops.py
-  run_synthetic.py
-  synthetic.py
-  wfm_rcv_pll_to_wav.py
-  DESTINATION ${GR_PKG_DATA_DIR}/examples/mp-sched
-  COMPONENT "gnuradio_examples"
-)
-
-install(
-    FILES README
-    DESTINATION ${GR_PKG_DATA_DIR}/examples/mp-sched
-    COMPONENT "gnuadio_examples"
-)
diff --git a/gnuradio-examples/python/mp-sched/README b/gnuradio-examples/python/mp-sched/README
deleted file mode 100644
index ae575437ac..0000000000
--- a/gnuradio-examples/python/mp-sched/README
+++ /dev/null
@@ -1,2 +0,0 @@
-These are pieces of code used to test and benchmark the
-multi-processor scheduler.
diff --git a/gnuradio-examples/python/mp-sched/perf-data/core-duo.dat b/gnuradio-examples/python/mp-sched/perf-data/core-duo.dat
deleted file mode 100644
index 064d1e1282..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/core-duo.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D Core Duo 1.83 GHz (T2400)
-  1   1 5.273e+07  10.010  10.160   0.060   1.021 2.700000e+10 2.697e+09
-  1   2 5.273e+07  10.410  20.180   0.150   1.953 5.400000e+10 5.187e+09
-  1   3 3.516e+07  10.360  20.030   0.150   1.948 5.400000e+10 5.212e+09
-  1   4 2.637e+07  10.100  20.030   0.100   1.993 5.400000e+10 5.347e+09
-  1   5 2.109e+07  10.140  19.980   0.110   1.981 5.400000e+10 5.325e+09
-  1   6 1.758e+07  10.110  20.030   0.110   1.992 5.400000e+10 5.341e+09
-  1   7 1.507e+07  10.120  20.030   0.110   1.990 5.400000e+10 5.336e+09
-  1   8 1.318e+07  10.060  19.980   0.090   1.995 5.400000e+10 5.368e+09
-  2   1 5.273e+07  10.210  20.130   0.260   1.997 5.400000e+10 5.289e+09
-  2   2 2.637e+07  10.110  20.030   0.140   1.995 5.400000e+10 5.341e+09
-  2   3 1.758e+07  10.120  20.010   0.150   1.992 5.400000e+10 5.336e+09
-  2   4 1.318e+07  10.080  19.990   0.110   1.994 5.400000e+10 5.357e+09
-  2   5 1.055e+07  10.050  19.990   0.090   1.998 5.400000e+10 5.373e+09
-  2   6 8.789e+06  10.050  19.980   0.080   1.996 5.400000e+10 5.373e+09
-  2   7 7.533e+06  10.050  19.970   0.090   1.996 5.400000e+10 5.373e+09
-  2   8 6.592e+06  10.040  19.970   0.090   1.998 5.399999e+10 5.378e+09
-  3   1 3.516e+07  10.630  20.130   0.230   1.915 5.400000e+10 5.080e+09
-  3   2 1.758e+07  10.120  20.020   0.170   1.995 5.400000e+10 5.336e+09
-  3   3 1.172e+07  10.140  20.050   0.130   1.990 5.400000e+10 5.325e+09
-  3   4 8.789e+06  10.070  20.010   0.100   1.997 5.400000e+10 5.362e+09
-  3   5 7.031e+06  10.060  19.980   0.100   1.996 5.400000e+10 5.368e+09
-  3   6 5.859e+06  10.060  20.000   0.100   1.998 5.400000e+10 5.368e+09
-  3   7 5.022e+06  10.050  20.010   0.070   1.998 5.400000e+10 5.373e+09
-  3   8 4.395e+06  10.050  19.990   0.070   1.996 5.400000e+10 5.373e+09
-  4   1 2.637e+07  10.180  20.080   0.240   1.996 5.400000e+10 5.305e+09
-  4   2 1.318e+07  10.140  20.000   0.180   1.990 5.400000e+10 5.325e+09
-  4   3 8.789e+06  10.110  20.020   0.120   1.992 5.400000e+10 5.341e+09
-  4   4 6.592e+06  10.080  20.020   0.090   1.995 5.399999e+10 5.357e+09
-  4   5 5.273e+06  10.050  19.990   0.090   1.998 5.399999e+10 5.373e+09
-  4   6 4.395e+06  10.080  20.010   0.080   1.993 5.400000e+10 5.357e+09
-  4   7 3.767e+06  10.070  20.000   0.080   1.994 5.400000e+10 5.362e+09
-  4   8 3.296e+06  10.050  20.000   0.080   1.998 5.399999e+10 5.373e+09
-  5   1 2.109e+07  11.240  20.080   0.260   1.810 5.400000e+10 4.804e+09
-  5   2 1.055e+07  10.130  19.990   0.150   1.988 5.400000e+10 5.331e+09
-  5   3 7.031e+06  10.100  20.020   0.120   1.994 5.400000e+10 5.347e+09
-  5   4 5.273e+06  10.070  20.000   0.090   1.995 5.399999e+10 5.362e+09
-  5   5 4.219e+06  10.100  20.040   0.090   1.993 5.400000e+10 5.347e+09
-  5   6 3.516e+06  10.080  20.000   0.090   1.993 5.400000e+10 5.357e+09
-  5   7 3.013e+06  10.070  20.000   0.100   1.996 5.399998e+10 5.362e+09
-  5   8 2.637e+06  10.070  20.000   0.090   1.995 5.399998e+10 5.362e+09
-  6   1 1.758e+07  10.220  20.100   0.290   1.995 5.400000e+10 5.284e+09
-  6   2 8.789e+06  10.080  20.010   0.130   1.998 5.400000e+10 5.357e+09
-  6   3 5.859e+06  10.090  20.030   0.120   1.997 5.400000e+10 5.352e+09
-  6   4 4.395e+06  10.100  20.030   0.080   1.991 5.400000e+10 5.347e+09
-  6   5 3.516e+06  10.060  20.020   0.080   1.998 5.400000e+10 5.368e+09
-  6   6 2.930e+06  10.070  20.030   0.090   1.998 5.399999e+10 5.362e+09
-  6   7 2.511e+06  10.070  20.030   0.080   1.997 5.399998e+10 5.362e+09
-  6   8 2.197e+06  10.070  20.010   0.090   1.996 5.399998e+10 5.362e+09
-  7   1 1.507e+07  10.420  20.030   0.260   1.947 5.400000e+10 5.182e+09
-  7   2 7.533e+06  10.100  20.010   0.140   1.995 5.400000e+10 5.347e+09
-  7   3 5.022e+06  10.080  20.020   0.120   1.998 5.400000e+10 5.357e+09
-  7   4 3.767e+06  10.080  20.010   0.100   1.995 5.400000e+10 5.357e+09
-  7   5 3.013e+06  10.070  20.030   0.080   1.997 5.399998e+10 5.362e+09
-  7   6 2.511e+06  10.080  20.010   0.090   1.994 5.399998e+10 5.357e+09
-  7   7 2.152e+06  10.080  20.060   0.070   1.997 5.399999e+10 5.357e+09
-  7   8 1.883e+06  10.070  20.040   0.070   1.997 5.399998e+10 5.362e+09
-  8   1 1.318e+07  10.220  20.080   0.270   1.991 5.400000e+10 5.284e+09
-  8   2 6.592e+06  10.100  20.010   0.140   1.995 5.399999e+10 5.347e+09
-  8   3 4.395e+06  10.110  20.020   0.120   1.992 5.400000e+10 5.341e+09
-  8   4 3.296e+06  10.090  20.040   0.090   1.995 5.399999e+10 5.352e+09
-  8   5 2.637e+06  10.090  20.040   0.090   1.995 5.399998e+10 5.352e+09
-  8   6 2.197e+06  10.070  20.040   0.100   2.000 5.399998e+10 5.362e+09
-  8   7 1.883e+06  10.090  20.050   0.080   1.995 5.399998e+10 5.352e+09
-  8   8 1.648e+06  10.090  20.040   0.090   1.995 5.399999e+10 5.352e+09
diff --git a/gnuradio-examples/python/mp-sched/perf-data/core2-duo.dat b/gnuradio-examples/python/mp-sched/perf-data/core2-duo.dat
deleted file mode 100644
index d67dee8e51..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/core2-duo.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D Core2 Duo 2.66 GHz (6700)
-  1   1 1.406e+08   9.890  10.100   0.230   1.044 7.200000e+10 7.280e+09
-  1   2 1.406e+08  10.400  19.900   0.290   1.941 1.440000e+11 1.385e+10
-  1   3 9.375e+07  11.410  19.950   0.200   1.766 1.440000e+11 1.262e+10
-  1   4 7.031e+07  10.230  19.800   0.230   1.958 1.440000e+11 1.408e+10
-  1   5 5.625e+07  10.640  19.800   0.180   1.878 1.440000e+11 1.353e+10
-  1   6 4.688e+07  10.000  19.780   0.130   1.991 1.440000e+11 1.440e+10
-  1   7 4.018e+07  10.500  19.690   0.180   1.892 1.440000e+11 1.371e+10
-  1   8 3.516e+07  10.020  19.750   0.170   1.988 1.440000e+11 1.437e+10
-  2   1 1.406e+08  10.330  20.000   0.460   1.981 1.440000e+11 1.394e+10
-  2   2 7.031e+07  10.160  19.870   0.270   1.982 1.440000e+11 1.417e+10
-  2   3 4.688e+07  10.210  19.780   0.230   1.960 1.440000e+11 1.410e+10
-  2   4 3.516e+07  10.050  19.730   0.210   1.984 1.440000e+11 1.433e+10
-  2   5 2.812e+07  10.060  19.760   0.170   1.981 1.440000e+11 1.431e+10
-  2   6 2.344e+07  10.030  19.780   0.180   1.990 1.440000e+11 1.436e+10
-  2   7 2.009e+07  10.040  19.820   0.180   1.992 1.440000e+11 1.434e+10
-  2   8 1.758e+07  10.050  19.820   0.180   1.990 1.440000e+11 1.433e+10
-  3   1 9.375e+07  13.140  19.950   0.450   1.553 1.440000e+11 1.096e+10
-  3   2 4.688e+07  10.570  19.840   0.290   1.904 1.440000e+11 1.362e+10
-  3   3 3.125e+07  10.420  19.730   0.280   1.920 1.440000e+11 1.382e+10
-  3   4 2.344e+07  10.120  19.710   0.240   1.971 1.440000e+11 1.423e+10
-  3   5 1.875e+07  10.140  19.750   0.190   1.966 1.440000e+11 1.420e+10
-  3   6 1.562e+07  10.030  19.730   0.190   1.986 1.440000e+11 1.436e+10
-  3   7 1.339e+07  10.020  19.720   0.200   1.988 1.440000e+11 1.437e+10
-  3   8 1.172e+07   9.990  19.720   0.170   1.991 1.440000e+11 1.441e+10
-  4   1 7.031e+07  10.310  19.980   0.460   1.983 1.440000e+11 1.397e+10
-  4   2 3.516e+07  10.300  19.830   0.320   1.956 1.440000e+11 1.398e+10
-  4   3 2.344e+07  10.180  19.780   0.230   1.966 1.440000e+11 1.415e+10
-  4   4 1.758e+07  10.070  19.750   0.220   1.983 1.440000e+11 1.430e+10
-  4   5 1.406e+07  10.090  19.750   0.190   1.976 1.440000e+11 1.427e+10
-  4   6 1.172e+07  10.020  19.720   0.190   1.987 1.440000e+11 1.437e+10
-  4   7 1.004e+07  10.040  19.780   0.190   1.989 1.440000e+11 1.434e+10
-  4   8 8.789e+06  10.000  19.750   0.160   1.991 1.440000e+11 1.440e+10
-  5   1 5.625e+07  11.580  19.930   0.500   1.764 1.440000e+11 1.244e+10
-  5   2 2.812e+07  10.300  19.830   0.320   1.956 1.440000e+11 1.398e+10
-  5   3 1.875e+07  10.240  19.760   0.240   1.953 1.440000e+11 1.406e+10
-  5   4 1.406e+07  10.140  19.880   0.230   1.983 1.440000e+11 1.420e+10
-  5   5 1.125e+07  10.040  19.730   0.200   1.985 1.440000e+11 1.434e+10
-  5   6 9.375e+06  10.030  19.770   0.200   1.991 1.440000e+11 1.436e+10
-  5   7 8.036e+06  10.030  19.780   0.170   1.989 1.440000e+11 1.436e+10
-  5   8 7.031e+06  10.000  19.750   0.180   1.993 1.440000e+11 1.440e+10
-  6   1 4.688e+07  10.340  19.910   0.560   1.980 1.440000e+11 1.393e+10
-  6   2 2.344e+07  10.290  19.770   0.330   1.953 1.440000e+11 1.399e+10
-  6   3 1.562e+07  10.150  19.770   0.270   1.974 1.440000e+11 1.419e+10
-  6   4 1.172e+07  10.170  19.880   0.240   1.978 1.440000e+11 1.416e+10
-  6   5 9.375e+06  10.080  19.780   0.240   1.986 1.440000e+11 1.429e+10
-  6   6 7.812e+06  10.020  19.740   0.220   1.992 1.440000e+11 1.437e+10
-  6   7 6.696e+06  10.050  19.760   0.200   1.986 1.440000e+11 1.433e+10
-  6   8 5.859e+06  10.070  19.750   0.210   1.982 1.440000e+11 1.430e+10
-  7   1 4.018e+07  11.220  19.880   0.530   1.819 1.440000e+11 1.283e+10
-  7   2 2.009e+07  10.280  19.790   0.340   1.958 1.440000e+11 1.401e+10
-  7   3 1.339e+07  10.190  19.760   0.250   1.964 1.440000e+11 1.413e+10
-  7   4 1.004e+07  10.060  19.750   0.240   1.987 1.440000e+11 1.431e+10
-  7   5 8.036e+06  10.070  19.750   0.240   1.985 1.440000e+11 1.430e+10
-  7   6 6.696e+06  10.040  19.810   0.220   1.995 1.440000e+11 1.434e+10
-  7   7 5.740e+06  10.050  19.780   0.210   1.989 1.440000e+11 1.433e+10
-  7   8 5.022e+06  10.010  19.790   0.190   1.996 1.440000e+11 1.439e+10
-  8   1 3.516e+07  10.320  19.900   0.470   1.974 1.440000e+11 1.395e+10
-  8   2 1.758e+07  10.340  19.900   0.320   1.956 1.440000e+11 1.393e+10
-  8   3 1.172e+07  10.130  19.770   0.290   1.980 1.440000e+11 1.422e+10
-  8   4 8.789e+06  10.120  19.780   0.230   1.977 1.440000e+11 1.423e+10
-  8   5 7.031e+06  10.040  19.790   0.200   1.991 1.440000e+11 1.434e+10
-  8   6 5.859e+06  10.050  19.770   0.220   1.989 1.440000e+11 1.433e+10
-  8   7 5.022e+06  10.030  19.800   0.200   1.994 1.440000e+11 1.436e+10
-  8   8 4.395e+06  10.050  19.800   0.210   1.991 1.440000e+11 1.433e+10
diff --git a/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat b/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat
deleted file mode 100644
index fa182c69a7..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat
+++ /dev/null
@@ -1,257 +0,0 @@
-#D Dual quad-core Xeon 2.33GHz (Clovertown E5345)
-  1   1 1.367e+08  10.980  12.080   0.360   1.133 7.000000e+10 6.375e+09
-  1   2 1.367e+08  12.250  24.310   0.400   2.017 1.400000e+11 1.143e+10
-  1   3 1.367e+08  12.830  36.080   0.580   2.857 2.100000e+11 1.637e+10
-  1   4 1.367e+08  12.600  46.820   0.770   3.777 2.800000e+11 2.222e+10
-  1   5 1.367e+08  12.620  58.850   0.720   4.720 3.500000e+11 2.773e+10
-  1   6 1.367e+08  12.310  69.430   0.860   5.710 4.200000e+11 3.412e+10
-  1   7 1.367e+08  12.720  80.580   0.950   6.410 4.900000e+11 3.852e+10
-  1   8 1.367e+08  12.440  91.530   1.010   7.439 5.600000e+11 4.502e+10
-  1   9 1.367e+08  22.310 102.660   1.080   4.650 6.300000e+11 2.824e+10
-  1  10 1.367e+08  22.610 113.670   1.160   5.079 7.000000e+11 3.096e+10
-  1  11 1.367e+08  22.690 124.730   1.030   5.543 7.700000e+11 3.394e+10
-  1  12 1.367e+08  23.260 136.520   1.030   5.914 8.400000e+11 3.611e+10
-  1  13 1.367e+08  23.330 147.270   1.130   6.361 9.100000e+11 3.901e+10
-  1  14 1.367e+08  24.110 158.070   1.010   6.598 9.800000e+11 4.065e+10
-  1  15 1.367e+08  25.380 168.370   1.080   6.677 1.050000e+12 4.137e+10
-  1  16 1.367e+08  26.660 179.130   1.250   6.766 1.120000e+12 4.201e+10
-  2   1 1.367e+08  11.190  23.330   0.420   2.122 1.400000e+11 1.251e+10
-  2   2 1.367e+08  12.650  46.350   0.940   3.738 2.800000e+11 2.213e+10
-  2   3 1.367e+08  12.510  69.010   0.980   5.595 4.200000e+11 3.357e+10
-  2   4 1.367e+08  13.250  89.330   0.890   6.809 5.600000e+11 4.226e+10
-  2   5 1.367e+08  22.540 113.580   1.150   5.090 7.000000e+11 3.106e+10
-  2   6 1.367e+08  22.940 135.790   1.260   5.974 8.400000e+11 3.662e+10
-  2   7 1.367e+08  24.250 158.360   1.520   6.593 9.800000e+11 4.041e+10
-  2   8 1.367e+08  26.610 179.840   1.490   6.814 1.120000e+12 4.209e+10
-  2   9 1.215e+08  26.860 179.400   1.540   6.736 1.120000e+12 4.170e+10
-  2  10 1.094e+08  26.350 178.740   1.430   6.838 1.120000e+12 4.250e+10
-  2  11 9.943e+07  25.790 177.910   1.350   6.951 1.120000e+12 4.343e+10
-  2  12 9.115e+07  25.200 176.980   1.460   7.081 1.120000e+12 4.444e+10
-  2  13 8.413e+07  24.840 177.320   1.260   7.189 1.120000e+12 4.509e+10
-  2  14 7.812e+07  24.450 176.920   1.130   7.282 1.120000e+12 4.581e+10
-  2  15 7.292e+07  24.280 177.400   1.140   7.353 1.120000e+12 4.613e+10
-  2  16 6.836e+07  23.830 176.290   1.100   7.444 1.120000e+12 4.700e+10
-  3   1 1.367e+08  11.360  34.790   0.930   3.144 2.100000e+11 1.849e+10
-  3   2 1.367e+08  12.560  68.800   1.400   5.589 4.200000e+11 3.344e+10
-  3   3 1.367e+08  22.310 103.250   1.310   4.687 6.300000e+11 2.824e+10
-  3   4 1.367e+08  22.940 136.120   1.500   5.999 8.400000e+11 3.662e+10
-  3   5 1.367e+08  25.240 168.550   1.790   6.749 1.050000e+12 4.160e+10
-  3   6 1.215e+08  26.800 178.710   1.610   6.728 1.120000e+12 4.179e+10
-  3   7 1.042e+08  26.090 178.710   1.490   6.907 1.120000e+12 4.293e+10
-  3   8 9.115e+07  25.420 178.140   1.360   7.061 1.120000e+12 4.406e+10
-  3   9 8.102e+07  24.680 177.260   1.410   7.239 1.120000e+12 4.538e+10
-  3  10 7.292e+07  24.270 176.830   1.390   7.343 1.120000e+12 4.615e+10
-  3  11 6.629e+07  23.890 177.060   1.240   7.463 1.120000e+12 4.688e+10
-  3  12 6.076e+07  23.620 176.290   1.300   7.519 1.120000e+12 4.742e+10
-  3  13 5.609e+07  23.340 176.780   1.230   7.627 1.120000e+12 4.799e+10
-  3  14 5.208e+07  23.140 176.330   1.300   7.676 1.120000e+12 4.840e+10
-  3  15 4.861e+07  23.100 176.940   1.080   7.706 1.120000e+12 4.848e+10
-  3  16 4.557e+07  22.850 176.120   1.060   7.754 1.120000e+12 4.902e+10
-  4   1 1.367e+08  11.440  45.520   1.080   4.073 2.800000e+11 2.448e+10
-  4   2 1.367e+08  12.410  90.020   1.440   7.370 5.600000e+11 4.512e+10
-  4   3 1.367e+08  23.060 135.570   1.600   5.948 8.400000e+11 3.643e+10
-  4   4 1.367e+08  26.720 179.780   1.880   6.799 1.120000e+12 4.192e+10
-  4   5 1.094e+08  26.280 178.110   1.890   6.849 1.120000e+12 4.262e+10
-  4   6 9.115e+07  25.250 177.280   1.700   7.088 1.120000e+12 4.436e+10
-  4   7 7.812e+07  24.880 177.830   1.570   7.211 1.120000e+12 4.502e+10
-  4   8 6.836e+07  24.150 177.240   1.350   7.395 1.120000e+12 4.638e+10
-  4   9 6.076e+07  23.730 176.590   1.370   7.499 1.120000e+12 4.720e+10
-  4  10 5.469e+07  23.380 176.570   1.310   7.608 1.120000e+12 4.790e+10
-  4  11 4.972e+07  23.230 176.400   1.290   7.649 1.120000e+12 4.821e+10
-  4  12 4.557e+07  22.950 176.100   1.250   7.728 1.120000e+12 4.880e+10
-  4  13 4.207e+07  22.980 176.430   1.260   7.732 1.120000e+12 4.874e+10
-  4  14 3.906e+07  22.820 176.300   1.350   7.785 1.120000e+12 4.908e+10
-  4  15 3.646e+07  22.750 176.450   1.220   7.810 1.120000e+12 4.923e+10
-  4  16 3.418e+07  22.620 176.350   1.080   7.844 1.120000e+12 4.951e+10
-  5   1 1.367e+08  12.000  56.890   1.600   4.874 3.500000e+11 2.917e+10
-  5   2 1.367e+08  22.390 112.870   1.920   5.127 7.000000e+11 3.126e+10
-  5   3 1.367e+08  25.170 167.880   2.110   6.754 1.050000e+12 4.172e+10
-  5   4 1.094e+08  26.380 178.010   1.900   6.820 1.120000e+12 4.246e+10
-  5   5 8.750e+07  25.190 177.570   1.660   7.115 1.120000e+12 4.446e+10
-  5   6 7.292e+07  24.400 176.750   1.650   7.311 1.120000e+12 4.590e+10
-  5   7 6.250e+07  24.020 177.580   1.570   7.458 1.120000e+12 4.663e+10
-  5   8 5.469e+07  23.470 176.650   1.350   7.584 1.120000e+12 4.772e+10
-  5   9 4.861e+07  23.200 176.350   1.280   7.656 1.120000e+12 4.828e+10
-  5  10 4.375e+07  23.140 176.230   1.410   7.677 1.120000e+12 4.840e+10
-  5  11 3.977e+07  22.930 176.120   1.320   7.738 1.120000e+12 4.884e+10
-  5  12 3.646e+07  22.740 176.060   1.330   7.801 1.120000e+12 4.925e+10
-  5  13 3.365e+07  22.690 176.450   1.210   7.830 1.120000e+12 4.936e+10
-  5  14 3.125e+07  22.690 176.430   1.230   7.830 1.120000e+12 4.936e+10
-  5  15 2.917e+07  22.690 176.410   1.260   7.830 1.120000e+12 4.936e+10
-  5  16 2.734e+07  22.560 176.150   1.110   7.857 1.120000e+12 4.965e+10
-  6   1 1.367e+08  12.600  68.590   2.230   5.621 4.200000e+11 3.333e+10
-  6   2 1.367e+08  22.830 135.260   2.100   6.017 8.400000e+11 3.679e+10
-  6   3 1.215e+08  26.860 178.470   2.140   6.724 1.120000e+12 4.170e+10
-  6   4 9.115e+07  25.450 177.110   2.060   7.040 1.120000e+12 4.401e+10
-  6   5 7.292e+07  24.510 176.850   1.910   7.293 1.120000e+12 4.570e+10
-  6   6 6.076e+07  23.890 176.450   1.760   7.460 1.120000e+12 4.688e+10
-  6   7 5.208e+07  23.460 175.980   1.540   7.567 1.120000e+12 4.774e+10
-  6   8 4.557e+07  23.150 176.480   1.370   7.683 1.120000e+12 4.838e+10
-  6   9 4.051e+07  22.920 176.030   1.400   7.741 1.120000e+12 4.887e+10
-  6  10 3.646e+07  22.880 176.300   1.350   7.764 1.120000e+12 4.895e+10
-  6  11 3.314e+07  22.830 175.970   1.360   7.767 1.120000e+12 4.906e+10
-  6  12 3.038e+07  22.710 176.040   1.190   7.804 1.120000e+12 4.932e+10
-  6  13 2.804e+07  22.690 176.050   1.340   7.818 1.120000e+12 4.936e+10
-  6  14 2.604e+07  22.650 176.410   1.140   7.839 1.120000e+12 4.945e+10
-  6  15 2.431e+07  22.570 175.940   1.250   7.851 1.120000e+12 4.962e+10
-  6  16 2.279e+07  22.500 175.980   1.170   7.873 1.120000e+12 4.978e+10
-  7   1 1.367e+08  12.960  79.970   2.850   6.390 4.900000e+11 3.781e+10
-  7   2 1.367e+08  24.040 156.540   2.500   6.616 9.800000e+11 4.077e+10
-  7   3 1.042e+08  26.130 178.060   2.210   6.899 1.120000e+12 4.286e+10
-  7   4 7.812e+07  24.860 176.880   1.810   7.188 1.120000e+12 4.505e+10
-  7   5 6.250e+07  24.000 176.590   1.790   7.433 1.120000e+12 4.667e+10
-  7   6 5.208e+07  23.540 176.480   1.670   7.568 1.120000e+12 4.758e+10
-  7   7 4.464e+07  23.180 176.030   1.510   7.659 1.120000e+12 4.832e+10
-  7   8 3.906e+07  22.980 176.500   1.340   7.739 1.120000e+12 4.874e+10
-  7   9 3.472e+07  22.870 175.970   1.280   7.750 1.120000e+12 4.897e+10
-  7  10 3.125e+07  22.730 176.220   1.300   7.810 1.120000e+12 4.927e+10
-  7  11 2.841e+07  22.700 176.030   1.300   7.812 1.120000e+12 4.934e+10
-  7  12 2.604e+07  22.650 176.300   1.210   7.837 1.120000e+12 4.945e+10
-  7  13 2.404e+07  22.580 176.140   1.170   7.853 1.120000e+12 4.960e+10
-  7  14 2.232e+07  22.540 176.550   1.130   7.883 1.120000e+12 4.969e+10
-  7  15 2.083e+07  22.570 175.870   1.260   7.848 1.120000e+12 4.962e+10
-  7  16 1.953e+07  22.520 175.980   1.310   7.873 1.120000e+12 4.973e+10
-  8   1 1.367e+08  13.250  91.770   3.010   7.153 5.600000e+11 4.226e+10
-  8   2 1.367e+08  26.280 178.100   2.980   6.890 1.120000e+12 4.262e+10
-  8   3 9.115e+07  25.510 177.140   2.270   7.033 1.120000e+12 4.390e+10
-  8   4 6.836e+07  24.330 176.850   1.870   7.346 1.120000e+12 4.603e+10
-  8   5 5.469e+07  23.680 176.850   1.690   7.540 1.120000e+12 4.730e+10
-  8   6 4.557e+07  23.430 176.210   1.700   7.593 1.120000e+12 4.780e+10
-  8   7 3.906e+07  23.100 176.680   1.440   7.711 1.120000e+12 4.848e+10
-  8   8 3.418e+07  22.890 176.270   1.430   7.763 1.120000e+12 4.893e+10
-  8   9 3.038e+07  22.760 175.980   1.320   7.790 1.120000e+12 4.921e+10
-  8  10 2.734e+07  22.760 176.340   1.290   7.804 1.120000e+12 4.921e+10
-  8  11 2.486e+07  22.660 176.220   1.170   7.828 1.120000e+12 4.943e+10
-  8  12 2.279e+07  22.660 176.050   1.280   7.826 1.120000e+12 4.943e+10
-  8  13 2.103e+07  22.590 176.170   1.350   7.858 1.120000e+12 4.958e+10
-  8  14 1.953e+07  22.550 176.120   1.320   7.869 1.120000e+12 4.967e+10
-  8  15 1.823e+07  22.590 176.130   1.270   7.853 1.120000e+12 4.958e+10
-  8  16 1.709e+07  22.500 176.090   1.230   7.881 1.120000e+12 4.978e+10
-  9   1 1.367e+08  21.110 101.410   2.640   4.929 6.300000e+11 2.984e+10
-  9   2 1.215e+08  27.400 178.180   2.720   6.602 1.120000e+12 4.088e+10
-  9   3 8.102e+07  25.140 177.370   2.230   7.144 1.120000e+12 4.455e+10
-  9   4 6.076e+07  24.110 176.810   1.910   7.413 1.120000e+12 4.645e+10
-  9   5 4.861e+07  23.460 176.240   1.600   7.581 1.120000e+12 4.774e+10
-  9   6 4.051e+07  23.200 176.310   1.620   7.669 1.120000e+12 4.828e+10
-  9   7 3.472e+07  22.970 176.560   1.540   7.754 1.120000e+12 4.876e+10
-  9   8 3.038e+07  22.920 176.300   1.440   7.755 1.120000e+12 4.887e+10
-  9   9 2.701e+07  22.830 176.090   1.370   7.773 1.120000e+12 4.906e+10
-  9  10 2.431e+07  22.730 175.960   1.430   7.804 1.120000e+12 4.927e+10
-  9  11 2.210e+07  22.750 176.160   1.260   7.799 1.120000e+12 4.923e+10
-  9  12 2.025e+07  22.660 176.100   1.380   7.832 1.120000e+12 4.943e+10
-  9  13 1.870e+07  22.700 176.040   1.400   7.817 1.120000e+12 4.934e+10
-  9  14 1.736e+07  22.620 175.940   1.410   7.840 1.120000e+12 4.951e+10
-  9  15 1.620e+07  22.490 175.910   1.340   7.881 1.120000e+12 4.980e+10
-  9  16 1.519e+07  22.540 175.990   1.330   7.867 1.120000e+12 4.969e+10
- 10   1 1.367e+08  21.730 113.690   2.870   5.364 7.000000e+11 3.221e+10
- 10   2 1.094e+08  26.660 177.920   3.180   6.793 1.120000e+12 4.201e+10
- 10   3 7.292e+07  24.740 176.810   2.090   7.231 1.120000e+12 4.527e+10
- 10   4 5.469e+07  23.880 176.280   2.020   7.466 1.120000e+12 4.690e+10
- 10   5 4.375e+07  23.330 176.510   1.610   7.635 1.120000e+12 4.801e+10
- 10   6 3.646e+07  23.170 176.160   1.680   7.675 1.120000e+12 4.834e+10
- 10   7 3.125e+07  22.950 176.490   1.470   7.754 1.120000e+12 4.880e+10
- 10   8 2.734e+07  22.830 176.260   1.360   7.780 1.120000e+12 4.906e+10
- 10   9 2.431e+07  22.770 175.930   1.410   7.788 1.120000e+12 4.919e+10
- 10  10 2.188e+07  22.680 175.870   1.440   7.818 1.120000e+12 4.938e+10
- 10  11 1.989e+07  22.700 176.140   1.310   7.817 1.120000e+12 4.934e+10
- 10  12 1.823e+07  22.630 176.040   1.430   7.842 1.120000e+12 4.949e+10
- 10  13 1.683e+07  22.640 176.000   1.320   7.832 1.120000e+12 4.947e+10
- 10  14 1.562e+07  22.610 176.160   1.230   7.846 1.120000e+12 4.954e+10
- 10  15 1.458e+07  22.570 176.010   1.290   7.856 1.120000e+12 4.962e+10
- 10  16 1.367e+07  22.640 176.060   1.270   7.833 1.120000e+12 4.947e+10
- 11   1 1.367e+08  22.060 124.440   3.050   5.779 7.700000e+11 3.490e+10
- 11   2 9.943e+07  26.060 178.400   3.000   6.961 1.120000e+12 4.298e+10
- 11   3 6.629e+07  24.380 176.690   2.200   7.338 1.120000e+12 4.594e+10
- 11   4 4.972e+07  23.650 176.730   1.830   7.550 1.120000e+12 4.736e+10
- 11   5 3.977e+07  23.310 176.030   1.780   7.628 1.120000e+12 4.805e+10
- 11   6 3.314e+07  23.050 176.210   1.680   7.718 1.120000e+12 4.859e+10
- 11   7 2.841e+07  22.940 176.300   1.540   7.752 1.120000e+12 4.882e+10
- 11   8 2.486e+07  22.830 175.990   1.530   7.776 1.120000e+12 4.906e+10
- 11   9 2.210e+07  22.760 176.060   1.440   7.799 1.120000e+12 4.921e+10
- 11  10 1.989e+07  22.630 176.010   1.430   7.841 1.120000e+12 4.949e+10
- 11  11 1.808e+07  22.720 176.040   1.390   7.809 1.120000e+12 4.930e+10
- 11  12 1.657e+07  22.640 175.890   1.400   7.831 1.120000e+12 4.947e+10
- 11  13 1.530e+07  22.570 176.090   1.260   7.858 1.120000e+12 4.962e+10
- 11  14 1.420e+07  22.610 176.150   1.450   7.855 1.120000e+12 4.954e+10
- 11  15 1.326e+07  22.550 175.980   1.310   7.862 1.120000e+12 4.967e+10
- 11  16 1.243e+07  22.610 175.920   1.400   7.843 1.120000e+12 4.954e+10
- 12   1 1.367e+08  22.220 136.260   3.390   6.285 8.400000e+11 3.780e+10
- 12   2 9.115e+07  25.610 178.090   2.800   7.063 1.120000e+12 4.373e+10
- 12   3 6.076e+07  24.180 176.320   2.230   7.384 1.120000e+12 4.632e+10
- 12   4 4.557e+07  23.570 176.570   2.010   7.577 1.120000e+12 4.752e+10
- 12   5 3.646e+07  23.210 176.420   1.710   7.675 1.120000e+12 4.826e+10
- 12   6 3.038e+07  23.040 175.910   1.640   7.706 1.120000e+12 4.861e+10
- 12   7 2.604e+07  22.980 176.390   1.510   7.742 1.120000e+12 4.874e+10
- 12   8 2.279e+07  22.840 176.110   1.640   7.782 1.120000e+12 4.904e+10
- 12   9 2.025e+07  22.760 175.950   1.500   7.797 1.120000e+12 4.921e+10
- 12  10 1.823e+07  22.660 175.810   1.600   7.829 1.120000e+12 4.943e+10
- 12  11 1.657e+07  22.710 175.940   1.410   7.809 1.120000e+12 4.932e+10
- 12  12 1.519e+07  22.650 175.870   1.400   7.826 1.120000e+12 4.945e+10
- 12  13 1.402e+07  22.640 176.040   1.260   7.831 1.120000e+12 4.947e+10
- 12  14 1.302e+07  22.650 176.130   1.450   7.840 1.120000e+12 4.945e+10
- 12  15 1.215e+07  22.580 175.990   1.370   7.855 1.120000e+12 4.960e+10
- 12  16 1.139e+07  22.640 175.870   1.440   7.832 1.120000e+12 4.947e+10
- 13   1 1.367e+08  22.640 147.020   3.570   6.652 9.100000e+11 4.019e+10
- 13   2 8.413e+07  25.600 177.820   2.870   7.058 1.120000e+12 4.375e+10
- 13   3 5.609e+07  24.020 176.980   2.270   7.463 1.120000e+12 4.663e+10
- 13   4 4.207e+07  23.440 176.430   2.030   7.613 1.120000e+12 4.778e+10
- 13   5 3.365e+07  23.080 176.110   1.790   7.708 1.120000e+12 4.853e+10
- 13   6 2.804e+07  22.870 176.210   1.600   7.775 1.120000e+12 4.897e+10
- 13   7 2.404e+07  22.940 176.340   1.580   7.756 1.120000e+12 4.882e+10
- 13   8 2.103e+07  22.880 176.050   1.520   7.761 1.120000e+12 4.895e+10
- 13   9 1.870e+07  22.740 176.020   1.400   7.802 1.120000e+12 4.925e+10
- 13  10 1.683e+07  22.710 175.880   1.440   7.808 1.120000e+12 4.932e+10
- 13  11 1.530e+07  22.590 176.040   1.350   7.853 1.120000e+12 4.958e+10
- 13  12 1.402e+07  22.600 175.930   1.380   7.846 1.120000e+12 4.956e+10
- 13  13 1.294e+07  22.710 176.010   1.340   7.809 1.120000e+12 4.932e+10
- 13  14 1.202e+07  22.690 176.270   1.350   7.828 1.120000e+12 4.936e+10
- 13  15 1.122e+07  22.590 175.960   1.290   7.846 1.120000e+12 4.958e+10
- 13  16 1.052e+07  22.610 175.960   1.370   7.843 1.120000e+12 4.954e+10
- 14   1 1.367e+08  23.120 157.180   3.810   6.963 9.800000e+11 4.239e+10
- 14   2 7.812e+07  25.310 177.210   3.020   7.121 1.120000e+12 4.425e+10
- 14   3 5.208e+07  24.130 177.110   2.340   7.437 1.120000e+12 4.642e+10
- 14   4 3.906e+07  23.390 176.660   1.800   7.630 1.120000e+12 4.788e+10
- 14   5 3.125e+07  23.060 176.420   1.750   7.726 1.120000e+12 4.857e+10
- 14   6 2.604e+07  22.890 176.180   1.530   7.764 1.120000e+12 4.893e+10
- 14   7 2.232e+07  22.940 176.060   1.550   7.742 1.120000e+12 4.882e+10
- 14   8 1.953e+07  22.810 176.110   1.500   7.786 1.120000e+12 4.910e+10
- 14   9 1.736e+07  22.750 176.370   1.370   7.813 1.120000e+12 4.923e+10
- 14  10 1.562e+07  22.720 176.020   1.450   7.811 1.120000e+12 4.930e+10
- 14  11 1.420e+07  22.680 176.090   1.310   7.822 1.120000e+12 4.938e+10
- 14  12 1.302e+07  22.710 175.950   1.510   7.814 1.120000e+12 4.932e+10
- 14  13 1.202e+07  22.700 176.100   1.500   7.824 1.120000e+12 4.934e+10
- 14  14 1.116e+07  22.660 176.150   1.460   7.838 1.120000e+12 4.943e+10
- 14  15 1.042e+07  22.680 176.120   1.370   7.826 1.120000e+12 4.938e+10
- 14  16 9.766e+06  22.710 176.110   1.430   7.818 1.120000e+12 4.932e+10
- 15   1 1.367e+08  23.710 168.080   4.140   7.264 1.050000e+12 4.429e+10
- 15   2 7.292e+07  25.170 176.640   2.930   7.134 1.120000e+12 4.450e+10
- 15   3 4.861e+07  23.820 176.980   2.110   7.518 1.120000e+12 4.702e+10
- 15   4 3.646e+07  23.250 176.190   1.970   7.663 1.120000e+12 4.817e+10
- 15   5 2.917e+07  23.050 176.450   1.690   7.728 1.120000e+12 4.859e+10
- 15   6 2.431e+07  22.900 175.980   1.680   7.758 1.120000e+12 4.891e+10
- 15   7 2.083e+07  22.830 176.090   1.640   7.785 1.120000e+12 4.906e+10
- 15   8 1.823e+07  22.850 176.160   1.530   7.776 1.120000e+12 4.902e+10
- 15   9 1.620e+07  22.780 176.390   1.360   7.803 1.120000e+12 4.917e+10
- 15  10 1.458e+07  22.660 176.000   1.440   7.831 1.120000e+12 4.943e+10
- 15  11 1.326e+07  22.660 176.110   1.430   7.835 1.120000e+12 4.943e+10
- 15  12 1.215e+07  22.660 176.150   1.380   7.835 1.120000e+12 4.943e+10
- 15  13 1.122e+07  22.760 175.970   1.580   7.801 1.120000e+12 4.921e+10
- 15  14 1.042e+07  22.670 176.290   1.270   7.832 1.120000e+12 4.940e+10
- 15  15 9.722e+06  22.710 176.060   1.550   7.821 1.120000e+12 4.932e+10
- 15  16 9.115e+06  22.800 176.020   1.490   7.786 1.120000e+12 4.912e+10
- 16   1 1.367e+08  25.470 179.270   4.730   7.224 1.120000e+12 4.397e+10
- 16   2 6.836e+07  24.870 176.820   2.960   7.229 1.120000e+12 4.503e+10
- 16   3 4.557e+07  23.810 176.930   2.250   7.525 1.120000e+12 4.704e+10
- 16   4 3.418e+07  23.240 176.650   1.950   7.685 1.120000e+12 4.819e+10
- 16   5 2.734e+07  23.090 175.940   1.940   7.704 1.120000e+12 4.851e+10
- 16   6 2.279e+07  22.900 176.120   1.680   7.764 1.120000e+12 4.891e+10
- 16   7 1.953e+07  22.890 176.290   1.440   7.765 1.120000e+12 4.893e+10
- 16   8 1.709e+07  22.820 176.040   1.610   7.785 1.120000e+12 4.908e+10
- 16   9 1.519e+07  22.890 175.990   1.470   7.753 1.120000e+12 4.893e+10
- 16  10 1.367e+07  22.700 175.890   1.470   7.813 1.120000e+12 4.934e+10
- 16  11 1.243e+07  22.770 175.960   1.520   7.794 1.120000e+12 4.919e+10
- 16  12 1.139e+07  22.730 176.000   1.430   7.806 1.120000e+12 4.927e+10
- 16  13 1.052e+07  22.670 175.990   1.540   7.831 1.120000e+12 4.940e+10
- 16  14 9.766e+06  22.720 176.130   1.440   7.816 1.120000e+12 4.930e+10
- 16  15 9.115e+06  22.740 176.320   1.360   7.814 1.120000e+12 4.925e+10
- 16  16 8.545e+06  22.680 176.170   1.320   7.826 1.120000e+12 4.938e+10
diff --git a/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat b/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat
deleted file mode 100644
index 57d49ed334..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat
+++ /dev/null
@@ -1,257 +0,0 @@
-#D Dual quad-core Xeon 3.0 GHz (Penryn E5472, 1600 MHz FSB, 5400 chipset)
-  1   1 5.000e+07   2.720   3.020   0.110   1.151 2.560000e+10 9.412e+09
-  1   2 5.000e+07   2.870   5.630   0.170   2.021 5.120000e+10 1.784e+10
-  1   3 5.000e+07   2.880   8.380   0.160   2.965 7.680000e+10 2.667e+10
-  1   4 5.000e+07   2.990  11.080   0.200   3.773 1.024000e+11 3.425e+10
-  1   5 5.000e+07   2.950  13.950   0.190   4.793 1.280000e+11 4.339e+10
-  1   6 5.000e+07   3.020  16.620   0.240   5.583 1.536000e+11 5.086e+10
-  1   7 5.000e+07   2.930  19.250   0.200   6.638 1.792000e+11 6.116e+10
-  1   8 5.000e+07   3.170  22.240   0.290   7.107 2.048000e+11 6.461e+10
-  1   9 5.000e+07   5.450  24.410   0.310   4.536 2.304000e+11 4.228e+10
-  1  10 5.000e+07   5.610  27.400   0.370   4.950 2.560000e+11 4.563e+10
-  1  11 5.000e+07   5.680  29.960   0.370   5.340 2.816000e+11 4.958e+10
-  1  12 5.000e+07   5.440  32.490   0.350   6.037 3.072000e+11 5.647e+10
-  1  13 5.000e+07   5.630  35.270   0.400   6.336 3.328000e+11 5.911e+10
-  1  14 5.000e+07   6.270  38.500   0.480   6.217 3.584000e+11 5.716e+10
-  1  15 5.000e+07   6.080  40.880   0.490   6.804 3.840000e+11 6.316e+10
-  1  16 5.000e+07   7.740  43.390   0.600   5.683 4.096000e+11 5.292e+10
-  2   1 5.000e+07   2.820   5.700   0.210   2.096 5.120000e+10 1.816e+10
-  2   2 5.000e+07   2.820  11.130   0.230   4.028 1.024000e+11 3.631e+10
-  2   3 5.000e+07   2.960  16.570   0.320   5.706 1.536000e+11 5.189e+10
-  2   4 5.000e+07   3.110  21.920   0.390   7.174 2.048000e+11 6.585e+10
-  2   5 5.000e+07   5.650  27.550   0.520   4.968 2.560000e+11 4.531e+10
-  2   6 5.000e+07   5.880  32.890   0.440   5.668 3.072000e+11 5.224e+10
-  2   7 5.000e+07   6.750  38.210   0.560   5.744 3.584000e+11 5.310e+10
-  2   8 5.000e+07   6.360  43.480   0.580   6.928 4.096000e+11 6.440e+10
-  2   9 5.000e+07   8.270  48.750   0.730   5.983 4.608000e+11 5.572e+10
-  2  10 5.000e+07   8.210  54.400   0.610   6.700 5.120000e+11 6.236e+10
-  2  11 5.000e+07   8.750  59.760   0.640   6.903 5.632000e+11 6.437e+10
-  2  12 5.000e+07   9.300  65.050   0.700   7.070 6.144000e+11 6.606e+10
-  2  13 5.000e+07   9.990  70.750   0.750   7.157 6.656000e+11 6.663e+10
-  2  14 5.000e+07  10.610  75.950   0.810   7.235 7.168000e+11 6.756e+10
-  2  15 5.000e+07  11.900  80.400   0.870   6.829 7.680000e+11 6.454e+10
-  2  16 5.000e+07  11.820  86.790   0.900   7.419 8.192000e+11 6.931e+10
-  3   1 5.000e+07   2.970   8.300   0.380   2.923 7.680000e+10 2.586e+10
-  3   2 5.000e+07   2.980  16.660   0.390   5.721 1.536000e+11 5.154e+10
-  3   3 5.000e+07   5.480  24.690   0.420   4.582 2.304000e+11 4.204e+10
-  3   4 5.000e+07   5.620  32.820   0.560   5.940 3.072000e+11 5.466e+10
-  3   5 5.000e+07   6.940  40.800   0.620   5.968 3.840000e+11 5.533e+10
-  3   6 5.000e+07   7.860  49.010   0.710   6.326 4.608000e+11 5.863e+10
-  3   7 5.000e+07   8.470  57.130   0.750   6.834 5.376000e+11 6.347e+10
-  3   8 5.000e+07   9.420  65.310   0.820   7.020 6.144000e+11 6.522e+10
-  3   9 5.000e+07  10.350  73.640   0.940   7.206 6.912000e+11 6.678e+10
-  3  10 5.000e+07  11.460  82.230   1.030   7.265 7.680000e+11 6.702e+10
-  3  11 5.000e+07  12.200  89.590   1.050   7.430 8.448000e+11 6.925e+10
-  3  12 5.000e+07  13.040  97.520   1.140   7.566 9.216000e+11 7.067e+10
-  3  13 5.000e+07  14.000 105.560   1.150   7.622 9.984000e+11 7.131e+10
-  3  14 5.000e+07  14.930 113.630   1.210   7.692 1.075200e+12 7.202e+10
-  3  15 5.000e+07  15.920 121.610   1.350   7.724 1.152000e+12 7.236e+10
-  3  16 5.000e+07  16.870 129.770   1.390   7.775 1.228800e+12 7.284e+10
-  4   1 5.000e+07   2.900  11.100   0.340   3.945 1.024000e+11 3.531e+10
-  4   2 5.000e+07   4.380  21.980   0.480   5.128 2.048000e+11 4.676e+10
-  4   3 5.000e+07   5.720  32.800   0.610   5.841 3.072000e+11 5.371e+10
-  4   4 5.000e+07   6.820  43.880   0.700   6.537 4.096000e+11 6.006e+10
-  4   5 5.000e+07   8.150  54.420   0.760   6.771 5.120000e+11 6.282e+10
-  4   6 5.000e+07   9.510  65.180   0.980   6.957 6.144000e+11 6.461e+10
-  4   7 5.000e+07  10.650  76.080   1.020   7.239 7.168000e+11 6.731e+10
-  4   8 5.000e+07  11.880  86.720   1.110   7.393 8.192000e+11 6.896e+10
-  4   9 5.000e+07  13.150  97.920   1.250   7.541 9.216000e+11 7.008e+10
-  4  10 5.000e+07  14.640 109.260   1.410   7.559 1.024000e+12 6.995e+10
-  4  11 5.000e+07  15.710 119.170   1.440   7.677 1.126400e+12 7.170e+10
-  4  12 5.000e+07  16.950 129.960   1.420   7.751 1.228800e+12 7.250e+10
-  4  13 5.000e+07  18.260 140.520   1.620   7.784 1.331200e+12 7.290e+10
-  4  14 5.000e+07  19.610 151.290   1.780   7.806 1.433600e+12 7.311e+10
-  4  15 5.000e+07  21.060 162.760   1.890   7.818 1.536000e+12 7.293e+10
-  4  16 5.000e+07  22.280 172.870   1.980   7.848 1.638400e+12 7.354e+10
-  5   1 5.000e+07   3.040  13.810   0.390   4.671 1.280000e+11 4.211e+10
-  5   2 5.000e+07   5.590  27.510   0.610   5.030 2.560000e+11 4.580e+10
-  5   3 5.000e+07   6.550  40.970   0.780   6.374 3.840000e+11 5.863e+10
-  5   4 5.000e+07   8.520  54.470   0.940   6.504 5.120000e+11 6.009e+10
-  5   5 5.000e+07   9.920  67.950   1.060   6.957 6.400000e+11 6.452e+10
-  5   6 5.000e+07  11.350  81.490   1.180   7.284 7.680000e+11 6.767e+10
-  5   7 5.000e+07  12.910  94.960   1.300   7.456 8.960000e+11 6.940e+10
-  5   8 5.000e+07  14.520 108.510   1.400   7.570 1.024000e+12 7.052e+10
-  5   9 5.000e+07  16.070 122.120   1.620   7.700 1.152000e+12 7.169e+10
-  5  10 5.000e+07  17.950 136.140   1.730   7.681 1.280000e+12 7.131e+10
-  5  11 5.000e+07  19.470 148.330   1.830   7.712 1.408000e+12 7.232e+10
-  5  12 5.000e+07  20.980 162.100   2.030   7.823 1.536000e+12 7.321e+10
-  5  13 5.000e+07  22.670 175.470   2.160   7.835 1.664000e+12 7.340e+10
-  5  14 5.000e+07  24.440 189.630   2.170   7.848 1.792000e+12 7.332e+10
-  5  15 5.000e+07  26.100 203.010   2.450   7.872 1.920000e+12 7.356e+10
-  5  16 5.000e+07  27.720 216.000   2.550   7.884 2.048000e+12 7.388e+10
-  6   1 5.000e+07   2.950  16.560   0.540   5.797 1.536000e+11 5.207e+10
-  6   2 5.000e+07   5.540  32.900   0.720   6.069 3.072000e+11 5.545e+10
-  6   3 5.000e+07   8.490  48.860   1.000   5.873 4.608000e+11 5.428e+10
-  6   4 5.000e+07  10.000  64.670   1.100   6.577 6.144000e+11 6.144e+10
-  6   5 5.000e+07  11.440  81.430   1.310   7.233 7.680000e+11 6.713e+10
-  6   6 5.000e+07  13.250  97.690   1.360   7.475 9.216000e+11 6.955e+10
-  6   7 5.000e+07  15.270 113.730   1.610   7.553 1.075200e+12 7.041e+10
-  6   8 5.000e+07  17.180 129.780   1.820   7.660 1.228800e+12 7.153e+10
-  6   9 5.000e+07  19.200 146.020   1.870   7.703 1.382400e+12 7.200e+10
-  6  10 5.000e+07  21.220 162.290   2.100   7.747 1.536000e+12 7.238e+10
-  6  11 5.000e+07  23.070 178.420   2.160   7.827 1.689600e+12 7.324e+10
-  6  12 5.000e+07  25.120 194.590   2.450   7.844 1.843200e+12 7.338e+10
-  6  13 5.000e+07  27.110 210.640   2.660   7.868 1.996800e+12 7.366e+10
-  6  14 5.000e+07  29.110 226.820   2.750   7.886 2.150400e+12 7.387e+10
-  6  15 5.000e+07  31.130 242.800   2.940   7.894 2.304000e+12 7.401e+10
-  6  16 5.000e+07  33.100 258.790   3.210   7.915 2.457600e+12 7.425e+10
-  7   1 5.000e+07   2.940  19.140   0.590   6.711 1.792000e+11 6.095e+10
-  7   2 5.000e+07   5.920  37.910   1.030   6.578 3.584000e+11 6.054e+10
-  7   3 5.000e+07   8.570  57.010   1.150   6.786 5.376000e+11 6.273e+10
-  7   4 5.000e+07  10.840  76.060   1.320   7.138 7.168000e+11 6.613e+10
-  7   5 5.000e+07  13.070  94.920   1.540   7.380 8.960000e+11 6.855e+10
-  7   6 5.000e+07  15.270 113.790   1.730   7.565 1.075200e+12 7.041e+10
-  7   7 5.000e+07  17.700 132.560   1.960   7.600 1.254400e+12 7.087e+10
-  7   8 5.000e+07  19.930 151.500   2.130   7.708 1.433600e+12 7.193e+10
-  7   9 5.000e+07  22.250 170.570   2.340   7.771 1.612800e+12 7.249e+10
-  7  10 5.000e+07  24.600 189.280   2.450   7.794 1.792000e+12 7.285e+10
-  7  11 5.000e+07  26.950 208.030   2.700   7.819 1.971200e+12 7.314e+10
-  7  12 5.000e+07  29.280 227.070   2.850   7.852 2.150400e+12 7.344e+10
-  7  13 5.000e+07  31.570 245.750   3.040   7.881 2.329600e+12 7.379e+10
-  7  14 5.000e+07  33.930 264.960   3.160   7.902 2.508800e+12 7.394e+10
-  7  15 5.000e+07  36.310 283.960   3.440   7.915 2.688000e+12 7.403e+10
-  7  16 5.000e+07  38.560 302.120   3.630   7.929 2.867200e+12 7.436e+10
-  8   1 5.000e+07   3.200  21.880   0.860   7.106 2.048000e+11 6.400e+10
-  8   2 5.000e+07   5.890  43.450   0.930   7.535 4.096000e+11 6.954e+10
-  8   3 5.000e+07   9.520  65.180   1.250   6.978 6.144000e+11 6.454e+10
-  8   4 5.000e+07  12.200  86.780   1.480   7.234 8.192000e+11 6.715e+10
-  8   5 5.000e+07  14.760 108.420   1.670   7.459 1.024000e+12 6.938e+10
-  8   6 5.000e+07  17.300 129.850   1.960   7.619 1.228800e+12 7.103e+10
-  8   7 5.000e+07  20.020 151.430   2.190   7.673 1.433600e+12 7.161e+10
-  8   8 5.000e+07  22.750 173.550   2.420   7.735 1.638400e+12 7.202e+10
-  8   9 5.000e+07  25.410 194.560   2.760   7.765 1.843200e+12 7.254e+10
-  8  10 5.000e+07  28.410 217.250   2.920   7.750 2.048000e+12 7.209e+10
-  8  11 5.000e+07  30.720 237.990   3.210   7.852 2.252800e+12 7.333e+10
-  8  12 5.000e+07  33.310 259.340   3.280   7.884 2.457600e+12 7.378e+10
-  8  13 5.000e+07  36.000 280.760   3.670   7.901 2.662400e+12 7.396e+10
-  8  14 5.000e+07  38.800 302.570   3.740   7.895 2.867200e+12 7.390e+10
-  8  15 5.000e+07  41.530 324.520   4.060   7.912 3.072000e+12 7.397e+10
-  8  16 5.000e+07  44.060 345.420   4.250   7.936 3.276800e+12 7.437e+10
-  9   1 5.000e+07   5.460  24.660   1.000   4.700 2.304000e+11 4.220e+10
-  9   2 5.000e+07   8.460  49.010   1.200   5.935 4.608000e+11 5.447e+10
-  9   3 5.000e+07  10.810  71.410   1.400   6.735 6.912000e+11 6.394e+10
-  9   4 5.000e+07  13.470  97.570   1.710   7.370 9.216000e+11 6.842e+10
-  9   5 5.000e+07  16.490 121.780   2.130   7.514 1.152000e+12 6.986e+10
-  9   6 5.000e+07  19.540 146.070   2.280   7.592 1.382400e+12 7.075e+10
-  9   7 5.000e+07  22.660 170.830   2.570   7.652 1.612800e+12 7.117e+10
-  9   8 5.000e+07  25.520 194.720   2.760   7.738 1.843200e+12 7.223e+10
-  9   9 5.000e+07  28.400 219.020   3.060   7.820 2.073600e+12 7.301e+10
-  9  10 5.000e+07  31.490 243.030   3.320   7.823 2.304000e+12 7.317e+10
-  9  11 5.000e+07  34.530 267.230   3.420   7.838 2.534400e+12 7.340e+10
-  9  12 5.000e+07  37.520 291.720   3.860   7.878 2.764800e+12 7.369e+10
-  9  13 5.000e+07  40.550 315.780   4.170   7.890 2.995200e+12 7.386e+10
-  9  14 5.000e+07  43.470 339.930   4.290   7.919 3.225600e+12 7.420e+10
-  9  15 5.000e+07  46.820 364.970   4.640   7.894 3.456000e+12 7.381e+10
-  9  16 5.000e+07  49.660 388.630   4.890   7.924 3.686400e+12 7.423e+10
- 10   1 5.000e+07   5.500  27.290   0.980   5.140 2.560000e+11 4.655e+10
- 10   2 5.000e+07   8.480  54.830   1.420   6.633 5.120000e+11 6.038e+10
- 10   3 5.000e+07  11.540  81.580   1.630   7.211 7.680000e+11 6.655e+10
- 10   4 5.000e+07  14.950 108.480   1.860   7.381 1.024000e+12 6.849e+10
- 10   5 5.000e+07  18.330 135.300   2.280   7.506 1.280000e+12 6.983e+10
- 10   6 5.000e+07  21.680 162.380   2.540   7.607 1.536000e+12 7.085e+10
- 10   7 5.000e+07  24.950 189.360   2.730   7.699 1.792000e+12 7.182e+10
- 10   8 5.000e+07  28.280 216.090   3.110   7.751 2.048000e+12 7.242e+10
- 10   9 5.000e+07  31.730 243.290   3.450   7.776 2.304000e+12 7.261e+10
- 10  10 5.000e+07  35.040 270.380   3.680   7.821 2.560000e+12 7.306e+10
- 10  11 5.000e+07  38.340 297.080   4.050   7.854 2.816000e+12 7.345e+10
- 10  12 5.000e+07  41.770 323.840   4.330   7.857 3.072000e+12 7.355e+10
- 10  13 5.000e+07  45.120 351.380   4.710   7.892 3.328000e+12 7.376e+10
- 10  14 5.000e+07  48.360 377.870   4.880   7.915 3.584000e+12 7.411e+10
- 10  15 5.000e+07  51.760 404.740   5.110   7.918 3.840000e+12 7.419e+10
- 10  16 5.000e+07  55.130 431.760   5.430   7.930 4.096000e+12 7.430e+10
- 11   1 5.000e+07   5.570  30.080   1.080   5.594 2.816000e+11 5.056e+10
- 11   2 5.000e+07   9.000  60.230   1.470   6.856 5.632000e+11 6.258e+10
- 11   3 5.000e+07  12.630  89.890   1.770   7.257 8.448000e+11 6.689e+10
- 11   4 5.000e+07  16.290 119.110   2.140   7.443 1.126400e+12 6.915e+10
- 11   5 5.000e+07  19.940 148.730   2.440   7.581 1.408000e+12 7.061e+10
- 11   6 5.000e+07  23.800 178.620   2.790   7.622 1.689600e+12 7.099e+10
- 11   7 5.000e+07  27.480 208.510   3.160   7.703 1.971200e+12 7.173e+10
- 11   8 5.000e+07  31.140 237.820   3.490   7.749 2.252800e+12 7.234e+10
- 11   9 5.000e+07  34.770 267.390   3.800   7.800 2.534400e+12 7.289e+10
- 11  10 5.000e+07  38.510 297.250   4.240   7.829 2.816000e+12 7.312e+10
- 11  11 5.000e+07  42.080 326.570   4.610   7.870 3.097600e+12 7.361e+10
- 11  12 5.000e+07  45.860 356.540   4.590   7.875 3.379200e+12 7.369e+10
- 11  13 5.000e+07  49.570 386.250   5.150   7.896 3.660800e+12 7.385e+10
- 11  14 5.000e+07  53.220 415.630   5.360   7.910 3.942400e+12 7.408e+10
- 11  15 5.000e+07  57.000 445.200   5.870   7.914 4.224000e+12 7.411e+10
- 11  16 5.000e+07  60.800 474.810   6.250   7.912 4.505600e+12 7.411e+10
- 12   1 5.000e+07   5.600  32.770   1.240   6.073 3.072000e+11 5.486e+10
- 12   2 5.000e+07  10.220  65.660   1.600   6.581 6.144000e+11 6.012e+10
- 12   3 5.000e+07  13.680  97.900   2.000   7.303 9.216000e+11 6.737e+10
- 12   4 5.000e+07  17.790 129.710   2.330   7.422 1.228800e+12 6.907e+10
- 12   5 5.000e+07  21.770 162.420   2.700   7.585 1.536000e+12 7.056e+10
- 12   6 5.000e+07  25.770 194.770   3.090   7.678 1.843200e+12 7.153e+10
- 12   7 5.000e+07  29.940 227.290   3.390   7.705 2.150400e+12 7.182e+10
- 12   8 5.000e+07  34.030 259.370   3.860   7.735 2.457600e+12 7.222e+10
- 12   9 5.000e+07  38.070 291.890   4.310   7.780 2.764800e+12 7.262e+10
- 12  10 5.000e+07  42.080 324.370   4.660   7.819 3.072000e+12 7.300e+10
- 12  11 5.000e+07  45.950 356.370   5.000   7.864 3.379200e+12 7.354e+10
- 12  12 5.000e+07  49.960 388.790   5.250   7.887 3.686400e+12 7.379e+10
- 12  13 5.000e+07  54.010 422.050   5.420   7.915 3.993600e+12 7.394e+10
- 12  14 5.000e+07  58.010 453.330   6.120   7.920 4.300800e+12 7.414e+10
- 12  15 5.000e+07  62.080 485.830   6.310   7.928 4.608000e+12 7.423e+10
- 12  16 5.000e+07  66.200 518.060   6.780   7.928 4.915200e+12 7.425e+10
- 13   1 5.000e+07   5.630  35.420   1.300   6.522 3.328000e+11 5.911e+10
- 13   2 5.000e+07  10.730  71.050   1.830   6.792 6.656000e+11 6.203e+10
- 13   3 5.000e+07  14.690 105.710   2.160   7.343 9.984000e+11 6.796e+10
- 13   4 5.000e+07  19.120 140.630   2.510   7.486 1.331200e+12 6.962e+10
- 13   5 5.000e+07  23.600 175.730   3.000   7.573 1.664000e+12 7.051e+10
- 13   6 5.000e+07  27.910 211.000   3.350   7.680 1.996800e+12 7.154e+10
- 13   7 5.000e+07  32.370 246.320   3.860   7.729 2.329600e+12 7.197e+10
- 13   8 5.000e+07  36.790 281.150   4.260   7.758 2.662400e+12 7.237e+10
- 13   9 5.000e+07  41.080 316.080   4.520   7.804 2.995200e+12 7.291e+10
- 13  10 5.000e+07  45.600 352.020   5.090   7.831 3.328000e+12 7.298e+10
- 13  11 5.000e+07  49.760 386.130   5.470   7.870 3.660800e+12 7.357e+10
- 13  12 5.000e+07  54.080 421.160   5.780   7.895 3.993600e+12 7.385e+10
- 13  13 5.000e+07  58.520 455.980   6.170   7.897 4.326400e+12 7.393e+10
- 13  14 5.000e+07  63.000 491.340   6.710   7.906 4.659200e+12 7.396e+10
- 13  15 5.000e+07  67.250 525.920   6.920   7.923 4.992000e+12 7.423e+10
- 13  16 5.000e+07  72.090 560.640   7.160   7.876 5.324800e+12 7.386e+10
- 14   1 5.000e+07   5.670  38.290   1.330   6.988 3.584000e+11 6.321e+10
- 14   2 5.000e+07  10.850  75.880   1.940   7.172 7.168000e+11 6.606e+10
- 14   3 5.000e+07  15.840 114.160   2.400   7.359 1.075200e+12 6.788e+10
- 14   4 5.000e+07  20.610 151.540   2.710   7.484 1.433600e+12 6.956e+10
- 14   5 5.000e+07  25.330 189.160   3.320   7.599 1.792000e+12 7.075e+10
- 14   6 5.000e+07  30.160 227.510   3.670   7.665 2.150400e+12 7.130e+10
- 14   7 5.000e+07  34.730 265.020   3.960   7.745 2.508800e+12 7.224e+10
- 14   8 5.000e+07  39.530 302.550   4.640   7.771 2.867200e+12 7.253e+10
- 14   9 5.000e+07  44.220 340.330   5.180   7.813 3.225600e+12 7.294e+10
- 14  10 5.000e+07  48.800 378.180   5.430   7.861 3.584000e+12 7.344e+10
- 14  11 5.000e+07  53.550 415.790   5.800   7.873 3.942400e+12 7.362e+10
- 14  12 5.000e+07  58.250 453.340   6.430   7.893 4.300800e+12 7.383e+10
- 14  13 5.000e+07  63.150 492.200   6.960   7.904 4.659200e+12 7.378e+10
- 14  14 5.000e+07  67.850 528.470   6.970   7.892 5.017600e+12 7.395e+10
- 14  15 5.000e+07  72.510 566.950   7.720   7.925 5.376000e+12 7.414e+10
- 14  16 5.000e+07  77.230 604.250   8.170   7.930 5.734400e+12 7.425e+10
- 15   1 5.000e+07   5.800  41.070   1.460   7.333 3.840000e+11 6.621e+10
- 15   2 5.000e+07  11.900  80.380   2.190   6.939 7.680000e+11 6.454e+10
- 15   3 5.000e+07  16.990 121.790   2.610   7.322 1.152000e+12 6.780e+10
- 15   4 5.000e+07  22.040 162.330   3.030   7.503 1.536000e+12 6.969e+10
- 15   5 5.000e+07  27.120 202.750   3.460   7.604 1.920000e+12 7.080e+10
- 15   6 5.000e+07  32.290 243.420   3.870   7.658 2.304000e+12 7.135e+10
- 15   7 5.000e+07  37.450 284.300   4.410   7.709 2.688000e+12 7.178e+10
- 15   8 5.000e+07  42.560 323.740   4.890   7.722 3.072000e+12 7.218e+10
- 15   9 5.000e+07  47.440 364.880   5.330   7.804 3.456000e+12 7.285e+10
- 15  10 5.000e+07  52.440 405.400   5.750   7.840 3.840000e+12 7.323e+10
- 15  11 5.000e+07  57.270 445.500   6.070   7.885 4.224000e+12 7.376e+10
- 15  12 5.000e+07  62.450 485.920   6.770   7.889 4.608000e+12 7.379e+10
- 15  13 5.000e+07  67.680 527.540   7.440   7.905 4.992000e+12 7.376e+10
- 15  14 5.000e+07  72.740 566.990   7.790   7.902 5.376000e+12 7.391e+10
- 15  15 5.000e+07  77.760 607.620   8.060   7.918 5.760000e+12 7.407e+10
- 15  16 5.000e+07  82.750 647.630   8.640   7.931 6.144000e+12 7.425e+10
- 16   1 5.000e+07   6.310  43.540   1.790   7.184 4.096000e+11 6.491e+10
- 16   2 5.000e+07  12.340  87.310   2.190   7.253 8.192000e+11 6.639e+10
- 16   3 5.000e+07  17.930 130.440   2.830   7.433 1.228800e+12 6.853e+10
- 16   4 5.000e+07  23.530 173.540   3.140   7.509 1.638400e+12 6.963e+10
- 16   5 5.000e+07  28.910 216.290   3.710   7.610 2.048000e+12 7.084e+10
- 16   6 5.000e+07  34.310 259.400   4.260   7.685 2.457600e+12 7.163e+10
- 16   7 5.000e+07  39.790 302.740   4.620   7.725 2.867200e+12 7.206e+10
- 16   8 5.000e+07  44.970 346.250   5.340   7.818 3.276800e+12 7.287e+10
- 16   9 5.000e+07  50.470 388.870   5.910   7.822 3.686400e+12 7.304e+10
- 16  10 5.000e+07  55.890 432.480   6.140   7.848 4.096000e+12 7.329e+10
- 16  11 5.000e+07  61.250 475.380   6.770   7.872 4.505600e+12 7.356e+10
- 16  12 5.000e+07  66.670 518.940   7.160   7.891 4.915200e+12 7.372e+10
- 16  13 5.000e+07  72.160 562.230   7.890   7.901 5.324800e+12 7.379e+10
- 16  14 5.000e+07  77.600 604.950   8.230   7.902 5.734400e+12 7.390e+10
- 16  15 5.000e+07  82.970 648.420   8.690   7.920 6.144000e+12 7.405e+10
- 16  16 5.000e+07  88.370 690.730   9.460   7.923 6.553600e+12 7.416e+10
diff --git a/gnuradio-examples/python/mp-sched/perf-data/js21-altivec.dat b/gnuradio-examples/python/mp-sched/perf-data/js21-altivec.dat
deleted file mode 100644
index d0b8148f0e..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/js21-altivec.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D JS21 4-core PPC970M 2.5 GHz (using Altivec)
-  1   1 9.766e+07   9.820  10.210   0.360   1.076 5.000000e+10 5.092e+09
-  1   2 9.766e+07  10.620  19.890   0.640   1.933 1.000000e+11 9.416e+09
-  1   3 9.766e+07  10.310  29.590   0.610   2.929 1.500000e+11 1.455e+10
-  1   4 9.766e+07  10.440  39.290   0.680   3.829 2.000000e+11 1.916e+10
-  1   5 7.812e+07  15.730  39.150   0.590   2.526 2.000000e+11 1.271e+10
-  1   6 6.510e+07  13.100  39.080   0.590   3.028 2.000000e+11 1.527e+10
-  1   7 5.580e+07  11.550  39.030   0.500   3.423 2.000000e+11 1.732e+10
-  1   8 4.883e+07  10.410  39.010   0.510   3.796 2.000000e+11 1.921e+10
-  2   1 9.766e+07  10.080  20.070   0.700   2.061 1.000000e+11 9.921e+09
-  2   2 9.766e+07  11.360  39.650   0.960   3.575 2.000000e+11 1.761e+10
-  2   3 6.510e+07  13.120  39.270   0.740   3.050 2.000000e+11 1.524e+10
-  2   4 4.883e+07  10.410  39.110   0.650   3.819 2.000000e+11 1.921e+10
-  2   5 3.906e+07  11.030  39.080   0.610   3.598 2.000000e+11 1.813e+10
-  2   6 3.255e+07  10.640  39.020   0.560   3.720 2.000000e+11 1.880e+10
-  2   7 2.790e+07  10.510  38.980   0.550   3.761 2.000000e+11 1.903e+10
-  2   8 2.441e+07  10.440  38.970   0.570   3.787 2.000000e+11 1.916e+10
-  3   1 9.766e+07  12.130  29.970   0.920   2.547 1.500000e+11 1.237e+10
-  3   2 6.510e+07  13.100  39.300   0.920   3.070 2.000000e+11 1.527e+10
-  3   3 4.340e+07  11.400  39.200   0.760   3.505 2.000000e+11 1.754e+10
-  3   4 3.255e+07  10.730  39.100   0.690   3.708 2.000000e+11 1.864e+10
-  3   5 2.604e+07  10.470  39.010   0.620   3.785 2.000000e+11 1.910e+10
-  3   6 2.170e+07  10.380  39.010   0.620   3.818 2.000000e+11 1.927e+10
-  3   7 1.860e+07  10.280  39.120   0.580   3.862 2.000000e+11 1.946e+10
-  3   8 1.628e+07  10.230  39.000   0.600   3.871 2.000000e+11 1.955e+10
-  4   1 9.766e+07  10.700  39.990   1.540   3.881 2.000000e+11 1.869e+10
-  4   2 4.883e+07  10.530  39.260   0.940   3.818 2.000000e+11 1.899e+10
-  4   3 3.255e+07  10.840  39.140   0.760   3.681 2.000000e+11 1.845e+10
-  4   4 2.441e+07  10.530  39.040   0.680   3.772 2.000000e+11 1.899e+10
-  4   5 1.953e+07  10.380  39.030   0.650   3.823 2.000000e+11 1.927e+10
-  4   6 1.628e+07  10.310  39.020   0.650   3.848 2.000000e+11 1.940e+10
-  4   7 1.395e+07  10.160  38.980   0.620   3.898 2.000000e+11 1.969e+10
-  4   8 1.221e+07  10.150  38.990   0.580   3.899 2.000000e+11 1.970e+10
-  5   1 7.812e+07  14.750  39.780   1.470   2.797 2.000000e+11 1.356e+10
-  5   2 3.906e+07  11.350  39.240   0.950   3.541 2.000000e+11 1.762e+10
-  5   3 2.604e+07  10.720  39.120   0.800   3.724 2.000000e+11 1.866e+10
-  5   4 1.953e+07  10.440  39.060   0.730   3.811 2.000000e+11 1.916e+10
-  5   5 1.562e+07  10.410  39.060   0.690   3.818 2.000000e+11 1.921e+10
-  5   6 1.302e+07  10.260  38.970   0.650   3.862 2.000000e+11 1.949e+10
-  5   7 1.116e+07  10.270  39.020   0.650   3.863 2.000000e+11 1.947e+10
-  5   8 9.766e+06  10.130  39.010   0.660   3.916 2.000000e+11 1.974e+10
-  6   1 6.510e+07  12.850  39.730   1.450   3.205 2.000000e+11 1.556e+10
-  6   2 3.255e+07  10.700  39.300   0.990   3.765 2.000000e+11 1.869e+10
-  6   3 2.170e+07  10.770  39.110   0.810   3.707 2.000000e+11 1.857e+10
-  6   4 1.628e+07  10.570  39.090   0.750   3.769 2.000000e+11 1.892e+10
-  6   5 1.302e+07  10.310  39.040   0.690   3.854 2.000000e+11 1.940e+10
-  6   6 1.085e+07  10.260  39.030   0.700   3.872 2.000000e+11 1.949e+10
-  6   7 9.301e+06  10.170  39.020   0.680   3.904 2.000000e+11 1.967e+10
-  6   8 8.138e+06  10.150  39.020   0.670   3.910 2.000000e+11 1.970e+10
-  7   1 5.580e+07  11.440  39.730   1.500   3.604 2.000000e+11 1.748e+10
-  7   2 2.790e+07  10.950  39.260   0.990   3.676 2.000000e+11 1.826e+10
-  7   3 1.860e+07  10.620  39.140   0.860   3.766 2.000000e+11 1.883e+10
-  7   4 1.395e+07  10.420  39.070   0.750   3.821 2.000000e+11 1.919e+10
-  7   5 1.116e+07  10.290  39.040   0.710   3.863 2.000000e+11 1.944e+10
-  7   6 9.301e+06  10.200  39.040   0.720   3.898 2.000000e+11 1.961e+10
-  7   7 7.972e+06  10.210  39.020   0.670   3.887 2.000000e+11 1.959e+10
-  7   8 6.975e+06  10.160  39.020   0.650   3.905 2.000000e+11 1.969e+10
-  8   1 4.883e+07  10.870  39.950   1.520   3.815 2.000000e+11 1.840e+10
-  8   2 2.441e+07  10.690  39.270   1.000   3.767 2.000000e+11 1.871e+10
-  8   3 1.628e+07  10.540  39.130   0.860   3.794 2.000000e+11 1.898e+10
-  8   4 1.221e+07  10.410  39.110   0.790   3.833 2.000000e+11 1.921e+10
-  8   5 9.766e+06  10.230  39.040   0.710   3.886 2.000000e+11 1.955e+10
-  8   6 8.138e+06  10.260  39.050   0.700   3.874 2.000000e+11 1.949e+10
-  8   7 6.975e+06  10.220  39.100   0.690   3.893 2.000000e+11 1.957e+10
-  8   8 6.104e+06  10.170  39.020   0.650   3.901 2.000000e+11 1.967e+10
diff --git a/gnuradio-examples/python/mp-sched/perf-data/js21.dat b/gnuradio-examples/python/mp-sched/perf-data/js21.dat
deleted file mode 100644
index a23bcebe77..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/js21.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D JS21 4-core PPC970MP 2.5 GHz
-  1   1 5.273e+07  10.050  10.180   0.290   1.042 2.700000e+10 2.687e+09
-  1   2 5.273e+07  10.240  20.210   0.260   1.999 5.400000e+10 5.273e+09
-  1   3 5.273e+07  10.300  30.090   0.340   2.954 8.100000e+10 7.864e+09
-  1   4 5.273e+07  10.490  40.120   0.490   3.871 1.080000e+11 1.030e+10
-  1   5 4.219e+07  16.010  39.900   0.380   2.516 1.080000e+11 6.746e+09
-  1   6 3.516e+07  13.360  39.920   0.370   3.016 1.080000e+11 8.084e+09
-  1   7 3.013e+07  11.510  39.900   0.330   3.495 1.080000e+11 9.383e+09
-  1   8 2.637e+07  10.420  39.880   0.320   3.858 1.080000e+11 1.036e+10
-  2   1 5.273e+07  10.370  20.340   0.470   2.007 5.400000e+10 5.207e+09
-  2   2 5.273e+07  10.320  40.080   0.550   3.937 1.080000e+11 1.047e+10
-  2   3 3.516e+07  13.340  39.990   0.470   3.033 1.080000e+11 8.096e+09
-  2   4 2.637e+07  10.480  39.970   0.400   3.852 1.080000e+11 1.031e+10
-  2   5 2.109e+07  10.910  39.920   0.390   3.695 1.080000e+11 9.899e+09
-  2   6 1.758e+07  10.610  39.860   0.360   3.791 1.080000e+11 1.018e+10
-  2   7 1.507e+07  10.520  39.890   0.360   3.826 1.080000e+11 1.027e+10
-  2   8 1.318e+07  10.470  39.980   0.350   3.852 1.080000e+11 1.032e+10
-  3   1 5.273e+07  10.230  30.320   0.600   3.022 8.100000e+10 7.918e+09
-  3   2 3.516e+07  13.250  40.050   0.560   3.065 1.080000e+11 8.151e+09
-  3   3 2.344e+07  11.160  40.010   0.470   3.627 1.080000e+11 9.677e+09
-  3   4 1.758e+07  10.710  39.950   0.420   3.769 1.080000e+11 1.008e+10
-  3   5 1.406e+07  10.520  39.920   0.400   3.833 1.080000e+11 1.027e+10
-  3   6 1.172e+07  10.420  39.880   0.380   3.864 1.080000e+11 1.036e+10
-  3   7 1.004e+07  10.340  39.880   0.370   3.893 1.080000e+11 1.044e+10
-  3   8 8.789e+06  10.380  39.960   0.380   3.886 1.080000e+11 1.040e+10
-  4   1 5.273e+07  10.570  40.390   0.890   3.905 1.080000e+11 1.022e+10
-  4   2 2.637e+07  10.690  40.020   0.560   3.796 1.080000e+11 1.010e+10
-  4   3 1.758e+07  10.790  39.980   0.480   3.750 1.080000e+11 1.001e+10
-  4   4 1.318e+07  10.570  39.950   0.430   3.820 1.080000e+11 1.022e+10
-  4   5 1.055e+07  10.440  39.950   0.420   3.867 1.080000e+11 1.034e+10
-  4   6 8.789e+06  10.340  39.900   0.420   3.899 1.080000e+11 1.044e+10
-  4   7 7.533e+06  10.290  39.870   0.410   3.914 1.080000e+11 1.050e+10
-  4   8 6.592e+06  10.270  39.950   0.390   3.928 1.080000e+11 1.052e+10
-  5   1 4.219e+07  15.110  40.290   0.830   2.721 1.080000e+11 7.148e+09
-  5   2 2.109e+07  11.240  40.000   0.580   3.610 1.080000e+11 9.609e+09
-  5   3 1.406e+07  10.710  39.970   0.490   3.778 1.080000e+11 1.008e+10
-  5   4 1.055e+07  10.490  39.980   0.460   3.855 1.080000e+11 1.030e+10
-  5   5 8.438e+06  10.430  39.940   0.440   3.872 1.080000e+11 1.035e+10
-  5   6 7.031e+06  10.280  39.890   0.420   3.921 1.080000e+11 1.051e+10
-  5   7 6.027e+06  10.290  39.870   0.400   3.914 1.080000e+11 1.050e+10
-  5   8 5.273e+06  10.290  39.940   0.400   3.920 1.080000e+11 1.050e+10
-  6   1 3.516e+07  12.880  40.250   0.850   3.191 1.080000e+11 8.385e+09
-  6   2 1.758e+07  10.730  39.980   0.580   3.780 1.080000e+11 1.007e+10
-  6   3 1.172e+07  10.740  39.980   0.490   3.768 1.080000e+11 1.006e+10
-  6   4 8.789e+06  10.510  39.940   0.460   3.844 1.080000e+11 1.028e+10
-  6   5 7.031e+06  10.430  39.920   0.450   3.871 1.080000e+11 1.035e+10
-  6   6 5.859e+06  10.300  39.910   0.430   3.917 1.080000e+11 1.049e+10
-  6   7 5.022e+06  10.290  39.870   0.420   3.915 1.080000e+11 1.050e+10
-  6   8 4.395e+06  10.300  39.950   0.420   3.919 1.080000e+11 1.049e+10
-  7   1 3.013e+07  11.240  40.270   0.860   3.659 1.080000e+11 9.609e+09
-  7   2 1.507e+07  11.040  40.000   0.590   3.677 1.080000e+11 9.783e+09
-  7   3 1.004e+07  10.660  39.970   0.520   3.798 1.080000e+11 1.013e+10
-  7   4 7.533e+06  10.430  39.930   0.470   3.873 1.080000e+11 1.035e+10
-  7   5 6.027e+06  10.390  39.920   0.470   3.887 1.080000e+11 1.039e+10
-  7   6 5.022e+06  10.320  39.910   0.430   3.909 1.080000e+11 1.047e+10
-  7   7 4.305e+06  10.330  39.890   0.420   3.902 1.080000e+11 1.045e+10
-  7   8 3.767e+06  10.300  39.930   0.420   3.917 1.080000e+11 1.049e+10
-  8   1 2.637e+07  10.530  40.290   0.910   3.913 1.080000e+11 1.026e+10
-  8   2 1.318e+07  10.850  40.040   0.610   3.747 1.080000e+11 9.954e+09
-  8   3 8.789e+06  10.500  39.960   0.540   3.857 1.080000e+11 1.029e+10
-  8   4 6.592e+06  10.490  39.960   0.500   3.857 1.080000e+11 1.030e+10
-  8   5 5.273e+06  10.330  39.930   0.480   3.912 1.080000e+11 1.045e+10
-  8   6 4.395e+06  10.340  39.900   0.450   3.902 1.080000e+11 1.044e+10
-  8   7 3.767e+06  10.260  39.900   0.430   3.931 1.080000e+11 1.053e+10
-  8   8 3.296e+06  10.250  39.960   0.430   3.940 1.080000e+11 1.054e+10
diff --git a/gnuradio-examples/python/mp-sched/perf-data/ps3-altivec.dat b/gnuradio-examples/python/mp-sched/perf-data/ps3-altivec.dat
deleted file mode 100644
index dd01b31bd7..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/ps3-altivec.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D Playstation 3 (using Altivec)
-  1   1 3.906e+07  10.500  10.580   0.440   1.050 2.000000e+10 1.905e+09
-  1   2 1.953e+07   7.010  13.200   0.400   1.940 2.000000e+10 2.853e+09
-  1   3 1.302e+07   7.540  13.140   0.380   1.793 2.000000e+10 2.653e+09
-  1   4 9.766e+06   7.200  13.620   0.370   1.943 2.000000e+10 2.778e+09
-  1   5 7.812e+06   7.170  13.670   0.340   1.954 2.000000e+10 2.789e+09
-  1   6 6.510e+06   7.010  13.590   0.320   1.984 2.000000e+10 2.853e+09
-  1   7 5.580e+06   6.990  13.530   0.330   1.983 2.000000e+10 2.861e+09
-  1   8 4.883e+06   6.980  13.490   0.320   1.979 2.000000e+10 2.865e+09
-  2   1 1.953e+07   8.110  14.730   0.530   1.882 2.000000e+10 2.466e+09
-  2   2 9.766e+06   7.090  13.570   0.420   1.973 2.000000e+10 2.821e+09
-  2   3 6.510e+06   7.040  13.590   0.410   1.989 2.000000e+10 2.841e+09
-  2   4 4.883e+06   6.990  13.490   0.370   1.983 2.000000e+10 2.861e+09
-  2   5 3.906e+06   6.970  13.480   0.360   1.986 2.000000e+10 2.869e+09
-  2   6 3.255e+06   6.990  13.530   0.370   1.989 2.000000e+10 2.861e+09
-  2   7 2.790e+06   6.890  13.390   0.350   1.994 2.000000e+10 2.903e+09
-  2   8 2.441e+06   6.880  13.380   0.350   1.996 2.000000e+10 2.907e+09
-  3   1 1.302e+07   8.220  13.720   0.510   1.731 2.000000e+10 2.433e+09
-  3   2 6.510e+06   7.050  13.480   0.450   1.976 2.000000e+10 2.837e+09
-  3   3 4.340e+06   6.990  13.460   0.400   1.983 2.000000e+10 2.861e+09
-  3   4 3.255e+06   6.990  13.550   0.380   1.993 2.000000e+10 2.861e+09
-  3   5 2.604e+06   6.920  13.430   0.360   1.993 1.999999e+10 2.890e+09
-  3   6 2.170e+06   6.940  13.460   0.360   1.991 1.999999e+10 2.882e+09
-  3   7 1.860e+06   6.920  13.440   0.360   1.994 2.000000e+10 2.890e+09
-  3   8 1.628e+06   6.890  13.380   0.350   1.993 2.000000e+10 2.903e+09
-  4   1 9.766e+06   7.620  14.550   0.590   1.987 2.000000e+10 2.625e+09
-  4   2 4.883e+06   7.010  13.460   0.440   1.983 2.000000e+10 2.853e+09
-  4   3 3.255e+06   7.040  13.580   0.410   1.987 2.000000e+10 2.841e+09
-  4   4 2.441e+06   6.960  13.470   0.390   1.991 2.000000e+10 2.874e+09
-  4   5 1.953e+06   6.920  13.410   0.370   1.991 2.000000e+10 2.890e+09
-  4   6 1.628e+06   6.950  13.490   0.370   1.994 2.000000e+10 2.878e+09
-  4   7 1.395e+06   6.890  13.350   0.370   1.991 2.000000e+10 2.903e+09
-  4   8 1.221e+06   6.940  13.490   0.360   1.996 2.000000e+10 2.882e+09
-  5   1 7.812e+06   7.680  14.000   0.560   1.896 2.000000e+10 2.604e+09
-  5   2 3.906e+06   7.070  13.460   0.460   1.969 2.000000e+10 2.829e+09
-  5   3 2.604e+06   6.990  13.430   0.420   1.981 1.999999e+10 2.861e+09
-  5   4 1.953e+06   7.010  13.550   0.390   1.989 2.000000e+10 2.853e+09
-  5   5 1.562e+06   6.920  13.430   0.380   1.996 2.000000e+10 2.890e+09
-  5   6 1.302e+06   6.920  13.410   0.380   1.993 1.999999e+10 2.890e+09
-  5   7 1.116e+06   6.920  13.420   0.370   1.993 1.999999e+10 2.890e+09
-  5   8 9.766e+05   6.910  13.360   0.370   1.987 1.999999e+10 2.894e+09
-  6   1 6.510e+06   7.350  13.970   0.630   1.986 2.000000e+10 2.721e+09
-  6   2 3.255e+06   7.040  13.470   0.470   1.980 2.000000e+10 2.841e+09
-  6   3 2.170e+06   7.050  13.600   0.420   1.989 1.999999e+10 2.837e+09
-  6   4 1.628e+06   6.970  13.480   0.400   1.991 2.000000e+10 2.869e+09
-  6   5 1.302e+06   6.990  13.540   0.390   1.993 1.999999e+10 2.861e+09
-  6   6 1.085e+06   6.970  13.470   0.380   1.987 1.999999e+10 2.869e+09
-  6   7 9.301e+05   6.890  13.350   0.380   1.993 1.999999e+10 2.903e+09
-  6   8 8.138e+05   6.920  13.420   0.370   1.993 2.000000e+10 2.890e+09
-  7   1 5.580e+06   7.530  14.030   0.580   1.940 2.000000e+10 2.656e+09
-  7   2 2.790e+06   7.000  13.370   0.460   1.976 2.000000e+10 2.857e+09
-  7   3 1.860e+06   7.000  13.520   0.420   1.991 2.000000e+10 2.857e+09
-  7   4 1.395e+06   7.060  13.590   0.410   1.983 2.000000e+10 2.833e+09
-  7   5 1.116e+06   6.950  13.460   0.390   1.993 1.999999e+10 2.878e+09
-  7   6 9.301e+05   6.950  13.420   0.380   1.986 1.999999e+10 2.878e+09
-  7   7 7.972e+05   6.880  13.300   0.380   1.988 1.999998e+10 2.907e+09
-  7   8 6.975e+05   6.920  13.390   0.380   1.990 1.999998e+10 2.890e+09
-  8   1 4.883e+06   7.440  14.150   0.620   1.985 2.000000e+10 2.688e+09
-  8   2 2.441e+06   6.990  13.400   0.480   1.986 2.000000e+10 2.861e+09
-  8   3 1.628e+06   6.990  13.460   0.430   1.987 2.000000e+10 2.861e+09
-  8   4 1.221e+06   7.020  13.550   0.410   1.989 2.000000e+10 2.849e+09
-  8   5 9.766e+05   6.920  13.370   0.390   1.988 1.999999e+10 2.890e+09
-  8   6 8.138e+05   6.950  13.400   0.390   1.984 2.000000e+10 2.878e+09
-  8   7 6.975e+05   6.930  13.360   0.390   1.984 1.999998e+10 2.886e+09
-  8   8 6.104e+05   6.920  13.390   0.380   1.990 1.999998e+10 2.890e+09
diff --git a/gnuradio-examples/python/mp-sched/perf-data/ps3.dat b/gnuradio-examples/python/mp-sched/perf-data/ps3.dat
deleted file mode 100644
index c9bac37cc1..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/ps3.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D Playstation 3
-  1   1 2.344e+07   9.970   9.960   0.280   1.027 1.200000e+10 1.204e+09
-  1   2 1.172e+07  12.590  24.430   0.400   1.972 1.200000e+10 9.531e+08
-  1   3 7.812e+06  12.200  22.790   0.360   1.898 1.200000e+10 9.836e+08
-  1   4 5.859e+06  12.450  24.440   0.360   1.992 1.200000e+10 9.639e+08
-  1   5 4.688e+06  12.390  24.100   0.360   1.974 1.200000e+10 9.685e+08
-  1   6 3.906e+06  12.360  24.200   0.370   1.988 1.200000e+10 9.709e+08
-  1   7 3.348e+06  12.460  24.390   0.360   1.986 1.200000e+10 9.631e+08
-  1   8 2.930e+06  12.440  24.400   0.360   1.990 1.200000e+10 9.646e+08
-  2   1 1.172e+07  12.580  24.660   0.490   1.999 1.200000e+10 9.539e+08
-  2   2 5.859e+06  12.480  24.290   0.420   1.980 1.200000e+10 9.615e+08
-  2   3 3.906e+06  12.500  24.500   0.400   1.992 1.200000e+10 9.600e+08
-  2   4 2.930e+06  12.440  24.400   0.390   1.993 1.200000e+10 9.646e+08
-  2   5 2.344e+06  12.500  24.510   0.380   1.991 1.200000e+10 9.600e+08
-  2   6 1.953e+06  12.450  24.480   0.380   1.997 1.200000e+10 9.639e+08
-  2   7 1.674e+06  12.450  24.430   0.380   1.993 1.200000e+10 9.639e+08
-  2   8 1.465e+06  12.430  24.450   0.380   1.998 1.199999e+10 9.654e+08
-  3   1 7.812e+06  12.280  23.600   0.460   1.959 1.200000e+10 9.772e+08
-  3   2 3.906e+06  12.690  24.760   0.430   1.985 1.200000e+10 9.456e+08
-  3   3 2.604e+06  12.610  24.700   0.410   1.991 1.200000e+10 9.516e+08
-  3   4 1.953e+06  12.440  24.410   0.400   1.994 1.200000e+10 9.646e+08
-  3   5 1.562e+06  12.400  24.370   0.380   1.996 1.200000e+10 9.677e+08
-  3   6 1.302e+06  12.440  24.450   0.380   1.996 1.200000e+10 9.646e+08
-  3   7 1.116e+06  12.470  24.470   0.380   1.993 1.200000e+10 9.623e+08
-  3   8 9.766e+05  12.440  24.440   0.380   1.995 1.199999e+10 9.646e+08
-  4   1 5.859e+06  12.670  24.710   0.500   1.990 1.200000e+10 9.471e+08
-  4   2 2.930e+06  12.600  24.600   0.440   1.987 1.200000e+10 9.524e+08
-  4   3 1.953e+06  12.490  24.480   0.410   1.993 1.200000e+10 9.608e+08
-  4   4 1.465e+06  12.400  24.340   0.400   1.995 1.199999e+10 9.677e+08
-  4   5 1.172e+06  12.440  24.410   0.390   1.994 1.200000e+10 9.646e+08
-  4   6 9.766e+05  12.440  24.440   0.390   1.996 1.199999e+10 9.646e+08
-  4   7 8.371e+05  12.450  24.420   0.390   1.993 1.199999e+10 9.639e+08
-  4   8 7.324e+05  12.370  24.310   0.380   1.996 1.199999e+10 9.701e+08
-  5   1 4.688e+06  12.890  24.790   0.500   1.962 1.200000e+10 9.310e+08
-  5   2 2.344e+06  12.620  24.680   0.450   1.991 1.200000e+10 9.509e+08
-  5   3 1.562e+06  12.430  24.360   0.410   1.993 1.200000e+10 9.654e+08
-  5   4 1.172e+06  12.420  24.390   0.410   1.997 1.200000e+10 9.662e+08
-  5   5 9.375e+05  12.430  24.380   0.400   1.994 1.200000e+10 9.654e+08
-  5   6 7.812e+05  12.400  24.340   0.400   1.995 1.200000e+10 9.677e+08
-  5   7 6.696e+05  12.360  24.290   0.390   1.997 1.199998e+10 9.709e+08
-  5   8 5.859e+05  12.420  24.370   0.390   1.994 1.199999e+10 9.662e+08
-  6   1 3.906e+06  12.990  25.320   0.560   1.992 1.200000e+10 9.238e+08
-  6   2 1.953e+06  12.610  24.550   0.440   1.982 1.200000e+10 9.516e+08
-  6   3 1.302e+06  12.520  24.310   0.420   1.975 1.200000e+10 9.585e+08
-  6   4 9.766e+05  12.460  24.310   0.420   1.985 1.199999e+10 9.631e+08
-  6   5 7.812e+05  12.440  24.240   0.410   1.982 1.200000e+10 9.646e+08
-  6   6 6.510e+05  12.430  24.170   0.410   1.977 1.199999e+10 9.654e+08
-  6   7 5.580e+05  12.450  24.230   0.410   1.979 1.199998e+10 9.639e+08
-  6   8 4.883e+05  12.490  24.190   0.420   1.970 1.199999e+10 9.608e+08
-  7   1 3.348e+06  13.150  24.280   0.500   1.884 1.200000e+10 9.125e+08
-  7   2 1.674e+06  12.480  24.170   0.430   1.971 1.200000e+10 9.615e+08
-  7   3 1.116e+06  12.480  24.430   0.440   1.993 1.200000e+10 9.615e+08
-  7   4 8.371e+05  12.380  24.270   0.420   1.994 1.199999e+10 9.693e+08
-  7   5 6.696e+05  12.390  24.290   0.430   1.995 1.199998e+10 9.685e+08
-  7   6 5.580e+05  12.430  24.300   0.430   1.990 1.199998e+10 9.654e+08
-  7   7 4.783e+05  12.460  24.360   0.430   1.990 1.199999e+10 9.631e+08
-  7   8 4.185e+05  12.460  24.340   0.430   1.988 1.199998e+10 9.631e+08
-  8   1 2.930e+06  12.960  24.600   0.530   1.939 1.200000e+10 9.259e+08
-  8   2 1.465e+06  12.580  24.240   0.440   1.962 1.199999e+10 9.539e+08
-  8   3 9.766e+05  12.520  24.060   0.430   1.956 1.199999e+10 9.585e+08
-  8   4 7.324e+05  12.420  24.200   0.410   1.981 1.199999e+10 9.662e+08
-  8   5 5.859e+05  12.430  24.310   0.430   1.990 1.199999e+10 9.654e+08
-  8   6 4.883e+05  12.430  24.130   0.420   1.975 1.199999e+10 9.654e+08
-  8   7 4.185e+05  12.800  24.220   0.490   1.930 1.199998e+10 9.375e+08
-  8   8 3.662e+05  12.460  24.340   0.430   1.988 1.199997e+10 9.631e+08
diff --git a/gnuradio-examples/python/mp-sched/perf-data/qs21-altivec.dat b/gnuradio-examples/python/mp-sched/perf-data/qs21-altivec.dat
deleted file mode 100644
index 8364be363d..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/qs21-altivec.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D QS21 dual cell 3.2 GHz (using Altivec)
-  1   1 3.516e+07   9.810  10.240   0.430   1.088 1.800000e+10 1.835e+09
-  1   2 3.516e+07  11.650  22.840   0.750   2.025 3.600000e+10 3.090e+09
-  1   3 2.344e+07   9.400  24.860   0.680   2.717 3.600000e+10 3.830e+09
-  1   4 1.758e+07   7.800  26.820   0.740   3.533 3.600000e+10 4.615e+09
-  1   5 1.406e+07   8.810  25.970   0.760   3.034 3.600000e+10 4.086e+09
-  1   6 1.172e+07   8.110  25.710   0.740   3.261 3.600000e+10 4.439e+09
-  1   7 1.004e+07   7.750  26.020   0.710   3.449 3.600000e+10 4.645e+09
-  1   8 8.789e+06   7.290  26.600   0.690   3.743 3.600000e+10 4.938e+09
-  2   1 3.516e+07  10.130  20.690   0.770   2.118 3.600000e+10 3.554e+09
-  2   2 1.758e+07   7.240  26.820   0.920   3.831 3.600000e+10 4.972e+09
-  2   3 1.172e+07   8.090  26.670   0.840   3.400 3.600000e+10 4.450e+09
-  2   4 8.789e+06   7.480  27.010   0.790   3.717 3.600000e+10 4.813e+09
-  2   5 7.031e+06   7.180  26.530   0.740   3.798 3.600000e+10 5.014e+09
-  2   6 5.859e+06   7.060  26.590   0.730   3.870 3.600000e+10 5.099e+09
-  2   7 5.022e+06   7.040  26.610   0.740   3.885 3.600000e+10 5.114e+09
-  2   8 4.395e+06   7.090  27.020   0.730   3.914 3.600000e+10 5.078e+09
-  3   1 2.344e+07   9.670  25.850   1.020   2.779 3.600000e+10 3.723e+09
-  3   2 1.172e+07   7.700  25.940   0.930   3.490 3.600000e+10 4.675e+09
-  3   3 7.812e+06   7.290  26.760   0.830   3.785 3.600000e+10 4.938e+09
-  3   4 5.859e+06   7.210  26.900   0.800   3.842 3.600000e+10 4.993e+09
-  3   5 4.688e+06   7.060  26.690   0.770   3.890 3.600000e+10 5.099e+09
-  3   6 3.906e+06   7.060  26.830   0.810   3.915 3.600000e+10 5.099e+09
-  3   7 3.348e+06   6.960  26.680   0.780   3.945 3.600000e+10 5.172e+09
-  3   8 2.930e+06   6.960  26.600   0.770   3.932 3.599999e+10 5.172e+09
-  4   1 1.758e+07   7.640  28.700   1.250   3.920 3.600000e+10 4.712e+09
-  4   2 8.789e+06   7.230  26.640   0.940   3.815 3.600000e+10 4.979e+09
-  4   3 5.859e+06   7.200  26.800   0.860   3.842 3.600000e+10 5.000e+09
-  4   4 4.395e+06   7.110  26.900   0.840   3.902 3.600000e+10 5.063e+09
-  4   5 3.516e+06   7.020  26.680   0.800   3.915 3.600000e+10 5.128e+09
-  4   6 2.930e+06   6.950  26.700   0.800   3.957 3.599999e+10 5.180e+09
-  4   7 2.511e+06   6.930  26.590   0.800   3.952 3.599999e+10 5.195e+09
-  4   8 2.197e+06   6.960  26.570   0.790   3.931 3.599999e+10 5.172e+09
-  5   1 1.406e+07   8.730  26.540   1.190   3.176 3.600000e+10 4.124e+09
-  5   2 7.031e+06   7.270  26.450   0.960   3.770 3.600000e+10 4.952e+09
-  5   3 4.688e+06   7.100  26.630   0.880   3.875 3.600000e+10 5.070e+09
-  5   4 3.516e+06   7.050  26.700   0.850   3.908 3.600000e+10 5.106e+09
-  5   5 2.812e+06   6.970  26.610   0.830   3.937 3.600000e+10 5.165e+09
-  5   6 2.344e+06   6.980  26.710   0.840   3.947 3.600000e+10 5.158e+09
-  5   7 2.009e+06   6.900  26.470   0.800   3.952 3.599999e+10 5.217e+09
-  5   8 1.758e+06   6.940  26.580   0.820   3.948 3.599999e+10 5.187e+09
-  6   1 1.172e+07   8.200  26.510   1.190   3.378 3.600000e+10 4.390e+09
-  6   2 5.859e+06   7.210  26.590   0.970   3.822 3.600000e+10 4.993e+09
-  6   3 3.906e+06   7.070  26.580   0.910   3.888 3.600000e+10 5.092e+09
-  6   4 2.930e+06   7.090  26.750   0.860   3.894 3.599999e+10 5.078e+09
-  6   5 2.344e+06   7.040  26.830   0.830   3.929 3.600000e+10 5.114e+09
-  6   6 1.953e+06   6.960  26.600   0.830   3.941 3.600000e+10 5.172e+09
-  6   7 1.674e+06   6.940  26.500   0.810   3.935 3.600000e+10 5.187e+09
-  6   8 1.465e+06   6.940  26.540   0.830   3.944 3.599998e+10 5.187e+09
-  7   1 1.004e+07   7.730  26.940   1.190   3.639 3.600000e+10 4.657e+09
-  7   2 5.022e+06   7.240  26.600   0.980   3.809 3.600000e+10 4.972e+09
-  7   3 3.348e+06   7.120  26.680   0.930   3.878 3.600000e+10 5.056e+09
-  7   4 2.511e+06   7.070  26.840   0.890   3.922 3.599999e+10 5.092e+09
-  7   5 2.009e+06   6.980  26.570   0.850   3.928 3.599999e+10 5.158e+09
-  7   6 1.674e+06   6.950  26.530   0.840   3.938 3.600000e+10 5.180e+09
-  7   7 1.435e+06   6.940  26.570   0.860   3.952 3.599998e+10 5.187e+09
-  7   8 1.256e+06   6.980  26.590   0.840   3.930 3.599999e+10 5.158e+09
-  8   1 8.789e+06   7.570  27.360   1.260   3.781 3.600000e+10 4.756e+09
-  8   2 4.395e+06   7.130  26.460   0.980   3.849 3.600000e+10 5.049e+09
-  8   3 2.930e+06   7.060  26.680   0.920   3.909 3.599999e+10 5.099e+09
-  8   4 2.197e+06   7.040  26.670   0.880   3.913 3.599999e+10 5.114e+09
-  8   5 1.758e+06   6.970  26.600   0.860   3.940 3.599999e+10 5.165e+09
-  8   6 1.465e+06   6.940  26.490   0.840   3.938 3.599998e+10 5.187e+09
-  8   7 1.256e+06   6.980  26.630   0.850   3.937 3.599999e+10 5.158e+09
-  8   8 1.099e+06   7.010  26.820   0.860   3.949 3.599997e+10 5.136e+09
diff --git a/gnuradio-examples/python/mp-sched/perf-data/qs21.dat b/gnuradio-examples/python/mp-sched/perf-data/qs21.dat
deleted file mode 100644
index cc628740a8..0000000000
--- a/gnuradio-examples/python/mp-sched/perf-data/qs21.dat
+++ /dev/null
@@ -1,65 +0,0 @@
-#D QS21 dual cell 3.2 GHz
-  1   1 1.953e+07   8.480   8.730   0.270   1.061 1.000000e+10 1.179e+09
-  1   2 1.953e+07   8.750  17.210   0.460   2.019 2.000000e+10 2.286e+09
-  1   3 1.302e+07  12.390  29.530   0.540   2.427 2.000000e+10 1.614e+09
-  1   4 9.766e+06  10.120  31.500   0.590   3.171 2.000000e+10 1.976e+09
-  1   5 7.812e+06  10.200  31.350   0.610   3.133 2.000000e+10 1.961e+09
-  1   6 6.510e+06   9.520  31.690   0.590   3.391 2.000000e+10 2.101e+09
-  1   7 5.580e+06   9.430  32.610   0.600   3.522 2.000000e+10 2.121e+09
-  1   8 4.883e+06   9.400  34.160   0.620   3.700 2.000000e+10 2.128e+09
-  2   1 1.953e+07   8.800  17.750   0.500   2.074 2.000000e+10 2.273e+09
-  2   2 9.766e+06   8.990  28.900   0.640   3.286 2.000000e+10 2.225e+09
-  2   3 6.510e+06   9.390  32.450   0.660   3.526 2.000000e+10 2.130e+09
-  2   4 4.883e+06   9.220  34.450   0.660   3.808 2.000000e+10 2.169e+09
-  2   5 3.906e+06   9.180  34.730   0.650   3.854 2.000000e+10 2.179e+09
-  2   6 3.255e+06   9.150  34.960   0.650   3.892 2.000000e+10 2.186e+09
-  2   7 2.790e+06   9.140  35.290   0.650   3.932 2.000000e+10 2.188e+09
-  2   8 2.441e+06   9.080  35.240   0.650   3.953 2.000000e+10 2.203e+09
-  3   1 1.302e+07  11.720  28.890   0.740   2.528 2.000000e+10 1.706e+09
-  3   2 6.510e+06   9.390  32.700   0.730   3.560 2.000000e+10 2.130e+09
-  3   3 4.340e+06   9.150  33.930   0.690   3.784 2.000000e+10 2.186e+09
-  3   4 3.255e+06   9.040  34.650   0.680   3.908 2.000000e+10 2.212e+09
-  3   5 2.604e+06   9.090  34.990   0.680   3.924 1.999999e+10 2.200e+09
-  3   6 2.170e+06   9.050  34.870   0.670   3.927 1.999999e+10 2.210e+09
-  3   7 1.860e+06   9.010  34.850   0.660   3.941 2.000000e+10 2.220e+09
-  3   8 1.628e+06   8.980  34.860   0.670   3.957 2.000000e+10 2.227e+09
-  4   1 9.766e+06   9.000  34.680   0.940   3.958 2.000000e+10 2.222e+09
-  4   2 4.883e+06   9.020  34.180   0.740   3.871 2.000000e+10 2.217e+09
-  4   3 3.255e+06   9.150  34.640   0.710   3.863 2.000000e+10 2.186e+09
-  4   4 2.441e+06   9.010  34.780   0.690   3.937 2.000000e+10 2.220e+09
-  4   5 1.953e+06   8.980  34.680   0.690   3.939 2.000000e+10 2.227e+09
-  4   6 1.628e+06   9.050  35.120   0.690   3.957 2.000000e+10 2.210e+09
-  4   7 1.395e+06   9.010  34.900   0.670   3.948 2.000000e+10 2.220e+09
-  4   8 1.221e+06   8.960  34.900   0.680   3.971 2.000000e+10 2.232e+09
-  5   1 7.812e+06  10.150  31.760   0.840   3.212 2.000000e+10 1.970e+09
-  5   2 3.906e+06   9.090  34.040   0.750   3.827 2.000000e+10 2.200e+09
-  5   3 2.604e+06   9.030  34.650   0.720   3.917 1.999999e+10 2.215e+09
-  5   4 1.953e+06   8.990  34.610   0.700   3.928 2.000000e+10 2.225e+09
-  5   5 1.562e+06   9.000  34.920   0.700   3.958 2.000000e+10 2.222e+09
-  5   6 1.302e+06   9.120  35.370   0.690   3.954 1.999999e+10 2.193e+09
-  5   7 1.116e+06   8.910  34.680   0.690   3.970 1.999999e+10 2.245e+09
-  5   8 9.766e+05   8.930  34.790   0.680   3.972 1.999999e+10 2.240e+09
-  6   1 6.510e+06   9.390  31.810   0.840   3.477 2.000000e+10 2.130e+09
-  6   2 3.255e+06   9.000  34.320   0.760   3.898 2.000000e+10 2.222e+09
-  6   3 2.170e+06   8.960  34.310   0.740   3.912 1.999999e+10 2.232e+09
-  6   4 1.628e+06   8.970  34.640   0.730   3.943 2.000000e+10 2.230e+09
-  6   5 1.302e+06   9.110  35.360   0.710   3.959 1.999999e+10 2.195e+09
-  6   6 1.085e+06   8.970  34.750   0.710   3.953 1.999999e+10 2.230e+09
-  6   7 9.301e+05   8.950  34.710   0.700   3.956 1.999999e+10 2.235e+09
-  6   8 8.138e+05   8.920  34.570   0.710   3.955 2.000000e+10 2.242e+09
-  7   1 5.580e+06   9.290  32.840   0.870   3.629 2.000000e+10 2.153e+09
-  7   2 2.790e+06   9.040  34.400   0.770   3.890 2.000000e+10 2.212e+09
-  7   3 1.860e+06   8.940  34.380   0.740   3.928 2.000000e+10 2.237e+09
-  7   4 1.395e+06   8.990  34.820   0.730   3.954 2.000000e+10 2.225e+09
-  7   5 1.116e+06   8.990  34.820   0.720   3.953 1.999999e+10 2.225e+09
-  7   6 9.301e+05   8.940  34.720   0.720   3.964 1.999999e+10 2.237e+09
-  7   7 7.972e+05   8.930  34.700   0.710   3.965 1.999998e+10 2.240e+09
-  7   8 6.975e+05   8.910  34.510   0.700   3.952 1.999998e+10 2.245e+09
-  8   1 4.883e+06   9.070  33.770   0.910   3.824 2.000000e+10 2.205e+09
-  8   2 2.441e+06   9.000  34.340   0.780   3.902 2.000000e+10 2.222e+09
-  8   3 1.628e+06   8.990  34.510   0.740   3.921 2.000000e+10 2.225e+09
-  8   4 1.221e+06   8.980  34.650   0.740   3.941 2.000000e+10 2.227e+09
-  8   5 9.766e+05   8.960  34.700   0.720   3.953 1.999999e+10 2.232e+09
-  8   6 8.138e+05   8.920  34.680   0.710   3.967 2.000000e+10 2.242e+09
-  8   7 6.975e+05   8.900  34.580   0.720   3.966 1.999998e+10 2.247e+09
-  8   8 6.104e+05   8.930  34.590   0.710   3.953 1.999998e+10 2.240e+09
diff --git a/gnuradio-examples/python/mp-sched/plot_flops.py b/gnuradio-examples/python/mp-sched/plot_flops.py
deleted file mode 100755
index b3f819397d..0000000000
--- a/gnuradio-examples/python/mp-sched/plot_flops.py
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2008 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-"""
-Reads output from run_synthetic.py and runs gnuplot showing
-GFLOPS as f(npipes, nstages)
-"""
-
-import re
-import sys
-import os
-import tempfile
-from optparse import OptionParser
-
-
-def parse_file(input_filename, output):
-    last = None
-    desc = ''
-    for line in open(input_filename, 'r'):
-        s = line.strip()
-        if s.startswith('>>>'):         # ignore ">>> using SSE cruft"
-            continue
-        
-        if s.startswith('#D'):          # machine description
-            desc = s[2:].strip()
-            continue
-
-        fields = s.split()
-        npipes, nstages, flops = fields[0], fields[1], fields[8]
-
-        if last is not None and npipes != last:
-            output.write('\n')
-        last = npipes
-
-        output.write(' '.join((npipes, nstages, flops)))
-        output.write('\n')
-
-    output.flush()
-    return desc
-
-
-def handle_file(input_filename):
-    cmd_file = tempfile.NamedTemporaryFile(mode='w+', prefix='pf', suffix='.cmd')
-    cmd_file_name = cmd_file.name
-    data_file = tempfile.NamedTemporaryFile(mode='w+', prefix='pf', suffix='.dat')
-    data_file_name = data_file.name
-    desc = parse_file(input_filename, data_file)
-    if len(desc) > 0:
-        cmd_file.write("set title '%s'\n" % (desc,))
-    cmd_file.write("set xlabel 'N pipes'\n")
-    cmd_file.write("set ylabel 'N stages'\n")
-    cmd_file.write("set zlabel 'GFLOPS'\n")
-    cmd_file.write("set key off\n")
-    cmd_file.write("set view 60, 312\n")
-    cmd_file.write("set pm3d\n")
-    cmd_file.write("splot '%s' using 1:2:($3*1e-9) with pm3d at b, '%s' using 1:2:($3*1e-9) with pm3d\n" % (
-        data_file_name, data_file_name))
-
-    cmd_file.flush()
-    data_file.flush()
-
-    os.system("gnuplot " + cmd_file_name + " -")
-    
-    #sys.stdout.write(open(cmd_file_name,'r').read())
-    #sys.stdout.write(open(data_file_name,'r').read())
-
-
-def main():
-    usage = "usage: %prog [options] file.dat"
-    parser = OptionParser(usage=usage)
-    (options, args) = parser.parse_args()
-    if len(args) != 1:
-        parser.print_help()
-        raise SystemExit, 1
-
-    handle_file(args[0])
-
-
-if __name__ == '__main__':
-    main()
diff --git a/gnuradio-examples/python/mp-sched/run_synthetic.py b/gnuradio-examples/python/mp-sched/run_synthetic.py
deleted file mode 100755
index 565e6c5c79..0000000000
--- a/gnuradio-examples/python/mp-sched/run_synthetic.py
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2008 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-"""
-Run synthetic.py for npipes in [1,16], nstages in [1,16]
-"""
-
-import re
-import sys
-import os
-import tempfile
-from optparse import OptionParser
-
-
-def write_shell_script(f, data_filename, description, ncores, gflops, max_pipes_and_stages):
-    """
-    f is the file to write the script to
-    data_filename is the where the data ends up
-    description describes the machine
-    ncores is the number of cores (used to size the workload)
-    gflops is the estimated GFLOPS per core (used to size the workload)
-    """
-
-    f.write("#!/bin/sh\n")
-    f.write("(\n")
-    if description:
-        f.write("echo '#D %s'\n" % (description,))
-
-    for npipes in range(1, max_pipes_and_stages + 1):
-        for nstages in range(1, max_pipes_and_stages + 1):
-            # We'd like each run of synthetic to take ~10 seconds
-            desired_time_per_run = 10
-            est_gflops_avail = min(nstages * npipes, ncores) * gflops
-            nsamples = (est_gflops_avail * desired_time_per_run)/(512.0 * nstages * npipes)
-            nsamples = int(nsamples * 1e9)
-
-            cmd = "./synthetic.py -m -s %d -p %d -N %d\n" % (nstages, npipes, nsamples)
-            f.write(cmd)
-            f.write('if test $? -ge 128; then exit 128; fi\n')
-
-    f.write(") 2>&1 | grep --line-buffered -v '^>>>' | tee %s\n" % (data_filename,))
-    f.flush()
-    
-    
-
-def main():
-    description = """%prog gathers multiprocessor scaling data using the ./synthetic.py benchmark.
-All combinations of npipes and nstages between 1 and --max-pipes-and-stages are tried.
-The -n and -f options provides hints used to size the workload.  We'd like each run
-of synthetic to take about 10 seconds.  For the full 16x16 case this results in a
-total runtime of about 43 minutes, assuming that your values for -n and -f are reasonable.
-For x86 machines, assume 3 FLOPS per processor Hz. E.g., 3 GHz machine -> 9 GFLOPS.
-plot_flops.py will make pretty graphs from the output data generated by %prog.
-"""
-    usage = "usage: %prog [options] output.dat"
-    parser = OptionParser(usage=usage, description=description)
-    parser.add_option("-d", "--description", metavar="DESC",
-                      help="machine description, e.g., \"Dual quad-core Xeon 3 GHz\"", default=None)
-    parser.add_option("-n", "--ncores", type="int", default=1,
-                      help="number of processor cores [default=%default]")
-    parser.add_option("-g", "--gflops", metavar="GFLOPS", type="float", default=3.0,
-                      help="estimated GFLOPS per core [default=%default]")
-    parser.add_option("-m", "--max-pipes-and-stages", metavar="MAX", type="int", default=16,
-                      help="maximum number of pipes and stages to use [default=%default]")
-    (options, args) = parser.parse_args()
-    if len(args) != 1:
-        parser.print_help()
-        raise SystemExit, 1
-
-    output_filename = args[0]
-
-    shell = os.popen("/bin/sh", "w")
-    
-    write_shell_script(shell,
-                       output_filename,
-                       options.description,
-                       options.ncores,
-                       options.gflops,
-                       options.max_pipes_and_stages)
-    
-if __name__ == '__main__':
-    main()
-
diff --git a/gnuradio-examples/python/mp-sched/synthetic.py b/gnuradio-examples/python/mp-sched/synthetic.py
deleted file mode 100755
index e1fcb20bd2..0000000000
--- a/gnuradio-examples/python/mp-sched/synthetic.py
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2008 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-from gnuradio import gr, gru, eng_notation, blks2
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-import os
-
-
-class pipeline(gr.hier_block2):
-    def __init__(self, nstages, ntaps=256):
-        """
-        Create a pipeline of nstages of gr.fir_filter_fff's connected in serial
-        terminating in a gr.null_sink.
-        """
-        gr.hier_block2.__init__(self, "pipeline",
-                                gr.io_signature(1, 1, gr.sizeof_float),
-                                gr.io_signature(0, 0, 0))
-        taps = ntaps*[1.0/ntaps]
-        upstream = self
-        for i in range(nstages):
-            op = gr.fir_filter_fff(1, taps)
-            self.connect(upstream, op)
-            upstream = op
-
-        self.connect(upstream, gr.null_sink(gr.sizeof_float))
-        
-
-class top(gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        default_nsamples = 10e6
-        parser=OptionParser(option_class=eng_option)
-        parser.add_option("-p", "--npipelines", type="intx", default=1,
-                          metavar="NPIPES", help="the number of pipelines to create (default=%default)")
-        parser.add_option("-s", "--nstages", type="intx", default=1,
-                          metavar="NSTAGES", help="the number of stages in each pipeline (default=%default)")
-        parser.add_option("-N", "--nsamples", type="eng_float", default=default_nsamples,
-                          help=("the number of samples to run through the graph (default=%s)" %
-                                (eng_notation.num_to_str(default_nsamples))))
-        parser.add_option("-m", "--machine-readable", action="store_true", default=False,
-                          help="enable machine readable output")
-
-        (options, args) = parser.parse_args()
-        if len(args) != 0:
-            parser.print_help()
-            raise SystemExit, 1
-
-        self.npipes = options.npipelines
-        self.nstages = options.nstages
-        self.nsamples = options.nsamples
-        self.machine_readable = options.machine_readable
-
-        ntaps = 256
-
-        # Something vaguely like floating point ops
-        self.flop = 2 * ntaps * options.npipelines * options.nstages * options.nsamples
-
-        src = gr.null_source(gr.sizeof_float)
-        head = gr.head(gr.sizeof_float, int(options.nsamples))
-        self.connect(src, head)
-
-        for n in range(options.npipelines):
-            self.connect(head, pipeline(options.nstages, ntaps))
-
-
-def time_it(tb):
-    start = os.times()
-    tb.run()
-    stop = os.times()
-    delta = map((lambda a, b: a-b), stop, start)
-    user, sys, childrens_user, childrens_sys, real = delta
-    total_user = user + childrens_user
-    total_sys  = sys + childrens_sys
-    if tb.machine_readable:
-        print "%3d %3d %.3e %7.3f %7.3f %7.3f %7.3f %.6e %.3e" % (
-            tb.npipes, tb.nstages, tb.nsamples, real, total_user, total_sys, (total_user+total_sys)/real, tb.flop, tb.flop/real)
-    else:
-        print "npipes           %7d"   % (tb.npipes,)
-        print "nstages          %7d"   % (tb.nstages,)
-        print "nsamples         %s"    % (eng_notation.num_to_str(tb.nsamples),)
-        print "real             %7.3f" % (real,)
-        print "user             %7.3f" % (total_user,)
-        print "sys              %7.3f" % (total_sys,)
-        print "(user+sys)/real  %7.3f" % ((total_user + total_sys)/real,)
-        print "pseudo_flop      %s"    % (eng_notation.num_to_str(tb.flop),)
-        print "pseudo_flop/real %s"    % (eng_notation.num_to_str(tb.flop/real),)
-
-
-if __name__ == "__main__":
-    try:
-        tb = top()
-        time_it(tb)
-    except KeyboardInterrupt:
-        raise SystemExit, 128
-    
-    
-    
-
diff --git a/gnuradio-examples/python/mp-sched/wfm_rcv_pll_to_wav.py b/gnuradio-examples/python/mp-sched/wfm_rcv_pll_to_wav.py
deleted file mode 100755
index 3971d8b738..0000000000
--- a/gnuradio-examples/python/mp-sched/wfm_rcv_pll_to_wav.py
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2005,2006,2007 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, gru, eng_notation, optfir
-from gnuradio import audio
-from gnuradio import blks2
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-import sys
-import math
-
-class wfm_rx_block (gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        usage = "usage: %prog [options] input-samples-320kS.dat output.wav"
-        parser=OptionParser(option_class=eng_option, usage=usage)
-        parser.add_option("-V", "--volume", type="eng_float", default=None,
-                          help="set volume (default is midpoint)")
-
-        (options, args) = parser.parse_args()
-        if len(args) != 2:
-            parser.print_help()
-            sys.exit(1)
-        
-        input_filename = args[0]
-        output_filename = args[1]
-
-        self.vol = 0
-        
-        # build graph
-        
-        self.src = gr.file_source(gr.sizeof_gr_complex, input_filename, False)
-
-        adc_rate = 64e6                             # 64 MS/s
-        usrp_decim = 200
-        usrp_rate = adc_rate / usrp_decim           # 320 kS/s
-        chanfilt_decim = 1
-        demod_rate = usrp_rate / chanfilt_decim
-        audio_decimation = 10
-        audio_rate = demod_rate / audio_decimation  # 32 kHz
-
-
-        chan_filt_coeffs = optfir.low_pass (1,           # gain
-                                            usrp_rate,   # sampling rate
-                                            80e3,        # passband cutoff
-                                            115e3,       # stopband cutoff
-                                            0.1,         # passband ripple
-                                            60)          # stopband attenuation
-        #print len(chan_filt_coeffs)
-        chan_filt = gr.fir_filter_ccf (chanfilt_decim, chan_filt_coeffs)
-
-
-        #self.guts = blks2.wfm_rcv (demod_rate, audio_decimation)
-        self.guts = blks2.wfm_rcv_pll (demod_rate, audio_decimation)
-
-        # FIXME rework {add,multiply}_const_* to handle multiple streams
-        self.volume_control_l = gr.multiply_const_ff(self.vol)
-        self.volume_control_r = gr.multiply_const_ff(self.vol)
-
-        # wave file as final sink
-        if 1:
-            sink = gr.wavfile_sink(output_filename, 2, int(audio_rate), 16)
-        else:
-            sink = audio.sink (int (audio_rate),
-                               options.audio_output,
-                               False)   # ok_to_block
-        
-        # now wire it all together
-        self.connect (self.src, chan_filt, self.guts)
-        self.connect ((self.guts, 0), self.volume_control_l, (sink, 0))
-        self.connect ((self.guts, 1), self.volume_control_r, (sink, 1))
-        try:
-          self.guts.stereo_carrier_pll_recovery.squelch_enable(True)
-        except:
-          pass
-          #print "FYI: This implementation of the stereo_carrier_pll_recovery has no squelch implementation yet"
-
-        if options.volume is None:
-            g = self.volume_range()
-            options.volume = float(g[0]+g[1])/2
-
-        # set initial values
-
-        self.set_vol(options.volume)
-        try:
-          self.guts.stereo_carrier_pll_recovery.set_lock_threshold(options.squelch)
-        except:
-          pass
-          #print "FYI: This implementation of the stereo_carrier_pll_recovery has no squelch implementation yet"
-
-
-    def set_vol (self, vol):
-        g = self.volume_range()
-        self.vol = max(g[0], min(g[1], vol))
-        self.volume_control_l.set_k(10**(self.vol/10))
-        self.volume_control_r.set_k(10**(self.vol/10))
-
-    def volume_range(self):
-        return (-20.0, 0.0, 0.5)
-        
-
-if __name__ == '__main__':
-    tb = wfm_rx_block()
-    try:
-        tb.run()
-    except KeyboardInterrupt:
-        pass
diff --git a/gnuradio-examples/python/network/CMakeLists.txt b/gnuradio-examples/python/network/CMakeLists.txt
deleted file mode 100644
index e70403ba0b..0000000000
--- a/gnuradio-examples/python/network/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-GR_PYTHON_INSTALL(PROGRAMS
-  audio_sink.py
-  audio_source.py
-  dial_tone_sink.py
-  dial_tone_source.py
-  vector_sink.py
-  vector_source.py
-  DESTINATION ${GR_PKG_DATA_DIR}/examples/network
-  COMPONENT "gnuradio_examples"
-)
-
diff --git a/gnuradio-examples/python/network/audio_sink.py b/gnuradio-examples/python/network/audio_sink.py
deleted file mode 100755
index eb18a75aa2..0000000000
--- a/gnuradio-examples/python/network/audio_sink.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2007,2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-class audio_sink(gr.top_block):
-    def __init__(self, host, port, pkt_size, sample_rate, eof, wait):
-        gr.top_block.__init__(self, "audio_sink")
-        src = gr.udp_source(gr.sizeof_float, host, port, pkt_size,
-                            eof=eof, wait=wait)
-        dst = audio.sink(sample_rate)
-        self.connect(src, dst)
-        
-if __name__ == '__main__':
-    parser = OptionParser(option_class=eng_option)
-    parser.add_option("", "--host", type="string", default="0.0.0.0",
-                      help="local host name (domain name or IP address)")
-    parser.add_option("", "--port", type="int", default=65500,
-                      help="port value to listen to for connection")
-    parser.add_option("", "--packet-size", type="int", default=1472,
-                      help="packet size.")
-    parser.add_option("-r", "--sample-rate", type="int", default=32000,
-                      help="audio signal sample rate [default=%default]")
-    parser.add_option("", "--no-eof", action="store_true", default=False,
-                      help="don't send EOF on disconnect")
-    parser.add_option("", "--no-wait", action="store_true", default=False,
-                      help="don't wait for source")
-    (options, args) = parser.parse_args()
-    if len(args) != 0:
-        parser.print_help()
-        raise SystemExit, 1
-
-    # Create an instance of a hierarchical block
-    top_block = audio_sink(options.host, options.port,
-                           options.packet_size, options.sample_rate,
-                           not options.no_eof, not options.no_wait)
-    
-    try:    
-        # Run forever
-        top_block.run()
-    except KeyboardInterrupt:
-        # Ctrl-C exits
-        pass
-    
diff --git a/gnuradio-examples/python/network/audio_source.py b/gnuradio-examples/python/network/audio_source.py
deleted file mode 100755
index 5818ccbd8b..0000000000
--- a/gnuradio-examples/python/network/audio_source.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2007,2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-class audio_source(gr.top_block):
-    def __init__(self, host, port, pkt_size, sample_rate, eof):
-        gr.top_block.__init__(self, "audio_source")
-        self.audio = audio.source(sample_rate)
-	self.sink = gr.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
-        self.connect(self.audio, self.sink)
-
-if __name__ == '__main__':
-    parser = OptionParser(option_class=eng_option)
-    parser.add_option("", "--host", type="string", default="localhost",
-                      help="Remote host name (domain name or IP address")
-    parser.add_option("", "--port", type="int", default=65500,
-                      help="port number to connect to")
-    parser.add_option("", "--packet-size", type="int", default=1472,
-                      help="packet size.")
-    parser.add_option("-r", "--sample-rate", type="int", default=32000 ,
-                      help="audio signal sample rate [default=%default]")
-    parser.add_option("", "--no-eof", action="store_true", default=False,
-                      help="don't send EOF on disconnect")
-    (options, args) = parser.parse_args()
-    if len(args) != 0:
-        parser.print_help()
-        raise SystemExit, 1
-
-    # Create an instance of a hierarchical block
-    top_block = audio_source(options.host, options.port,
-                             options.packet_size, options.sample_rate,
-                             not options.no_eof)
-    
-    try:    
-        # Run forever
-        top_block.run()
-    except KeyboardInterrupt:
-        # Ctrl-C exits
-        pass
-    
diff --git a/gnuradio-examples/python/network/dial_tone_sink.py b/gnuradio-examples/python/network/dial_tone_sink.py
deleted file mode 100755
index 1b9009552e..0000000000
--- a/gnuradio-examples/python/network/dial_tone_sink.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2007,2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-class dial_tone_sink(gr.top_block):
-    def __init__(self, host, port, pkt_size, sample_rate, eof, wait):
-        gr.top_block.__init__(self, "dial_tone_sink")
-        udp = gr.udp_source(gr.sizeof_float, host, port, pkt_size,
-                            eof=eof, wait=wait)
-        sink = audio.sink(sample_rate)
-        self.connect(udp, sink)
-        
-if __name__ == '__main__':
-    parser = OptionParser(option_class=eng_option)
-    parser.add_option("", "--host", type="string", default="0.0.0.0",
-                      help="local host name (domain name or IP address)")
-    parser.add_option("", "--port", type="int", default=65500,
-                      help="port value to listen to for connection")
-    parser.add_option("", "--packet-size", type="int", default=1472,
-                      help="packet size.")
-    parser.add_option("-r", "--sample-rate", type="int", default=8000,
-                      help="audio signal sample rate [default=%default]")
-    parser.add_option("", "--no-eof", action="store_true", default=False,
-                      help="don't send EOF on disconnect")
-    parser.add_option("", "--no-wait", action="store_true", default=False,
-                      help="don't wait for source")
-    (options, args) = parser.parse_args()
-    if len(args) != 0:
-        parser.print_help()
-        raise SystemExit, 1
-
-    # Create an instance of a hierarchical block
-    top_block = dial_tone_sink(options.host, options.port,
-                               options.packet_size, options.sample_rate,
-                               not options.no_eof, not options.no_wait)
-    
-    try:    
-        # Run forever
-        top_block.run()
-    except KeyboardInterrupt:
-        # Ctrl-C exits
-        pass
-    
diff --git a/gnuradio-examples/python/network/dial_tone_source.py b/gnuradio-examples/python/network/dial_tone_source.py
deleted file mode 100755
index 766ecf16d8..0000000000
--- a/gnuradio-examples/python/network/dial_tone_source.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2007,2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-class dial_tone_source(gr.top_block):
-    def __init__(self, host, port, pkt_size, sample_rate, eof):
-        gr.top_block.__init__(self, "dial_tone_source")
-
-        amplitude = 0.3
-        src0 = gr.sig_source_f (sample_rate, gr.GR_SIN_WAVE, 350, amplitude)
-        src1 = gr.sig_source_f (sample_rate, gr.GR_SIN_WAVE, 440, amplitude)
-        add = gr.add_ff()
-
-        # Throttle needed here to account for the other side's audio card sampling rate
-	thr = gr.throttle(gr.sizeof_float, sample_rate)
-	sink = gr.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
-	self.connect(src0, (add, 0))
-	self.connect(src1, (add, 1))
-	self.connect(add, thr, sink)
-
-if __name__ == '__main__':
-    parser = OptionParser(option_class=eng_option)
-    parser.add_option("", "--host", type="string", default="localhost",
-                      help="Remote host name (domain name or IP address")
-    parser.add_option("", "--port", type="int", default=65500,
-                      help="port number to connect to")
-    parser.add_option("", "--packet-size", type="int", default=1472,
-                      help="packet size.")
-    parser.add_option("-r", "--sample-rate", type="int", default=8000,
-                      help="audio signal sample rate [default=%default]")
-    parser.add_option("", "--no-eof", action="store_true", default=False,
-                      help="don't send EOF on disconnect")
-    (options, args) = parser.parse_args()
-    if len(args) != 0:
-        parser.print_help()
-        raise SystemExit, 1
-
-    # Create an instance of a hierarchical block
-    top_block = dial_tone_source(options.host, options.port,
-                                 options.packet_size, options.sample_rate,
-                                 not options.no_eof)
-    
-    try:    
-        # Run forever
-        top_block.run()
-    except KeyboardInterrupt:
-        # Ctrl-C exits
-        pass
diff --git a/gnuradio-examples/python/network/vector_sink.py b/gnuradio-examples/python/network/vector_sink.py
deleted file mode 100755
index 5d73858a35..0000000000
--- a/gnuradio-examples/python/network/vector_sink.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-class vector_sink(gr.top_block):
-    def __init__(self, host, port, pkt_size, eof, wait):
-        gr.top_block.__init__(self, "vector_sink")
-
-        udp = gr.udp_source(gr.sizeof_float, host, port, pkt_size,
-                            eof=eof, wait=wait)
-        sink = gr.file_sink(gr.sizeof_float, "received.dat")
-        self.connect(udp, sink)
-
-if __name__ == "__main__":
-    parser = OptionParser(option_class=eng_option)
-    parser.add_option("", "--host", type="string", default="0.0.0.0",
-                      help="local host name (domain name or IP address)")
-    parser.add_option("", "--port", type="int", default=65500,
-                      help="port value to listen to for connection")
-    parser.add_option("", "--packet-size", type="int", default=1471,
-                      help="packet size.")
-    parser.add_option("", "--no-eof", action="store_true", default=False,
-                      help="don't send EOF on disconnect")
-    parser.add_option("", "--no-wait", action="store_true", default=False,
-                      help="don't wait for source")
-    (options, args) = parser.parse_args()
-    if len(args) != 0:
-        parser.print_help()
-        raise SystemExit, 1
-    
-    # Create an instance of a hierarchical block
-    top_block = vector_sink(options.host, options.port,
-                            options.packet_size,
-                            not options.no_eof, not options.no_wait)
-    
-    try:    
-        # Run forever
-        top_block.run()
-    except KeyboardInterrupt:
-        # Ctrl-C exits
-        pass
-    
diff --git a/gnuradio-examples/python/network/vector_source.py b/gnuradio-examples/python/network/vector_source.py
deleted file mode 100755
index 0e7d678445..0000000000
--- a/gnuradio-examples/python/network/vector_source.py
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-class vector_source(gr.top_block):
-    def __init__(self, host, port, pkt_size, eof):
-        gr.top_block.__init__(self, "vector_source")
-        data = [i*0.01 for i in range(1000)]
-        vec = gr.vector_source_f(data, True)
-        udp = gr.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
-        self.connect(vec, udp)
-
-if __name__ == '__main__':
-    parser = OptionParser(option_class=eng_option)
-    parser.add_option("", "--host", type="string", default="localhost",
-                      help="Remote host name (domain name or IP address")
-    parser.add_option("", "--port", type="int", default=65500,
-                      help="port number to connect to")
-    parser.add_option("", "--packet-size", type="int", default=1471,
-                      help="packet size.")
-    parser.add_option("", "--no-eof", action="store_true", default=False,
-                      help="don't send EOF on disconnect")
-    (options, args) = parser.parse_args()
-    if len(args) != 0:
-        parser.print_help()
-        raise SystemExit, 1
-
-# Create an instance of a hierarchical block
-    top_block = vector_source(options.host, options.port, options.packet_size,
-                              not options.no_eof)
-    
-    try:    
-        # Run forever
-        top_block.run()
-    except KeyboardInterrupt:
-        # Ctrl-C exits
-        pass
-    
diff --git a/gnuradio-examples/python/pfb/CMakeLists.txt b/gnuradio-examples/python/pfb/CMakeLists.txt
deleted file mode 100644
index 88fdf2eadb..0000000000
--- a/gnuradio-examples/python/pfb/CMakeLists.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-include(GrPython)
-
-GR_PYTHON_INSTALL(PROGRAMS
-  channelize.py
-  chirp_channelize.py
-  decimate.py
-  fmtest.py
-  interpolate.py
-  resampler_demo.grc
-  resampler.py
-  synth_filter.py
-  synth_to_chan.py
-  reconstruction.py
-  DESTINATION ${GR_PKG_DATA_DIR}/examples/pfb
-  COMPONENT "gnuradio_examples"
-)
-
diff --git a/gnuradio-examples/python/pfb/channelize.py b/gnuradio-examples/python/pfb/channelize.py
deleted file mode 100755
index 2fcb14a360..0000000000
--- a/gnuradio-examples/python/pfb/channelize.py
+++ /dev/null
@@ -1,191 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2009 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys, time
-
-try:
-    import scipy
-    from scipy import fftpack
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-    from pylab import mlab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-class pfb_top_block(gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        self._N = 2000000        # number of samples to use
-        self._fs = 9000          # initial sampling rate
-        self._M = 9              # Number of channels to channelize
-
-        # Create a set of taps for the PFB channelizer
-        self._taps = gr.firdes.low_pass_2(1, self._fs, 475.50, 50, 
-                                          attenuation_dB=100, window=gr.firdes.WIN_BLACKMAN_hARRIS)
-
-        # Calculate the number of taps per channel for our own information
-        tpc = scipy.ceil(float(len(self._taps)) /  float(self._M))
-        print "Number of taps:     ", len(self._taps)
-        print "Number of channels: ", self._M
-        print "Taps per channel:   ", tpc
-        
-        # Create a set of signals at different frequencies
-        #   freqs lists the frequencies of the signals that get stored 
-        #   in the list "signals", which then get summed together
-        self.signals = list()
-        self.add = gr.add_cc()
-        freqs = [-4070, -3050, -2030, -1010, 10, 1020, 2040, 3060, 4080]
-        for i in xrange(len(freqs)):
-            self.signals.append(gr.sig_source_c(self._fs, gr.GR_SIN_WAVE, freqs[i], 1))
-            self.connect(self.signals[i], (self.add,i))
-
-        self.head = gr.head(gr.sizeof_gr_complex, self._N)
-
-        # Construct the channelizer filter
-        self.pfb = blks2.pfb_channelizer_ccf(self._M, self._taps, 1)
-
-        # Construct a vector sink for the input signal to the channelizer
-        self.snk_i = gr.vector_sink_c()
-
-        # Connect the blocks
-        self.connect(self.add, self.head, self.pfb)
-        self.connect(self.add, self.snk_i)
-
-        # Use this to play with the channel mapping
-        #self.pfb.set_channel_map([5,6,7,8,0,1,2,3,4])
-        
-        # Create a vector sink for each of M output channels of the filter and connect it
-        self.snks = list()
-        for i in xrange(self._M):
-            self.snks.append(gr.vector_sink_c())
-            self.connect((self.pfb, i), self.snks[i])
-                             
-
-def main():
-    tstart = time.time()
-    
-    tb = pfb_top_block()
-    tb.run()
-
-    tend = time.time()
-    print "Run time: %f" % (tend - tstart)
-
-    if 1:
-        fig_in = pylab.figure(1, figsize=(16,9), facecolor="w")
-        fig1 = pylab.figure(2, figsize=(16,9), facecolor="w")
-        fig2 = pylab.figure(3, figsize=(16,9), facecolor="w")
-        
-        Ns = 1000
-        Ne = 10000
-
-        fftlen = 8192
-        winfunc = scipy.blackman
-        fs = tb._fs
-
-        # Plot the input signal on its own figure
-        d = tb.snk_i.data()[Ns:Ne]
-        spin_f = fig_in.add_subplot(2, 1, 1)
-
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_in = 10.0*scipy.log10(abs(X))
-        f_in = scipy.arange(-fs/2.0, fs/2.0, fs/float(X_in.size))
-        pin_f = spin_f.plot(f_in, X_in, "b")
-        spin_f.set_xlim([min(f_in), max(f_in)+1]) 
-        spin_f.set_ylim([-200.0, 50.0]) 
-
-        spin_f.set_title("Input Signal", weight="bold")
-        spin_f.set_xlabel("Frequency (Hz)")
-        spin_f.set_ylabel("Power (dBW)")
-
-
-        Ts = 1.0/fs
-        Tmax = len(d)*Ts
-        
-        t_in = scipy.arange(0, Tmax, Ts)
-        x_in = scipy.array(d)
-        spin_t = fig_in.add_subplot(2, 1, 2)
-        pin_t = spin_t.plot(t_in, x_in.real, "b")
-        pin_t = spin_t.plot(t_in, x_in.imag, "r")
-
-        spin_t.set_xlabel("Time (s)")
-        spin_t.set_ylabel("Amplitude")
-
-        Ncols = int(scipy.floor(scipy.sqrt(tb._M)))
-        Nrows = int(scipy.floor(tb._M / Ncols))
-        if(tb._M % Ncols != 0):
-            Nrows += 1
-
-        # Plot each of the channels outputs. Frequencies on Figure 2 and
-        # time signals on Figure 3
-        fs_o = tb._fs / tb._M
-        Ts_o = 1.0/fs_o
-        Tmax_o = len(d)*Ts_o
-        for i in xrange(len(tb.snks)):
-            # remove issues with the transients at the beginning
-            # also remove some corruption at the end of the stream
-            #    this is a bug, probably due to the corner cases
-            d = tb.snks[i].data()[Ns:Ne]
-
-            sp1_f = fig1.add_subplot(Nrows, Ncols, 1+i)
-            X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs_o,
-                              window = lambda d: d*winfunc(fftlen),
-                              scale_by_freq=True)
-            X_o = 10.0*scipy.log10(abs(X))
-            f_o = scipy.arange(-fs_o/2.0, fs_o/2.0, fs_o/float(X_o.size))
-            p2_f = sp1_f.plot(f_o, X_o, "b")
-            sp1_f.set_xlim([min(f_o), max(f_o)+1]) 
-            sp1_f.set_ylim([-200.0, 50.0]) 
-
-            sp1_f.set_title(("Channel %d" % i), weight="bold")
-            sp1_f.set_xlabel("Frequency (Hz)")
-            sp1_f.set_ylabel("Power (dBW)")
-
-            x_o = scipy.array(d)
-            t_o = scipy.arange(0, Tmax_o, Ts_o)
-            sp2_o = fig2.add_subplot(Nrows, Ncols, 1+i)
-            p2_o = sp2_o.plot(t_o, x_o.real, "b")
-            p2_o = sp2_o.plot(t_o, x_o.imag, "r")
-            sp2_o.set_xlim([min(t_o), max(t_o)+1]) 
-            sp2_o.set_ylim([-2, 2]) 
-
-            sp2_o.set_title(("Channel %d" % i), weight="bold")
-            sp2_o.set_xlabel("Time (s)")
-            sp2_o.set_ylabel("Amplitude")
-
-        pylab.show()
-
-
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
-    
diff --git a/gnuradio-examples/python/pfb/chirp_channelize.py b/gnuradio-examples/python/pfb/chirp_channelize.py
deleted file mode 100755
index 951255d3b0..0000000000
--- a/gnuradio-examples/python/pfb/chirp_channelize.py
+++ /dev/null
@@ -1,203 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2009 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys, time
-
-try:
-    import scipy
-    from scipy import fftpack
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-    from pylab import mlab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-class pfb_top_block(gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        self._N = 200000         # number of samples to use
-        self._fs = 9000          # initial sampling rate
-        self._M = 9              # Number of channels to channelize
-
-        # Create a set of taps for the PFB channelizer
-        self._taps = gr.firdes.low_pass_2(1, self._fs, 500, 20, 
-                                          attenuation_dB=10, window=gr.firdes.WIN_BLACKMAN_hARRIS)
-
-        # Calculate the number of taps per channel for our own information
-        tpc = scipy.ceil(float(len(self._taps)) /  float(self._M))
-        print "Number of taps:     ", len(self._taps)
-        print "Number of channels: ", self._M
-        print "Taps per channel:   ", tpc
-
-        repeated = True
-        if(repeated):
-            self.vco_input = gr.sig_source_f(self._fs, gr.GR_SIN_WAVE, 0.25, 110)
-        else:
-            amp = 100
-            data = scipy.arange(0, amp, amp/float(self._N))
-            self.vco_input = gr.vector_source_f(data, False)
-            
-        # Build a VCO controlled by either the sinusoid or single chirp tone
-        # Then convert this to a complex signal
-        self.vco = gr.vco_f(self._fs, 225, 1)
-        self.f2c = gr.float_to_complex()
-
-        self.head = gr.head(gr.sizeof_gr_complex, self._N)
-
-        # Construct the channelizer filter
-        self.pfb = blks2.pfb_channelizer_ccf(self._M, self._taps)
-
-        # Construct a vector sink for the input signal to the channelizer
-        self.snk_i = gr.vector_sink_c()
-
-        # Connect the blocks
-        self.connect(self.vco_input, self.vco, self.f2c)
-        self.connect(self.f2c, self.head, self.pfb)
-        self.connect(self.f2c, self.snk_i)
-
-        # Create a vector sink for each of M output channels of the filter and connect it
-        self.snks = list()
-        for i in xrange(self._M):
-            self.snks.append(gr.vector_sink_c())
-            self.connect((self.pfb, i), self.snks[i])
-                             
-
-def main():
-    tstart = time.time()
-    
-    tb = pfb_top_block()
-    tb.run()
-
-    tend = time.time()
-    print "Run time: %f" % (tend - tstart)
-
-    if 1:
-        fig_in = pylab.figure(1, figsize=(16,9), facecolor="w")
-        fig1 = pylab.figure(2, figsize=(16,9), facecolor="w")
-        fig2 = pylab.figure(3, figsize=(16,9), facecolor="w")
-        fig3 = pylab.figure(4, figsize=(16,9), facecolor="w")
-        
-        Ns = 650
-        Ne = 20000
-
-        fftlen = 8192
-        winfunc = scipy.blackman
-        fs = tb._fs
-
-        # Plot the input signal on its own figure
-        d = tb.snk_i.data()[Ns:Ne]
-        spin_f = fig_in.add_subplot(2, 1, 1)
-
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_in = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_in = scipy.arange(-fs/2.0, fs/2.0, fs/float(X_in.size))
-        pin_f = spin_f.plot(f_in, X_in, "b")
-        spin_f.set_xlim([min(f_in), max(f_in)+1]) 
-        spin_f.set_ylim([-200.0, 50.0]) 
-
-        spin_f.set_title("Input Signal", weight="bold")
-        spin_f.set_xlabel("Frequency (Hz)")
-        spin_f.set_ylabel("Power (dBW)")
-
-
-        Ts = 1.0/fs
-        Tmax = len(d)*Ts
-        
-        t_in = scipy.arange(0, Tmax, Ts)
-        x_in = scipy.array(d)
-        spin_t = fig_in.add_subplot(2, 1, 2)
-        pin_t = spin_t.plot(t_in, x_in.real, "b")
-        pin_t = spin_t.plot(t_in, x_in.imag, "r")
-
-        spin_t.set_xlabel("Time (s)")
-        spin_t.set_ylabel("Amplitude")
-
-        Ncols = int(scipy.floor(scipy.sqrt(tb._M)))
-        Nrows = int(scipy.floor(tb._M / Ncols))
-        if(tb._M % Ncols != 0):
-            Nrows += 1
-
-        # Plot each of the channels outputs. Frequencies on Figure 2 and
-        # time signals on Figure 3
-        fs_o = tb._fs / tb._M
-        Ts_o = 1.0/fs_o
-        Tmax_o = len(d)*Ts_o
-        for i in xrange(len(tb.snks)):
-            # remove issues with the transients at the beginning
-            # also remove some corruption at the end of the stream
-            #    this is a bug, probably due to the corner cases
-            d = tb.snks[i].data()[Ns:Ne]
-
-            sp1_f = fig1.add_subplot(Nrows, Ncols, 1+i)
-            X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs_o,
-                              window = lambda d: d*winfunc(fftlen),
-                              scale_by_freq=True)
-            X_o = 10.0*scipy.log10(abs(X))
-            f_o = freq
-            p2_f = sp1_f.plot(f_o, X_o, "b")
-            sp1_f.set_xlim([min(f_o), max(f_o)+1]) 
-            sp1_f.set_ylim([-200.0, 50.0]) 
-
-            sp1_f.set_title(("Channel %d" % i), weight="bold")
-            sp1_f.set_xlabel("Frequency (Hz)")
-            sp1_f.set_ylabel("Power (dBW)")
-
-            x_o = scipy.array(d)
-            t_o = scipy.arange(0, Tmax_o, Ts_o)
-            sp2_o = fig2.add_subplot(Nrows, Ncols, 1+i)
-            p2_o = sp2_o.plot(t_o, x_o.real, "b")
-            p2_o = sp2_o.plot(t_o, x_o.imag, "r")
-            sp2_o.set_xlim([min(t_o), max(t_o)+1]) 
-            sp2_o.set_ylim([-2, 2]) 
-
-            sp2_o.set_title(("Channel %d" % i), weight="bold")
-            sp2_o.set_xlabel("Time (s)")
-            sp2_o.set_ylabel("Amplitude")
-
-
-            sp3 = fig3.add_subplot(1,1,1)
-            p3 = sp3.plot(t_o, x_o.real)
-            sp3.set_xlim([min(t_o), max(t_o)+1]) 
-            sp3.set_ylim([-2, 2]) 
-
-        sp3.set_title("All Channels")
-        sp3.set_xlabel("Time (s)")
-        sp3.set_ylabel("Amplitude") 
-
-        pylab.show()
-
-
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
-    
diff --git a/gnuradio-examples/python/pfb/decimate.py b/gnuradio-examples/python/pfb/decimate.py
deleted file mode 100755
index 643a2c2417..0000000000
--- a/gnuradio-examples/python/pfb/decimate.py
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2009 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys, time
-
-try:
-    import scipy
-    from scipy import fftpack
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-    from pylab import mlab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-class pfb_top_block(gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        self._N = 10000000      # number of samples to use
-        self._fs = 10000        # initial sampling rate
-        self._decim = 20        # Decimation rate
-        
-        # Generate the prototype filter taps for the decimators with a 200 Hz bandwidth
-        self._taps = gr.firdes.low_pass_2(1, self._fs, 200, 150,
-                                          attenuation_dB=120, window=gr.firdes.WIN_BLACKMAN_hARRIS)
-
-        # Calculate the number of taps per channel for our own information
-        tpc = scipy.ceil(float(len(self._taps)) /  float(self._decim))
-        print "Number of taps:     ", len(self._taps)
-        print "Number of filters:  ", self._decim
-        print "Taps per channel:   ", tpc
-        
-        # Build the input signal source
-        # We create a list of freqs, and a sine wave is generated and added to the source
-        # for each one of these frequencies.
-        self.signals = list()
-        self.add = gr.add_cc()
-        freqs = [10, 20, 2040]
-        for i in xrange(len(freqs)):
-            self.signals.append(gr.sig_source_c(self._fs, gr.GR_SIN_WAVE, freqs[i], 1))
-            self.connect(self.signals[i], (self.add,i))
-
-        self.head = gr.head(gr.sizeof_gr_complex, self._N)
-        
-        # Construct a PFB decimator filter
-        self.pfb = blks2.pfb_decimator_ccf(self._decim, self._taps, 0)
-
-        # Construct a standard FIR decimating filter
-        self.dec = gr.fir_filter_ccf(self._decim, self._taps)
-
-        self.snk_i = gr.vector_sink_c()
-
-        # Connect the blocks
-        self.connect(self.add, self.head, self.pfb)
-        self.connect(self.add, self.snk_i)
-
-        # Create the sink for the decimated siganl
-        self.snk = gr.vector_sink_c()
-        self.connect(self.pfb, self.snk)
-                             
-
-def main():
-    tb = pfb_top_block()
-
-    tstart = time.time()    
-    tb.run()
-    tend = time.time()
-    print "Run time: %f" % (tend - tstart)
-
-    if 1:
-        fig1 = pylab.figure(1, figsize=(16,9))
-        fig2 = pylab.figure(2, figsize=(16,9))
-        
-        Ns = 10000
-        Ne = 10000
-
-        fftlen = 8192
-        winfunc = scipy.blackman
-        fs = tb._fs
-
-        # Plot the input to the decimator
-
-        d = tb.snk_i.data()[Ns:Ns+Ne]
-        sp1_f = fig1.add_subplot(2, 1, 1)
-
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_in = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_in = scipy.arange(-fs/2.0, fs/2.0, fs/float(X_in.size))
-        p1_f = sp1_f.plot(f_in, X_in, "b")
-        sp1_f.set_xlim([min(f_in), max(f_in)+1]) 
-        sp1_f.set_ylim([-200.0, 50.0]) 
-
-        sp1_f.set_title("Input Signal", weight="bold")
-        sp1_f.set_xlabel("Frequency (Hz)")
-        sp1_f.set_ylabel("Power (dBW)")
-        
-        Ts = 1.0/fs
-        Tmax = len(d)*Ts
-
-        t_in = scipy.arange(0, Tmax, Ts)
-        x_in = scipy.array(d)
-        sp1_t = fig1.add_subplot(2, 1, 2)
-        p1_t = sp1_t.plot(t_in, x_in.real, "b")
-        p1_t = sp1_t.plot(t_in, x_in.imag, "r")
-        sp1_t.set_ylim([-tb._decim*1.1, tb._decim*1.1])
-
-        sp1_t.set_xlabel("Time (s)")
-        sp1_t.set_ylabel("Amplitude")
-
-        
-        # Plot the output of the decimator
-        fs_o = tb._fs / tb._decim
-
-        sp2_f = fig2.add_subplot(2, 1, 1)
-        d = tb.snk.data()[Ns:Ns+Ne]
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs_o,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_o = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_o = scipy.arange(-fs_o/2.0, fs_o/2.0, fs_o/float(X_o.size))
-        p2_f = sp2_f.plot(f_o, X_o, "b")
-        sp2_f.set_xlim([min(f_o), max(f_o)+1]) 
-        sp2_f.set_ylim([-200.0, 50.0]) 
-
-        sp2_f.set_title("PFB Decimated Signal", weight="bold")
-        sp2_f.set_xlabel("Frequency (Hz)")
-        sp2_f.set_ylabel("Power (dBW)")
-        
-
-        Ts_o = 1.0/fs_o
-        Tmax_o = len(d)*Ts_o
-
-        x_o = scipy.array(d)
-        t_o = scipy.arange(0, Tmax_o, Ts_o)
-        sp2_t = fig2.add_subplot(2, 1, 2)
-        p2_t = sp2_t.plot(t_o, x_o.real, "b-o")
-        p2_t = sp2_t.plot(t_o, x_o.imag, "r-o")
-        sp2_t.set_ylim([-2.5, 2.5])
-
-        sp2_t.set_xlabel("Time (s)")
-        sp2_t.set_ylabel("Amplitude")
-
-        pylab.show()
-
-
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
-    
diff --git a/gnuradio-examples/python/pfb/fmtest.py b/gnuradio-examples/python/pfb/fmtest.py
deleted file mode 100755
index 635ee4e9ed..0000000000
--- a/gnuradio-examples/python/pfb/fmtest.py
+++ /dev/null
@@ -1,225 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2009 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys, math, time
-
-try:
-    import scipy
-    from scipy import fftpack
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-
-class fmtx(gr.hier_block2):
-    def __init__(self, lo_freq, audio_rate, if_rate):
-
-        gr.hier_block2.__init__(self, "build_fm",
-                                gr.io_signature(1, 1, gr.sizeof_float),      # Input signature
-                                gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature
-
-        fmtx = blks2.nbfm_tx (audio_rate, if_rate, max_dev=5e3, tau=75e-6)
-        
-        # Local oscillator
-        lo = gr.sig_source_c (if_rate,        # sample rate
-                              gr.GR_SIN_WAVE, # waveform type
-                              lo_freq,        #frequency
-                              1.0,            # amplitude
-                              0)              # DC Offset
-        mixer = gr.multiply_cc ()
-    
-        self.connect (self, fmtx, (mixer, 0))
-        self.connect (lo, (mixer, 1))
-        self.connect (mixer, self)
-
-class fmtest(gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        self._nsamples = 1000000
-        self._audio_rate = 8000
-
-        # Set up N channels with their own baseband and IF frequencies
-        self._N = 5
-        chspacing = 16000
-        freq = [10, 20, 30, 40, 50]
-        f_lo = [0, 1*chspacing, -1*chspacing, 2*chspacing, -2*chspacing]
-
-        self._if_rate = 4*self._N*self._audio_rate
-
-        # Create a signal source and frequency modulate it
-        self.sum = gr.add_cc ()
-        for n in xrange(self._N):
-            sig = gr.sig_source_f(self._audio_rate, gr.GR_SIN_WAVE, freq[n], 0.5)
-            fm = fmtx(f_lo[n], self._audio_rate, self._if_rate)
-            self.connect(sig, fm)
-            self.connect(fm, (self.sum, n))
-
-        self.head = gr.head(gr.sizeof_gr_complex, self._nsamples)
-        self.snk_tx = gr.vector_sink_c()
-        self.channel = blks2.channel_model(0.1)
-
-        self.connect(self.sum, self.head, self.channel, self.snk_tx)
-
-
-        # Design the channlizer
-        self._M = 10
-        bw = chspacing/2.0
-        t_bw = chspacing/10.0
-        self._chan_rate = self._if_rate / self._M
-        self._taps = gr.firdes.low_pass_2(1, self._if_rate, bw, t_bw, 
-                                          attenuation_dB=100,
-                                          window=gr.firdes.WIN_BLACKMAN_hARRIS)
-        tpc = math.ceil(float(len(self._taps)) /  float(self._M))
-
-        print "Number of taps:     ", len(self._taps)
-        print "Number of channels: ", self._M
-        print "Taps per channel:   ", tpc
-        
-        self.pfb = blks2.pfb_channelizer_ccf(self._M, self._taps)
-        
-        self.connect(self.channel, self.pfb)
-        
-        # Create a file sink for each of M output channels of the filter and connect it
-        self.fmdet = list()
-        self.squelch = list()
-        self.snks = list()
-        for i in xrange(self._M):
-            self.fmdet.append(blks2.nbfm_rx(self._audio_rate, self._chan_rate))
-            self.squelch.append(blks2.standard_squelch(self._audio_rate*10))
-            self.snks.append(gr.vector_sink_f())
-            self.connect((self.pfb, i), self.fmdet[i], self.squelch[i], self.snks[i])
-
-    def num_tx_channels(self):
-        return self._N
-
-    def num_rx_channels(self):
-        return self._M
-
-def main():
-
-    fm = fmtest()
-
-    tstart = time.time()
-    fm.run()
-    tend = time.time()
-
-    if 1:
-        fig1 = pylab.figure(1, figsize=(12,10), facecolor="w")
-        fig2 = pylab.figure(2, figsize=(12,10), facecolor="w")
-        fig3 = pylab.figure(3, figsize=(12,10), facecolor="w")
-
-        Ns = 10000
-        Ne = 100000
-
-        fftlen = 8192
-        winfunc = scipy.blackman
-
-        # Plot transmitted signal
-        fs = fm._if_rate
-
-        d = fm.snk_tx.data()[Ns:Ns+Ne]
-        sp1_f = fig1.add_subplot(2, 1, 1)
-
-        X,freq = sp1_f.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                           window = lambda d: d*winfunc(fftlen),
-                           visible=False)
-        X_in = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_in = scipy.arange(-fs/2.0, fs/2.0, fs/float(X_in.size))
-        p1_f = sp1_f.plot(f_in, X_in, "b")
-        sp1_f.set_xlim([min(f_in), max(f_in)+1]) 
-        sp1_f.set_ylim([-120.0, 20.0]) 
-
-        sp1_f.set_title("Input Signal", weight="bold")
-        sp1_f.set_xlabel("Frequency (Hz)")
-        sp1_f.set_ylabel("Power (dBW)")
-
-        Ts = 1.0/fs
-        Tmax = len(d)*Ts
-        
-        t_in = scipy.arange(0, Tmax, Ts)
-        x_in = scipy.array(d)
-        sp1_t = fig1.add_subplot(2, 1, 2)
-        p1_t = sp1_t.plot(t_in, x_in.real, "b-o")
-        #p1_t = sp1_t.plot(t_in, x_in.imag, "r-o")
-        sp1_t.set_ylim([-5, 5])
-
-        # Set up the number of rows and columns for plotting the subfigures
-        Ncols = int(scipy.floor(scipy.sqrt(fm.num_rx_channels())))
-        Nrows = int(scipy.floor(fm.num_rx_channels() / Ncols))
-        if(fm.num_rx_channels() % Ncols != 0):
-            Nrows += 1
-
-        # Plot each of the channels outputs. Frequencies on Figure 2 and
-        # time signals on Figure 3
-        fs_o = fm._audio_rate
-        for i in xrange(len(fm.snks)):
-            # remove issues with the transients at the beginning
-            # also remove some corruption at the end of the stream
-            #    this is a bug, probably due to the corner cases
-            d = fm.snks[i].data()[Ns:Ne]
-
-            sp2_f = fig2.add_subplot(Nrows, Ncols, 1+i)
-            X,freq = sp2_f.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs_o,
-                               window = lambda d: d*winfunc(fftlen),
-                               visible=False)
-            #X_o = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-            X_o = 10.0*scipy.log10(abs(X))
-            #f_o = scipy.arange(-fs_o/2.0, fs_o/2.0, fs_o/float(X_o.size))
-            f_o = scipy.arange(0, fs_o/2.0, fs_o/2.0/float(X_o.size))
-            p2_f = sp2_f.plot(f_o, X_o, "b")
-            sp2_f.set_xlim([min(f_o), max(f_o)+0.1]) 
-            sp2_f.set_ylim([-120.0, 20.0]) 
-            sp2_f.grid(True)
-
-            sp2_f.set_title(("Channel %d" % i), weight="bold")
-            sp2_f.set_xlabel("Frequency (kHz)")
-            sp2_f.set_ylabel("Power (dBW)")
-
-
-            Ts = 1.0/fs_o
-            Tmax = len(d)*Ts
-            t_o = scipy.arange(0, Tmax, Ts)
-
-            x_t = scipy.array(d)
-            sp2_t = fig3.add_subplot(Nrows, Ncols, 1+i)
-            p2_t = sp2_t.plot(t_o, x_t.real, "b")
-            p2_t = sp2_t.plot(t_o, x_t.imag, "r")
-            sp2_t.set_xlim([min(t_o), max(t_o)+1]) 
-            sp2_t.set_ylim([-1, 1]) 
-
-            sp2_t.set_xlabel("Time (s)")
-            sp2_t.set_ylabel("Amplitude")
-
-
-        pylab.show()
-
-
-if __name__ == "__main__":
-    main()
diff --git a/gnuradio-examples/python/pfb/interpolate.py b/gnuradio-examples/python/pfb/interpolate.py
deleted file mode 100755
index 370cf26a72..0000000000
--- a/gnuradio-examples/python/pfb/interpolate.py
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2009 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys, time
-
-try:
-    import scipy
-    from scipy import fftpack
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-    from pylab import mlab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-class pfb_top_block(gr.top_block):
-    def __init__(self):
-        gr.top_block.__init__(self)
-
-        self._N = 100000        # number of samples to use
-        self._fs = 2000         # initial sampling rate
-        self._interp = 5        # Interpolation rate for PFB interpolator
-        self._ainterp = 5.5       # Resampling rate for the PFB arbitrary resampler
-
-        # Frequencies of the signals we construct 
-        freq1 = 100
-        freq2 = 200
-
-        # Create a set of taps for the PFB interpolator
-        # This is based on the post-interpolation sample rate
-        self._taps = gr.firdes.low_pass_2(self._interp, self._interp*self._fs, freq2+50, 50, 
-                                          attenuation_dB=120, window=gr.firdes.WIN_BLACKMAN_hARRIS)
-
-        # Create a set of taps for the PFB arbitrary resampler
-        # The filter size is the number of filters in the filterbank; 32 will give very low side-lobes,
-        # and larger numbers will reduce these even farther
-        # The taps in this filter are based on a sampling rate of the filter size since it acts
-        # internally as an interpolator.
-        flt_size = 32
-        self._taps2 = gr.firdes.low_pass_2(flt_size, flt_size*self._fs, freq2+50, 150, 
-                                           attenuation_dB=120, window=gr.firdes.WIN_BLACKMAN_hARRIS)
-
-        # Calculate the number of taps per channel for our own information
-        tpc = scipy.ceil(float(len(self._taps)) /  float(self._interp))
-        print "Number of taps:     ", len(self._taps)
-        print "Number of filters:  ", self._interp
-        print "Taps per channel:   ", tpc
-
-        # Create a couple of signals at different frequencies
-        self.signal1 = gr.sig_source_c(self._fs, gr.GR_SIN_WAVE, freq1, 0.5)
-        self.signal2 = gr.sig_source_c(self._fs, gr.GR_SIN_WAVE, freq2, 0.5)
-        self.signal = gr.add_cc()
-        
-        self.head = gr.head(gr.sizeof_gr_complex, self._N)
-
-        # Construct the PFB interpolator filter
-        self.pfb = blks2.pfb_interpolator_ccf(self._interp, self._taps)
-
-        # Construct the PFB arbitrary resampler filter
-        self.pfb_ar = blks2.pfb_arb_resampler_ccf(self._ainterp, self._taps2, flt_size)
-        self.snk_i = gr.vector_sink_c()
-
-        #self.pfb_ar.pfb.print_taps()
-        #self.pfb.pfb.print_taps()
-        
-        # Connect the blocks
-        self.connect(self.signal1, self.head, (self.signal,0))
-        self.connect(self.signal2, (self.signal,1))
-        self.connect(self.signal, self.pfb)
-        self.connect(self.signal, self.pfb_ar)
-        self.connect(self.signal, self.snk_i)
-
-        # Create the sink for the interpolated signals
-        self.snk1 = gr.vector_sink_c()
-        self.snk2 = gr.vector_sink_c()
-        self.connect(self.pfb, self.snk1)
-        self.connect(self.pfb_ar, self.snk2)
-                             
-
-def main():
-    tb = pfb_top_block()
-
-    tstart = time.time()
-    tb.run()
-    tend = time.time()
-    print "Run time: %f" % (tend - tstart)
-
-
-    if 1:
-        fig1 = pylab.figure(1, figsize=(12,10), facecolor="w")
-        fig2 = pylab.figure(2, figsize=(12,10), facecolor="w")
-        fig3 = pylab.figure(3, figsize=(12,10), facecolor="w")
-        
-        Ns = 10000
-        Ne = 10000
-
-        fftlen = 8192
-        winfunc = scipy.blackman
-
-        # Plot input signal
-        fs = tb._fs
-
-        d = tb.snk_i.data()[Ns:Ns+Ne]
-        sp1_f = fig1.add_subplot(2, 1, 1)
-
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_in = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_in = scipy.arange(-fs/2.0, fs/2.0, fs/float(X_in.size))
-        p1_f = sp1_f.plot(f_in, X_in, "b")
-        sp1_f.set_xlim([min(f_in), max(f_in)+1]) 
-        sp1_f.set_ylim([-200.0, 50.0]) 
-
-
-        sp1_f.set_title("Input Signal", weight="bold")
-        sp1_f.set_xlabel("Frequency (Hz)")
-        sp1_f.set_ylabel("Power (dBW)")
-
-        Ts = 1.0/fs
-        Tmax = len(d)*Ts
-        
-        t_in = scipy.arange(0, Tmax, Ts)
-        x_in = scipy.array(d)
-        sp1_t = fig1.add_subplot(2, 1, 2)
-        p1_t = sp1_t.plot(t_in, x_in.real, "b-o")
-        #p1_t = sp1_t.plot(t_in, x_in.imag, "r-o")
-        sp1_t.set_ylim([-2.5, 2.5])
-
-        sp1_t.set_title("Input Signal", weight="bold")
-        sp1_t.set_xlabel("Time (s)")
-        sp1_t.set_ylabel("Amplitude")
-
-
-        # Plot output of PFB interpolator
-        fs_int = tb._fs*tb._interp
-
-        sp2_f = fig2.add_subplot(2, 1, 1)
-        d = tb.snk1.data()[Ns:Ns+(tb._interp*Ne)]
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_o = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_o = scipy.arange(-fs_int/2.0, fs_int/2.0, fs_int/float(X_o.size))
-        p2_f = sp2_f.plot(f_o, X_o, "b")
-        sp2_f.set_xlim([min(f_o), max(f_o)+1]) 
-        sp2_f.set_ylim([-200.0, 50.0]) 
-
-        sp2_f.set_title("Output Signal from PFB Interpolator", weight="bold")
-        sp2_f.set_xlabel("Frequency (Hz)")
-        sp2_f.set_ylabel("Power (dBW)")
-
-        Ts_int = 1.0/fs_int
-        Tmax = len(d)*Ts_int
-
-        t_o = scipy.arange(0, Tmax, Ts_int)
-        x_o1 = scipy.array(d)
-        sp2_t = fig2.add_subplot(2, 1, 2)
-        p2_t = sp2_t.plot(t_o, x_o1.real, "b-o")
-        #p2_t = sp2_t.plot(t_o, x_o.imag, "r-o")
-        sp2_t.set_ylim([-2.5, 2.5])
-
-        sp2_t.set_title("Output Signal from PFB Interpolator", weight="bold")
-        sp2_t.set_xlabel("Time (s)")
-        sp2_t.set_ylabel("Amplitude")
-
-
-        # Plot output of PFB arbitrary resampler
-        fs_aint = tb._fs * tb._ainterp
-
-        sp3_f = fig3.add_subplot(2, 1, 1)
-        d = tb.snk2.data()[Ns:Ns+(tb._interp*Ne)]
-        X,freq = mlab.psd(d, NFFT=fftlen, noverlap=fftlen/4, Fs=fs,
-                          window = lambda d: d*winfunc(fftlen),
-                          scale_by_freq=True)
-        X_o = 10.0*scipy.log10(abs(fftpack.fftshift(X)))
-        f_o = scipy.arange(-fs_aint/2.0, fs_aint/2.0, fs_aint/float(X_o.size))
-        p3_f = sp3_f.plot(f_o, X_o, "b")
-        sp3_f.set_xlim([min(f_o), max(f_o)+1]) 
-        sp3_f.set_ylim([-200.0, 50.0]) 
-
-        sp3_f.set_title("Output Signal from PFB Arbitrary Resampler", weight="bold")
-        sp3_f.set_xlabel("Frequency (Hz)")
-        sp3_f.set_ylabel("Power (dBW)")
-
-        Ts_aint = 1.0/fs_aint
-        Tmax = len(d)*Ts_aint
-
-        t_o = scipy.arange(0, Tmax, Ts_aint)
-        x_o2 = scipy.array(d)
-        sp3_f = fig3.add_subplot(2, 1, 2)
-        p3_f = sp3_f.plot(t_o, x_o2.real, "b-o")
-        p3_f = sp3_f.plot(t_o, x_o1.real, "m-o")
-        #p3_f = sp3_f.plot(t_o, x_o2.imag, "r-o")
-        sp3_f.set_ylim([-2.5, 2.5])
-        
-        sp3_f.set_title("Output Signal from PFB Arbitrary Resampler", weight="bold")
-        sp3_f.set_xlabel("Time (s)")
-        sp3_f.set_ylabel("Amplitude")
-
-        pylab.show()
-
-
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
-    
diff --git a/gnuradio-examples/python/pfb/reconstruction.py b/gnuradio-examples/python/pfb/reconstruction.py
deleted file mode 100755
index c7909f7a56..0000000000
--- a/gnuradio-examples/python/pfb/reconstruction.py
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/env python
-
-import scipy, math, pylab
-from scipy import fftpack
-from gnuradio import gr, digital, blks2
-
-fftlen = 8192
-
-def main():
-    N = 10000
-    fs = 2000.0
-    Ts = 1.0/fs
-    t = scipy.arange(0, N*Ts, Ts)
-
-    # When playing with the number of channels, be careful about the filter
-    # specs and the channel map of the synthesizer set below.
-    nchans = 10
-
-    # Build the filter(s)
-    bw = 1000
-    tb = 400
-    proto_taps = gr.firdes.low_pass_2(1, nchans*fs, bw, tb, 80,
-                                      gr.firdes.WIN_BLACKMAN_hARRIS)
-    print "Filter length: ", len(proto_taps)
-
-
-    # Create a modulated signal
-    npwr = 0.01
-    data = scipy.random.randint(0, 256, N)
-    rrc_taps = gr.firdes.root_raised_cosine(1, 2, 1, 0.35, 41)
-
-    src = gr.vector_source_b(data.astype(scipy.uint8).tolist(), False)
-    mod = digital.bpsk_mod(samples_per_symbol=2)
-    chan = gr.channel_model(npwr)
-    rrc = gr.fft_filter_ccc(1, rrc_taps)
-
-    # Split it up into pieces
-    channelizer = blks2.pfb_channelizer_ccf(nchans, proto_taps, 2)
-    
-    # Put the pieces back together again
-    syn_taps = [nchans*t for t in proto_taps]
-    synthesizer = gr.pfb_synthesizer_ccf(nchans, syn_taps, True)
-    src_snk = gr.vector_sink_c()
-    snk = gr.vector_sink_c()
-
-    # Remap the location of the channels
-    # Can be done in synth or channelizer (watch out for rotattions in
-    # the channelizer)
-    synthesizer.set_channel_map([ 0,  1,  2,  3,  4,
-                                 15, 16, 17, 18, 19])
-    
-    tb = gr.top_block()
-    tb.connect(src, mod, chan, rrc, channelizer)
-    tb.connect(rrc, src_snk)
-
-    vsnk = []
-    for i in xrange(nchans):
-        tb.connect((channelizer,i), (synthesizer, i))
-
-        vsnk.append(gr.vector_sink_c())
-        tb.connect((channelizer,i), vsnk[i])
-        
-    tb.connect(synthesizer, snk)
-    tb.run()
-    
-    sin  = scipy.array(src_snk.data()[1000:])
-    sout = scipy.array(snk.data()[1000:])
-
-    
-    # Plot original signal
-    fs_in = nchans*fs
-    f1 = pylab.figure(1, figsize=(16,12), facecolor='w')
-    s11 = f1.add_subplot(2,2,1)
-    s11.psd(sin, NFFT=fftlen, Fs=fs_in)
-    s11.set_title("PSD of Original Signal")
-    s11.set_ylim([-200, -20])
-
-    s12 = f1.add_subplot(2,2,2)
-    s12.plot(sin.real[1000:1500], "o-b")
-    s12.plot(sin.imag[1000:1500], "o-r")
-    s12.set_title("Original Signal in Time")
-
-    start = 1
-    skip  = 4
-    s13 = f1.add_subplot(2,2,3)
-    s13.plot(sin.real[start::skip], sin.imag[start::skip], "o")
-    s13.set_title("Constellation")
-    s13.set_xlim([-2, 2])
-    s13.set_ylim([-2, 2])
-    
-    # Plot channels
-    nrows = int(scipy.sqrt(nchans))
-    ncols = int(scipy.ceil(float(nchans)/float(nrows)))
-
-    f2 = pylab.figure(2, figsize=(16,12), facecolor='w')
-    for n in xrange(nchans):
-        s = f2.add_subplot(nrows, ncols, n+1)
-        s.psd(vsnk[n].data(), NFFT=fftlen, Fs=fs_in)
-        s.set_title("Channel {0}".format(n))
-        s.set_ylim([-200, -20])
-
-    # Plot reconstructed signal
-    fs_out = 2*nchans*fs
-    f3 = pylab.figure(3, figsize=(16,12), facecolor='w')
-    s31 = f3.add_subplot(2,2,1)
-    s31.psd(sout, NFFT=fftlen, Fs=fs_out)
-    s31.set_title("PSD of Reconstructed Signal")
-    s31.set_ylim([-200, -20])
-
-    s32 = f3.add_subplot(2,2,2)
-    s32.plot(sout.real[1000:1500], "o-b")
-    s32.plot(sout.imag[1000:1500], "o-r")
-    s32.set_title("Reconstructed Signal in Time")
-
-    start = 2
-    skip  = 4
-    s33 = f3.add_subplot(2,2,3)
-    s33.plot(sout.real[start::skip], sout.imag[start::skip], "o")
-    s33.set_title("Constellation")
-    s33.set_xlim([-2, 2])
-    s33.set_ylim([-2, 2])
-
-    pylab.show()
-
-    
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
-
diff --git a/gnuradio-examples/python/pfb/resampler.py b/gnuradio-examples/python/pfb/resampler.py
deleted file mode 100755
index 7b296ca717..0000000000
--- a/gnuradio-examples/python/pfb/resampler.py
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2009 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys
-
-try:
-    import scipy
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-class mytb(gr.top_block):
-    def __init__(self, fs_in, fs_out, fc, N=10000):
-        gr.top_block.__init__(self)
-        
-        rerate = float(fs_out) / float(fs_in)
-        print "Resampling from %f to %f by %f " %(fs_in, fs_out, rerate)
-
-        # Creating our own taps
-        taps = gr.firdes.low_pass_2(32, 32, 0.25, 0.1, 80)
-
-        self.src = gr.sig_source_c(fs_in, gr.GR_SIN_WAVE, fc, 1)
-        #self.src = gr.noise_source_c(gr.GR_GAUSSIAN, 1)
-        self.head = gr.head(gr.sizeof_gr_complex, N)
-
-        # A resampler with our taps
-        self.resamp_0 = blks2.pfb_arb_resampler_ccf(rerate, taps,
-                                                    flt_size=32)
-
-        # A resampler that just needs a resampling rate.
-        # Filter is created for us and designed to cover
-        # entire bandwidth of the input signal.
-        # An optional atten=XX rate can be used here to 
-        # specify the out-of-band rejection (default=80).
-        self.resamp_1 = blks2.pfb_arb_resampler_ccf(rerate)
-
-        self.snk_in = gr.vector_sink_c()
-        self.snk_0 = gr.vector_sink_c()
-        self.snk_1 = gr.vector_sink_c()
-
-        self.connect(self.src, self.head, self.snk_in)
-        self.connect(self.head, self.resamp_0, self.snk_0)
-        self.connect(self.head, self.resamp_1, self.snk_1)
-
-def main():
-    fs_in = 8000
-    fs_out = 20000
-    fc = 1000
-    N = 10000
-
-    tb = mytb(fs_in, fs_out, fc, N)
-    tb.run()
-
-
-    # Plot PSD of signals
-    nfftsize = 2048
-    fig1 = pylab.figure(1, figsize=(10,10), facecolor="w")
-    sp1 = fig1.add_subplot(2,1,1)
-    sp1.psd(tb.snk_in.data(), NFFT=nfftsize,
-            noverlap=nfftsize/4, Fs = fs_in)
-    sp1.set_title(("Input Signal at f_s=%.2f kHz" % (fs_in/1000.0)))
-    sp1.set_xlim([-fs_in/2, fs_in/2])
-
-    sp2 = fig1.add_subplot(2,1,2)
-    sp2.psd(tb.snk_0.data(), NFFT=nfftsize,
-            noverlap=nfftsize/4, Fs = fs_out,
-            label="With our filter")
-    sp2.psd(tb.snk_1.data(), NFFT=nfftsize,
-            noverlap=nfftsize/4, Fs = fs_out,
-            label="With auto-generated filter")
-    sp2.set_title(("Output Signals at f_s=%.2f kHz" % (fs_out/1000.0)))
-    sp2.set_xlim([-fs_out/2, fs_out/2])
-    sp2.legend()
-
-    # Plot signals in time
-    Ts_in = 1.0/fs_in
-    Ts_out = 1.0/fs_out
-    t_in = scipy.arange(0, len(tb.snk_in.data())*Ts_in, Ts_in)
-    t_out = scipy.arange(0, len(tb.snk_0.data())*Ts_out, Ts_out)
-
-    fig2 = pylab.figure(2, figsize=(10,10), facecolor="w")
-    sp21 = fig2.add_subplot(2,1,1)
-    sp21.plot(t_in, tb.snk_in.data())
-    sp21.set_title(("Input Signal at f_s=%.2f kHz" % (fs_in/1000.0)))
-    sp21.set_xlim([t_in[100], t_in[200]])
-
-    sp22 = fig2.add_subplot(2,1,2)
-    sp22.plot(t_out, tb.snk_0.data(),
-              label="With our filter")
-    sp22.plot(t_out, tb.snk_1.data(),
-              label="With auto-generated filter")
-    sp22.set_title(("Output Signals at f_s=%.2f kHz" % (fs_out/1000.0)))
-    r = float(fs_out)/float(fs_in)
-    sp22.set_xlim([t_out[r * 100], t_out[r * 200]])
-    sp22.legend()
-
-    pylab.show()
-
-if __name__ == "__main__":
-    main()
-
diff --git a/gnuradio-examples/python/pfb/resampler_demo.grc b/gnuradio-examples/python/pfb/resampler_demo.grc
deleted file mode 100644
index 468636a5cf..0000000000
--- a/gnuradio-examples/python/pfb/resampler_demo.grc
+++ /dev/null
@@ -1,598 +0,0 @@
-<?xml version='1.0' encoding='ASCII'?>
-<flow_graph>
-  <timestamp>Sun Aug 23 11:39:47 2009</timestamp>
-  <block>
-    <key>options</key>
-    <param>
-      <key>id</key>
-      <value>resampler_demo</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value></value>
-    </param>
-    <param>
-      <key>author</key>
-      <value></value>
-    </param>
-    <param>
-      <key>description</key>
-      <value></value>
-    </param>
-    <param>
-      <key>window_size</key>
-      <value>1280, 1024</value>
-    </param>
-    <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
-    </param>
-    <param>
-      <key>category</key>
-      <value>Custom</value>
-    </param>
-    <param>
-      <key>run</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>realtime_scheduling</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>import</key>
-    <param>
-      <key>id</key>
-      <value>import_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>import</key>
-      <value>import math</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(11, 59)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>rs_taps</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>firdes.low_pass(nphases, nphases, frac_bw, 0.5-frac_bw)</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(273, 154)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>gr_add_const_vxx</key>
-    <param>
-      <key>id</key>
-      <value>adder</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>const</key>
-      <value>-1.0</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(227, 303)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>gr_throttle</key>
-    <param>
-      <key>id</key>
-      <value>throttle</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(227, 493)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>wxgui_fftsink2</key>
-    <param>
-      <key>id</key>
-      <value>orig_fft</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value>Original Spectrum</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>baseband_freq</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>y_per_div</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>y_divs</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>ref_level</key>
-      <value>30</value>
-    </param>
-    <param>
-      <key>fft_size</key>
-      <value>1024</value>
-    </param>
-    <param>
-      <key>fft_rate</key>
-      <value>30</value>
-    </param>
-    <param>
-      <key>peak_hold</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>average</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>avg_alpha</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value>1, 0, 1, 3</value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(409, 289)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>180</value>
-    </param>
-  </block>
-  <block>
-    <key>wxgui_fftsink2</key>
-    <param>
-      <key>id</key>
-      <value>resamp_fft</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value>Resampled Spectrum</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>new_rate</value>
-    </param>
-    <param>
-      <key>baseband_freq</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>y_per_div</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>y_divs</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>ref_level</key>
-      <value>30</value>
-    </param>
-    <param>
-      <key>fft_size</key>
-      <value>1024</value>
-    </param>
-    <param>
-      <key>fft_rate</key>
-      <value>30</value>
-    </param>
-    <param>
-      <key>peak_hold</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>average</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>avg_alpha</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value>2, 0, 1, 3</value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(640, 256)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>180</value>
-    </param>
-  </block>
-  <block>
-    <key>gr_sig_source_x</key>
-    <param>
-      <key>id</key>
-      <value>tri_source</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>waveform</key>
-      <value>gr.GR_TRI_WAVE</value>
-    </param>
-    <param>
-      <key>freq</key>
-      <value>0.05</value>
-    </param>
-    <param>
-      <key>amp</key>
-      <value>2.0</value>
-    </param>
-    <param>
-      <key>offset</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(21, 271)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>gr_frequency_modulator_fc</key>
-    <param>
-      <key>id</key>
-      <value>fm_mod</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>sensitivity</key>
-      <value>math.pi</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(411, 493)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blks2_pfb_arb_resampler_ccf</key>
-    <param>
-      <key>id</key>
-      <value>resampler</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>rate</key>
-      <value>float(new_rate)/samp_rate</value>
-    </param>
-    <param>
-      <key>taps</key>
-      <value>rs_taps</value>
-    </param>
-    <param>
-      <key>size</key>
-      <value>nphases</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(641, 477)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>nphases</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>32</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(185, 153)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_static_text</key>
-    <param>
-      <key>id</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>label</key>
-      <value>Sample Rate</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>44100</value>
-    </param>
-    <param>
-      <key>converver</key>
-      <value>float_converter</value>
-    </param>
-    <param>
-      <key>formatter</key>
-      <value>None</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value>0, 0, 1, 1</value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(179, 14)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_static_text</key>
-    <param>
-      <key>id</key>
-      <value>new_rate</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>label</key>
-      <value>Resampled Rate</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>48000</value>
-    </param>
-    <param>
-      <key>converver</key>
-      <value>float_converter</value>
-    </param>
-    <param>
-      <key>formatter</key>
-      <value>None</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value>0, 1, 1, 1</value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(328, 15)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_static_text</key>
-    <param>
-      <key>id</key>
-      <value>frac_bw</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>label</key>
-      <value>Fractional Bandwidth</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>0.45</value>
-    </param>
-    <param>
-      <key>converver</key>
-      <value>float_converter</value>
-    </param>
-    <param>
-      <key>formatter</key>
-      <value>lambda x: "%0.2f"%x</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value>0,2,1,1</value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(473, 14)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <connection>
-    <source_block_id>tri_source</source_block_id>
-    <sink_block_id>adder</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>adder</source_block_id>
-    <sink_block_id>throttle</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>resampler</source_block_id>
-    <sink_block_id>resamp_fft</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>fm_mod</source_block_id>
-    <sink_block_id>resampler</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>fm_mod</source_block_id>
-    <sink_block_id>orig_fft</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>throttle</source_block_id>
-    <sink_block_id>fm_mod</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-</flow_graph>
diff --git a/gnuradio-examples/python/pfb/synth_filter.py b/gnuradio-examples/python/pfb/synth_filter.py
deleted file mode 100755
index a91edfebf8..0000000000
--- a/gnuradio-examples/python/pfb/synth_filter.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys 
-
-try:
-    import scipy
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-def main():
-    N = 1000000
-    fs = 8000
-
-    freqs = [100, 200, 300, 400, 500]
-    nchans = 7
-
-    sigs = list()
-    for fi in freqs:
-        s = gr.sig_source_c(fs, gr.GR_SIN_WAVE, fi, 1)
-        sigs.append(s)
-
-    taps = gr.firdes.low_pass_2(len(freqs), fs, fs/float(nchans)/2, 100, 100)
-    print "Num. Taps = %d (taps per filter = %d)" % (len(taps), 
-                                                     len(taps)/nchans)
-    filtbank = gr.pfb_synthesizer_ccf(nchans, taps)
-
-    head = gr.head(gr.sizeof_gr_complex, N)
-    snk = gr.vector_sink_c()
-
-    tb = gr.top_block()
-    tb.connect(filtbank, head, snk)
-
-    for i,si in enumerate(sigs):
-        tb.connect(si, (filtbank, i))
-    
-    tb.run()
-
-    if 1:
-        f1 = pylab.figure(1)
-        s1 = f1.add_subplot(1,1,1)
-        s1.plot(snk.data()[1000:])
-        
-        fftlen = 2048
-        f2 = pylab.figure(2)
-        s2 = f2.add_subplot(1,1,1)
-        winfunc = scipy.blackman
-        s2.psd(snk.data()[10000:], NFFT=fftlen,
-               Fs = nchans*fs,
-               noverlap=fftlen/4,
-               window = lambda d: d*winfunc(fftlen))
-
-        pylab.show()
-
-if __name__ == "__main__":
-    main()
diff --git a/gnuradio-examples/python/pfb/synth_to_chan.py b/gnuradio-examples/python/pfb/synth_to_chan.py
deleted file mode 100755
index c6c80b2f85..0000000000
--- a/gnuradio-examples/python/pfb/synth_to_chan.py
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2010 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, blks2
-import sys 
-
-try:
-    import scipy
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-try:
-    import pylab
-except ImportError:
-    print "Error: Program requires matplotlib (see: matplotlib.sourceforge.net)."
-    sys.exit(1)
-
-def main():
-    N = 1000000
-    fs = 8000
-
-    freqs = [100, 200, 300, 400, 500]
-    nchans = 7
-
-    sigs = list()
-    fmtx = list()
-    for fi in freqs:
-        s = gr.sig_source_f(fs, gr.GR_SIN_WAVE, fi, 1)
-        fm = blks2.nbfm_tx (fs, 4*fs, max_dev=10000, tau=75e-6)
-        sigs.append(s)
-        fmtx.append(fm)
-
-    syntaps = gr.firdes.low_pass_2(len(freqs), fs, fs/float(nchans)/2, 100, 100)
-    print "Synthesis Num. Taps = %d (taps per filter = %d)" % (len(syntaps), 
-                                                               len(syntaps)/nchans)
-    chtaps = gr.firdes.low_pass_2(len(freqs), fs, fs/float(nchans)/2, 100, 100)
-    print "Channelizer Num. Taps = %d (taps per filter = %d)" % (len(chtaps), 
-                                                                 len(chtaps)/nchans)
-    filtbank = gr.pfb_synthesizer_ccf(nchans, syntaps)
-    channelizer = blks2.pfb_channelizer_ccf(nchans, chtaps)
-
-    noise_level = 0.01
-    head = gr.head(gr.sizeof_gr_complex, N)
-    noise = gr.noise_source_c(gr.GR_GAUSSIAN, noise_level)
-    addnoise = gr.add_cc()
-    snk_synth = gr.vector_sink_c()
-
-    tb = gr.top_block()
-
-    tb.connect(noise, (addnoise,0))
-    tb.connect(filtbank, head, (addnoise, 1))
-    tb.connect(addnoise, channelizer)
-    tb.connect(addnoise, snk_synth)
-
-    snk = list()
-    for i,si in enumerate(sigs):
-        tb.connect(si, fmtx[i], (filtbank, i))
-
-    for i in xrange(nchans):
-        snk.append(gr.vector_sink_c())
-        tb.connect((channelizer, i), snk[i])
-    
-    tb.run()
-
-    if 1:
-        channel = 1
-        data = snk[channel].data()[1000:]
-
-        f1 = pylab.figure(1)
-        s1 = f1.add_subplot(1,1,1)
-        s1.plot(data[10000:10200] )
-        s1.set_title(("Output Signal from Channel %d" % channel))
-        
-        fftlen = 2048
-        winfunc = scipy.blackman
-        #winfunc = scipy.hamming
-
-        f2 = pylab.figure(2)
-        s2 = f2.add_subplot(1,1,1)
-        s2.psd(data, NFFT=fftlen,
-               Fs = nchans*fs,
-               noverlap=fftlen/4,
-               window = lambda d: d*winfunc(fftlen))
-        s2.set_title(("Output PSD from Channel %d" % channel))
-
-        f3 = pylab.figure(3)
-        s3 = f3.add_subplot(1,1,1)
-        s3.psd(snk_synth.data()[1000:], NFFT=fftlen,
-               Fs = nchans*fs,
-               noverlap=fftlen/4,
-               window = lambda d: d*winfunc(fftlen))
-        s3.set_title("Output of Synthesis Filter")
-
-        pylab.show()
-
-if __name__ == "__main__":
-    main()
diff --git a/gnuradio-examples/python/tags/CMakeLists.txt b/gnuradio-examples/python/tags/CMakeLists.txt
deleted file mode 100644
index d2cd7b7930..0000000000
--- a/gnuradio-examples/python/tags/CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-include(GrPython)
-
-GR_PYTHON_INSTALL(PROGRAMS
-  test_file_tags.py
-  uhd_burst_detector.py
-  DESTINATION ${GR_PKG_DATA_DIR}/examples/tags
-  COMPONENT "gnuradio_examples"
-)
-
diff --git a/gnuradio-examples/python/tags/test_file_tags.py b/gnuradio-examples/python/tags/test_file_tags.py
deleted file mode 100755
index 446986cd73..0000000000
--- a/gnuradio-examples/python/tags/test_file_tags.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr
-import sys
-
-try:
-    import scipy
-except ImportError:
-    print "Error: Program requires scipy (see: www.scipy.org)."
-    sys.exit(1)
-
-def main():
-    data = scipy.arange(0, 32000, 1).tolist()
-    trig = 100*[0,] + 100*[1,]
-
-    src = gr.vector_source_s(data, True)
-    trigger = gr.vector_source_s(trig, True)
-
-    thr = gr.throttle(gr.sizeof_short, 10e3)
-    ann = gr.annotator_alltoall(1000000, gr.sizeof_short)
-    tagger = gr.burst_tagger(gr.sizeof_short)
-
-    fsnk = gr.tagged_file_sink(gr.sizeof_short, 1)
-
-    tb = gr.top_block()
-    tb.connect(src, thr, (tagger, 0))
-    tb.connect(trigger, (tagger, 1))
-    tb.connect(tagger, fsnk)
-
-    tb.run()
-
-if __name__ == "__main__":
-    main()
-
-    
diff --git a/gnuradio-examples/python/tags/uhd_burst_detector.py b/gnuradio-examples/python/tags/uhd_burst_detector.py
deleted file mode 100755
index 7411ab06e4..0000000000
--- a/gnuradio-examples/python/tags/uhd_burst_detector.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2011 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-# 
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import eng_notation
-from gnuradio import gr
-from gnuradio import uhd
-from gnuradio import window
-from gnuradio.eng_option import eng_option
-from gnuradio.gr import firdes
-from optparse import OptionParser
-
-class uhd_burst_detector(gr.top_block):
-    def __init__(self, uhd_address, options):
-
-        gr.top_block.__init__(self)
-
-        self.uhd_addr = uhd_address
-        self.freq = options.freq
-        self.samp_rate = options.samp_rate
-        self.gain = options.gain
-        self.threshold = options.threshold
-        self.trigger = options.trigger
-        
-        self.uhd_src = uhd.single_usrp_source(
-            device_addr=self.uhd_addr,
-            stream_args=uhd.stream_args('fc32'))
-        
-        self.uhd_src.set_samp_rate(self.samp_rate)
-        self.uhd_src.set_center_freq(self.freq, 0)
-        self.uhd_src.set_gain(self.gain, 0)
-
-        taps = firdes.low_pass_2(1, 1, 0.4, 0.1, 60)
-        self.chanfilt = gr.fir_filter_ccc(10, taps)
-        self.tagger = gr.burst_tagger(gr.sizeof_gr_complex)
-
-        # Dummy signaler to collect a burst on known periods
-        data = 1000*[0,] + 1000*[1,]
-        self.signal = gr.vector_source_s(data, True)
-
-        # Energy detector to get signal burst
-        ## use squelch to detect energy
-        self.det  = gr.simple_squelch_cc(self.threshold, 0.01)
-        ## convert to mag squared (float)
-        self.c2m = gr.complex_to_mag_squared()
-        ## average to debounce
-        self.avg = gr.single_pole_iir_filter_ff(0.01)
-        ## rescale signal for conversion to short
-        self.scale = gr.multiply_const_ff(2**16)
-        ## signal input uses shorts
-        self.f2s = gr.float_to_short()
-
-        # Use file sink burst tagger to capture bursts
-        self.fsnk = gr.tagged_file_sink(gr.sizeof_gr_complex, self.samp_rate)
-        
-
-        ##################################################
-        # Connections
-        ##################################################
-        self.connect((self.uhd_src, 0), (self.tagger, 0))
-        self.connect((self.tagger, 0), (self.fsnk, 0))
-
-        if self.trigger:
-            # Connect a dummy signaler to the burst tagger
-            self.connect((self.signal, 0), (self.tagger, 1))
-
-        else:
-            # Connect an energy detector signaler to the burst tagger
-            self.connect(self.uhd_src, self.det)
-            self.connect(self.det, self.c2m, self.avg, self.scale, self.f2s)
-            self.connect(self.f2s, (self.tagger, 1))
-        
-    def set_samp_rate(self, samp_rate):
-        self.samp_rate = samp_rate
-        self.uhd_src_0.set_samp_rate(self.samp_rate)
-            
-if __name__ == '__main__':
-    parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
-    parser.add_option("-a", "--address", type="string", default="addr=192.168.10.2",
-                      help="select address of the device [default=%default]")
-    #parser.add_option("-A", "--antenna", default=None,
-    #                  help="select Rx Antenna (only on RFX-series boards)")
-    parser.add_option("-f", "--freq", type="eng_float", default=450e6,
-                      help="set frequency to FREQ", metavar="FREQ")
-    parser.add_option("-g", "--gain", type="eng_float", default=0,
-                      help="set gain in dB [default=%default]")
-    parser.add_option("-R", "--samp-rate", type="eng_float", default=200000,
-                      help="set USRP sample rate [default=%default]")
-    parser.add_option("-t", "--threshold", type="float", default=-60,
-                      help="Set the detection power threshold (dBm) [default=%default")
-    parser.add_option("-T", "--trigger", action="store_true", default=False,
-                      help="Use internal trigger instead of detector [default=%default]")
-    (options, args) = parser.parse_args()
-    
-    uhd_addr = options.address
-
-    tb = uhd_burst_detector(uhd_addr, options)
-    tb.run()
diff --git a/gnuradio-examples/python/volk_benchmark/README b/gnuradio-examples/python/volk_benchmark/README
deleted file mode 100644
index 516fc15bdd..0000000000
--- a/gnuradio-examples/python/volk_benchmark/README
+++ /dev/null
@@ -1,252 +0,0 @@
-VOLK Benchmarking Scripts
-
-The Python programs in this directory are designed to help benchmark
-and compare Volk enhancements to GNU Radio. There are two kinds of
-scripts here: collecting data and displaying the data.
-
-Data collection is done by running a Volk testing script that will
-populate a SQLite database file (volk_results.db by default). The
-plotting utility provided here reads from the database files and plots
-bar graphs to compare the different installations.
-
-These benchmarks can be used to compare previous versions of GNU
-Radio to using Volk; they can be used to compare different Volk
-proto-kernels, as well, by editing the volk_config file; or they could
-be used to compare performance between different machines and/or
-processors.
-
-
-======================================================================
-Volk Profiling
-
-Before doing any kind of Volk benchmarking, it is important to run the
-volk_profile program. The profiler will build a config file for the
-best SIMD architecture for your processor. Run volk_profile that is
-installed into $PREFIX/bin. This program tests all known Volk kernels
-for each proto-kernel supported by the processor. When finished, it
-will write to $HOME/.volk/volk_config the best architecture for the
-VOLK function. This file is read when using a function to know the
-best version of the function to execute.
-
-The volk_config file contains a line for each kernel, where each line
-looks like:
-
-    volk_<KERNEL_NAME> <ARCHITECTURE>
-
-The architecture will be something like (sse, sse2, sse3, avx, neon,
-etc.), depending on your processor.
-
-
-======================================================================
-Benchmark Tests
-
-There are currently two benchmark scripts defined for collecting
-data. There is one that runs through the type conversions that have
-been converted to Volk (volk_types.py) and the other runs through the
-math operators converted to using Volk (volk_math.py).
-
-Script prototypes
-Both have the same structure for use:
-
-----------------------------------------------------------------------
-./volk_<test>.py [-h] -L LABEL [-D DATABASE] [-N NITEMS] [-I ITERATIONS]
-                    [--tests [{0,1,2,3} [{0,1,2,3} ...]]] [--list]
-                    [--all]
-
-optional arguments:
-  -h, --help            show this help message and exit
-  -L LABEL, --label LABEL
-                        Label of database table [default: None]
-  -D DATABASE, --database DATABASE
-                        Database file to store data in [default:
-                        volk_results.db]
-  -N NITEMS, --nitems NITEMS
-                        Number of items per iterations [default: 1000000000.0]
-  -I ITERATIONS, --iterations ITERATIONS
-                        Number of iterations [default: 20]
-  --tests [{0,1,2,3} [{0,1,2,3} ...]]
-                        A list of tests to run; can be a single test or a
-                        space-separated list.
-  --list                List the available tests
-  --all                 Run all tests
-----------------------------------------------------------------------
-
-To run, you specify the tests to run and a label to store along with
-the results. To find out what the available tests are, use the
-'--list' option.
-
-To specify a subset of tests, use the '--tests' with space-separated
-list of tests numbers (e.g., --tests 0 2 4 9).
-
-Use the '--all' to run all tests.
-
-The label specified is used as an identifier for the benchmarking
-currently being done. This is required as it is important in
-organizing the data in the database (each label is its own
-table). Usually, the label will specify the type of run being done,
-such as "volk_aligned" or "v3_5_1". In these cases, the "volk_aligned"
-label says that this is for a benchmarking using the GNU Radio version
-that uses the aligned scheduler and Volk calls in the work
-functions. The "v3_5_1" label is if you were benchmarking an installed
-version 3.5.1 of GNU Radio, which is pre-Volk. These will then be
-plotted against each other to see the timing differences.
-
-The 'database' option will output the results to a new database
-file. This can be useful for separating the output of different runs
-or of different benchmarks, such as the types versus the math scripts,
-say, or to distinguish results from different computers.
-
-If rerun using the same database and label, the entries in the table
-will simply be replaced by the new results.
-
-It is often useful to use the 'sqlitebrowser' program to interrogate
-the database file farther, if you are interested in the structure or
-the raw data.
-
-Other parameters of this script set the number of items to process and
-number of iterations to use when computing the benchmarking
-data. These default to 1 billion samples per iteration over 20
-iterations. Expect a default run to take a long time. Using the '-N'
-and '-I' options can be used to change the runtime of the benchmarks
-but are set high to remove problems of variance between iterations.
-
-======================================================================
-Plotting Results
-
-The volk_plot.py script reads a given database file and plots the
-results. The default behavior is to read all of the labels stored in
-the database and plot them as data sets on a bar graph. This shows the
-average time taken to process the number of items given.
-
-The options for the plotting script are:
-
-usage: volk_plot.py [-h] [-D DATABASE] [-E] [-P {mean,min,max}] [-% table]
-
-Plot Volk performance results from a SQLite database. Run one of the volk
-tests first (e.g, volk_math.py)
-
-----------------------------------------------------------------------
-optional arguments:
-  -h, --help            show this help message and exit
-  -D DATABASE, --database DATABASE
-                        Database file to read data from [default:
-                        volk_results.db]
-  -E, --errorbars       Show error bars (1 standard dev.)
-  -P {mean,min,max}, --plot {mean,min,max}
-                        Set the type of plot to produce [default: mean]
-  -% table, --percent table
-                        Show percent difference to the given type [default:
-                        None]
-----------------------------------------------------------------------
-
-This script allows you to specify the database used (-D), but will
-always read all rows from all tables from it and display them. You can
-also turn on plotting error bars (1 standard deviation the mean). Be
-careful, though, as some older versions of Matplotlib might have an
-issue with this option.
-
-The mean time is only one possible statistic that we might be
-interested in when looking at the data. It represents the average user
-experience when running a given block. On the other hand, the minimum
-runtime best represents the actual performance of a block given
-minimal OS interruptions while running. Right now, the data collected
-includes the mean, variance, min, and max over the number of
-iterations given. Using the '-P' option, you can specify the type of
-data to plot (mean, min, or max).
-
-Another useful way of looking at the data is to compare the percent
-improvement of a benchmark compared to another. This is done using the
-'-%' option with the provided table (or label) as the baseline. So if
-we were interested in comparing how much the 'volk_aligned' was over
-'v3_5_1', we would specify '-% v3_5_1' to see this. The plot would
-then only show the percent speedup observed using Volk for each of the
-blocks.
-
-
-======================================================================
-Benchmarking Walkthrough
-
-This will walk through an example of benchmarking the new Volk
-implementation versus the pre-Volk GNU Radio. It also shows how to
-look at the SIMD optimized versions versus the generic
-implementations.
-
-Since we introduced Volk in GNU Radio 3.5.2, we will use the following
-labels for our data:
-
-   1.) volk_aligned: v3.5.2 with volk_profile results in .volk/volk_config
-   2.) v3_5_2: v3.5.2 with the generic (non-SIMD) calls to Volk
-   3.) v3_5_1: an installation of GNU Radio from version v3.5.1
-
-We assume that we have installed two versions of GNU Radio.
-
-   v3.5.2 installed into /opt/gr-3_5_2
-   v3.5.1 installed into /opt/gr-3_5_1
-
-To test cases 1 and 2 above, we have to run GNU Radio from the v3.5.2
-installation, so we set the following environmental variables. Note
-that this is written for Ubuntu 11.10. These commands and directories
-may have to be changed depending on your OS and versions.
-
-    export LD_LIBRARY_PATH=/opt/gr-3_5_2/lib
-    export LD_LIBRARY_PATH=/opt/gr-3_5_2/lib/python2.7/dist-packages
-
-Now we can run the benchmark tests, so we will focus on the math
-operators:
-
-    ./volk_math.py -D volk_results_math.db --all -L volk_aligned
-
-When this finishes, the 'volk_results_math.db' will contain our
-results for this run.
-
-We next want to run the generic, non-SIMD, calls. This can be done by
-changing the Volk kernel settings in $HOME/.volk/volk_config. First,
-make a backup of this file. Then edit it and change all architecture
-calls (sse, sse2, etc.) to 'generic.' Now, Volk will only call the
-generic versions of these functions. So we rerun the benchmark with:
-
-    ./volk_math.py -D volk_results_math.db --all -L v3_5_2
-
-Notice that the only thing changed here was the label to 'v3_5_2'.
-
-Next, we want to collect data for the non-Volk version of GNU
-Radio. This is important because some internals to GNU Radio were made
-when adding support for Volk, so it is nice to know what the
-differences do to our performance. First, we set the environmental
-variables to point to the v3.5.1 installation:
-
-    export LD_LIBRARY_PATH=/opt/gr-3_5_1/lib
-    export LD_LIBRARY_PATH=/opt/gr-3_5_1/lib/python2.7/dist-packages
-
-And when we run the test, we use the same command line, but the GNU
-Radio libraries and Python files used come from v3.5.1. We also change
-the label to indicate the different version to store.
-    
-    ./volk_math.py -D volk_results_math.db --all -L v3_5_1
-
-We now have a database populated with three tables for the three
-different labels. We can plot them all together by simply running:
-
-    ./volk_plot.py -D volk_results_math.db
-
-This will show the average run times for each of the three
-configurations for all math functions tested. We might also be
-interested to see the difference in performance from the v3.5.1
-version, so we can run:
-
-    ./volk_plot.py -D volk_results_math.db -% v3_5_1
-
-That will plot both the 'volk_aligned' and 'v3_5_2' as a percentage
-improvement over v3_5_1. A positive value indicates that this version
-runs faster than the v3.5.1 version.
-
-
-----------------------------------------------------------------------
-
-Another interesting test case could be to compare results on different
-processors. So if you have different generation Intels, AMD, or
-whatever, you can simply pass the .db file around and run the Volk
-benchmark script to populate the database with different results. For
-this, you would specify a label like '-L i7_2620M' that indicates the
-processor type to uniquely ID the data.
-
diff --git a/gnuradio-examples/python/volk_benchmark/volk_math.py b/gnuradio-examples/python/volk_benchmark/volk_math.py
deleted file mode 100755
index 8bf9ed6f34..0000000000
--- a/gnuradio-examples/python/volk_benchmark/volk_math.py
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/usr/bin/env python
-
-from gnuradio import gr
-import argparse
-from volk_test_funcs import *
-
-def multiply_const_cc(N):
-    k = 3.3
-    op = gr.multiply_const_cc(k)
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_gr_complex, 1, 1)
-    return tb
-
-######################################################################
-
-def multiply_const_ff(N):
-    k = 3.3
-    op = gr.multiply_const_ff(k)
-    tb = helper(N, op, gr.sizeof_float, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def multiply_cc(N):
-    op = gr.multiply_cc(1)
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_gr_complex, 2, 1)
-    return tb
-
-######################################################################
-
-def multiply_ff(N):
-    op = gr.multiply_ff()
-    tb = helper(N, op, gr.sizeof_float, gr.sizeof_float, 2, 1)
-    return tb
-
-######################################################################
-
-def add_ff(N):
-    op = gr.add_ff()
-    tb = helper(N, op, gr.sizeof_float, gr.sizeof_float, 2, 1)
-    return tb
-
-######################################################################
-
-def conjugate_cc(N):
-    op = gr.conjugate_cc()
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_gr_complex, 1, 1)
-    return tb
-
-######################################################################
-
-def multiply_conjugate_cc(N):
-    try:
-        op = gr.multiply_conjugate_cc()
-        tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_gr_complex, 2, 1)
-        return tb
-
-    except AttributeError:
-        class s(gr.hier_block2):
-            def __init__(self):
-                gr.hier_block2.__init__(self, "s",
-                                        gr.io_signature(2, 2, gr.sizeof_gr_complex),
-                                        gr.io_signature(1, 1, gr.sizeof_gr_complex))
-                conj = gr.conjugate_cc()
-                mult = gr.multiply_cc()
-                self.connect((self,0), (mult,0))
-                self.connect((self,1), conj, (mult,1))
-                self.connect(mult, self)
-
-        op = s()
-        tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_gr_complex, 2, 1)
-        return tb
-
-
-######################################################################
-
-def run_tests(func, N, iters):
-    print("Running Test: {0}".format(func.__name__))
-    try:
-        tb = func(N)
-        t = timeit(tb, iters)
-        res = format_results(func.__name__, t)
-        return res
-    except AttributeError:
-        print "\tCould not run test. Skipping."
-        return None
-
-def main():
-    avail_tests = [multiply_const_cc,
-                   multiply_const_ff,
-                   multiply_cc,
-                   multiply_ff,
-                   add_ff,
-                   conjugate_cc,
-                   multiply_conjugate_cc]
-
-    desc='Time an operation to compare with other implementations. \
-          This program runs a simple GNU Radio flowgraph to test a \
-          particular math function, mostly to compare the  \
-          Volk-optimized implementation versus a regular \
-          implementation. The results are stored to an SQLite database \
-          that can then be read by volk_plot.py to plot the differences.'
-    parser = argparse.ArgumentParser(description=desc)
-    parser.add_argument('-L', '--label', type=str,
-                        required=True, default=None,
-                        help='Label of database table [default: %(default)s]')
-    parser.add_argument('-D', '--database', type=str,
-                        default="volk_results.db",
-                        help='Database file to store data in [default: %(default)s]')
-    parser.add_argument('-N', '--nitems', type=float,
-                        default=1e9,
-                        help='Number of items per iterations [default: %(default)s]')
-    parser.add_argument('-I', '--iterations', type=int,
-                        default=20,
-                        help='Number of iterations [default: %(default)s]')
-    parser.add_argument('--tests', type=int, nargs='*',
-                        choices=xrange(len(avail_tests)),
-                        help='A list of tests to run; can be a single test or a \
-                              space-separated list.')
-    parser.add_argument('--list', action='store_true',
-                        help='List the available tests')
-    parser.add_argument('--all', action='store_true',
-                        help='Run all tests')
-    args = parser.parse_args()
-
-    if(args.list):
-        print "Available Tests to Run:"
-        print "\n".join(["\t{0}: {1}".format(i,f.__name__) for i,f in enumerate(avail_tests)])
-        sys.exit(0)      
-
-    N = int(args.nitems)
-    iters = args.iterations
-    label = args.label
-
-    conn = create_connection(args.database)
-    new_table(conn, label)
-
-    if args.all:
-        tests = xrange(len(avail_tests))
-    else:
-        tests = args.tests
-
-    for test in tests:
-        res = run_tests(avail_tests[test], N, iters)
-        if res is not None:
-            replace_results(conn, label, N, iters, res)
-            
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
diff --git a/gnuradio-examples/python/volk_benchmark/volk_plot.py b/gnuradio-examples/python/volk_benchmark/volk_plot.py
deleted file mode 100755
index 823dfbf641..0000000000
--- a/gnuradio-examples/python/volk_benchmark/volk_plot.py
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/usr/bin/env python
-
-import sys, math
-import argparse
-from volk_test_funcs import *
-
-try:
-    import matplotlib
-    import matplotlib.pyplot as plt
-except ImportError:
-    sys.stderr.write("Could not import Matplotlib (http://matplotlib.sourceforge.net/)\n")
-    sys.exit(1)
-
-def main():
-    desc='Plot Volk performance results from a SQLite database. ' + \
-        'Run one of the volk tests first (e.g, volk_math.py)'
-    parser = argparse.ArgumentParser(description=desc)
-    parser.add_argument('-D', '--database', type=str,
-                        default='volk_results.db',
-                        help='Database file to read data from [default: %(default)s]')
-    parser.add_argument('-E', '--errorbars',
-                        action='store_true', default=False,
-                        help='Show error bars (1 standard dev.)')
-    parser.add_argument('-P', '--plot', type=str,
-                        choices=['mean', 'min', 'max'],
-                        default='mean',
-                        help='Set the type of plot to produce [default: %(default)s]')
-    parser.add_argument('-%', '--percent', type=str,
-                        default=None, metavar="table",
-                        help='Show percent difference to the given type [default: %(default)s]')
-    args = parser.parse_args()
-    
-    # Set up global plotting properties
-    matplotlib.rcParams['figure.subplot.bottom'] = 0.2
-    matplotlib.rcParams['figure.subplot.top'] = 0.95
-    matplotlib.rcParams['figure.subplot.right'] = 0.98
-    matplotlib.rcParams['ytick.labelsize'] = 16
-    matplotlib.rcParams['xtick.labelsize'] = 16
-    matplotlib.rcParams['legend.fontsize'] = 18
-    
-    # Get list of tables to compare
-    conn = create_connection(args.database)
-    tables = list_tables(conn)
-    M = len(tables)
-
-    # Colors to distinguish each table in the bar graph
-    # More than 5 tables will wrap around to the start.
-    colors = ['b', 'r', 'g', 'm', 'k']
-
-    # Set up figure for plotting
-    f0 = plt.figure(0, facecolor='w', figsize=(14,10))
-    s0 = f0.add_subplot(1,1,1)
-
-    # Create a register of names that exist in all tables
-    tmp_regs = []
-    for table in tables:
-        # Get results from the next table
-        res = get_results(conn, table[0])
-
-        tmp_regs.append(list())
-        for r in res:
-            try:
-                tmp_regs[-1].index(r['kernel'])
-            except ValueError:
-                tmp_regs[-1].append(r['kernel'])
-
-    # Get only those names that are common in all tables            
-    name_reg = tmp_regs[0]
-    for t in tmp_regs[1:]:
-        name_reg = list(set(name_reg) & set(t))
-    name_reg.sort()
-
-    # Pull the data out for each table into a dictionary
-    # we can ref the table by it's name and the data associated
-    # with a given kernel in name_reg by it's name.
-    # This ensures there is no sorting issue with the data in the
-    # dictionary, so the kernels are plotted against each other.
-    table_data = dict()
-    for i,table in enumerate(tables):
-        # Get results from the next table
-        res = get_results(conn, table[0])
-
-        data = dict()
-        for r in res:
-            data[r['kernel']] = r
-
-        table_data[table[0]] = data
-
-    if args.percent is not None:
-        for i,t in enumerate(table_data):
-            if args.percent == t:
-                norm_data = []
-                for name in name_reg:
-                    if(args.plot == 'max'):
-                        norm_data.append(table_data[t][name]['max'])
-                    elif(args.plot == 'min'):
-                        norm_data.append(table_data[t][name]['min'])
-                    elif(args.plot == 'mean'):
-                        norm_data.append(table_data[t][name]['avg'])
-        
-
-    # Plot the results
-    x0 = xrange(len(name_reg))
-    i = 0
-    for t in (table_data):
-        ydata = []
-        stds = []
-        for name in name_reg:
-            stds.append(math.sqrt(table_data[t][name]['var']))
-            if(args.plot == 'max'):
-                ydata.append(table_data[t][name]['max'])
-            elif(args.plot == 'min'):
-                ydata.append(table_data[t][name]['min'])
-            elif(args.plot == 'mean'):
-                ydata.append(table_data[t][name]['avg'])
-
-        if args.percent is not None:
-            ydata = [-100*(y-n)/y for y,n in zip(ydata,norm_data)]
-            if(args.percent != t):
-                # makes x values for this data set placement
-                # width of bars depends on number of comparisons
-                wdth = 0.80/(M-1)
-                x1 = [x + i*wdth for x in x0]
-                i += 1
-
-                s0.bar(x1, ydata, width=wdth,
-                       color=colors[(i-1)%M], label=t,
-                       edgecolor='k', linewidth=2)
-
-        else:
-            # makes x values for this data set placement
-            # width of bars depends on number of comparisons
-            wdth = 0.80/M
-            x1 = [x + i*wdth for x in x0]
-            i += 1
-
-            if(args.errorbars is False):
-                s0.bar(x1, ydata, width=wdth,
-                       color=colors[(i-1)%M], label=t,
-                       edgecolor='k', linewidth=2)
-            else:
-                s0.bar(x1, ydata, width=wdth,
-                       yerr=stds,
-                       color=colors[i%M], label=t,
-                       edgecolor='k', linewidth=2,
-                       error_kw={"ecolor": 'k', "capsize":5,
-                                 "linewidth":2})
-
-    nitems = res[0]['nitems']
-    if args.percent is None:
-        s0.set_ylabel("Processing time (sec) [{0:G} items]".format(nitems),
-                      fontsize=22, fontweight='bold',
-                      horizontalalignment='center')
-    else:
-        s0.set_ylabel("% Improvement over {0} [{1:G} items]".format(
-                args.percent, nitems),
-                      fontsize=22, fontweight='bold')
-
-    s0.legend()
-    s0.set_xticks(x0)
-    s0.set_xticklabels(name_reg)
-    for label in s0.xaxis.get_ticklabels():
-        label.set_rotation(45)
-        label.set_fontsize(16)
-
-    plt.show()
-
-if __name__ == "__main__":
-    main()
diff --git a/gnuradio-examples/python/volk_benchmark/volk_test_funcs.py b/gnuradio-examples/python/volk_benchmark/volk_test_funcs.py
deleted file mode 100644
index 4f4e4afd36..0000000000
--- a/gnuradio-examples/python/volk_benchmark/volk_test_funcs.py
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/usr/bin/env python
-
-from gnuradio import gr
-import math, sys, os, time
-
-try:
-    import scipy
-except ImportError:
-    sys.stderr.write("Unable to import Scipy (www.scipy.org)\n")
-    sys.exit(1)
-
-try:
-    import sqlite3
-except ImportError:
-    sys.stderr.write("Unable to import sqlite3: requires Python 2.5\n")
-    sys.exit(1)
-
-def execute(conn, cmd):
-    '''
-    Executes the command cmd to the database opened in connection conn.
-    '''
-    c = conn.cursor()
-    c.execute(cmd)
-    conn.commit()
-    c.close()
-
-def create_connection(database):
-    '''
-    Returns a connection object to the SQLite database.
-    '''
-    return sqlite3.connect(database)
-
-def new_table(conn, tablename):
-    '''
-    Create a new table for results.
-    All results are in the form: [kernel | nitems | iters | avg. time | variance | max time | min time ]
-    Each table is meant as a different setting (e.g., volk_aligned, volk_unaligned, etc.)
-    '''
-    cols = "kernel text, nitems int, iters int, avg real, var real, max real, min real"
-    cmd = "create table if not exists {0} ({1})".format(
-        tablename, cols)
-    execute(conn, cmd)
-
-def replace_results(conn, tablename, nitems, iters, res):
-    '''
-    Inserts or replaces the results 'res' dictionary values into the table.
-    This deletes all old entries of the kernel in this table.
-    '''
-    cmd = "DELETE FROM {0} where kernel='{1}'".format(tablename, res["kernel"])
-    execute(conn, cmd)
-    insert_results(conn, tablename, nitems, iters, res)
-
-def insert_results(conn, tablename, nitems, iters, res):
-    '''
-    Inserts the results dictionary values into the table.
-    '''
-    cols = "kernel, nitems, iters, avg, var, max, min"
-    cmd = "INSERT INTO {0} ({1}) VALUES ('{2}', {3}, {4}, {5}, {6}, {7}, {8})".format(
-        tablename, cols, res["kernel"], nitems, iters, 
-        res["avg"], res["var"], res["max"], res["min"])
-    execute(conn, cmd)
-
-def list_tables(conn):
-    '''
-    Returns a list of all tables in the database.
-    '''
-    cmd = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name"
-    c = conn.cursor()
-    c.execute(cmd)
-    t = c.fetchall()
-    c.close()
-
-    return t
-    
-def get_results(conn, tablename):
-    '''
-    Gets all results in tablename.
-    '''
-    cmd = "SELECT * FROM {0}".format(tablename)
-    c = conn.cursor()
-    c.execute(cmd)
-    fetched = c.fetchall()
-    c.close()
-
-    res = list()
-    for f in fetched:
-        r = dict()
-        r['kernel'] = f[0]
-        r['nitems'] = f[1]
-        r['iters']  = f[2]
-        r['avg'] = f[3]
-        r['var'] = f[4]
-        r['min'] = f[5]
-        r['max'] = f[6]
-        res.append(r)
-
-    return res
-    
-
-class helper(gr.top_block):
-    '''
-    Helper function to run the tests. The parameters are:
-      N: number of items to process (int)
-      op: The GR block/hier_block to test
-      isizeof: the sizeof the input type
-      osizeof: the sizeof the output type
-      nsrcs: number of inputs to the op
-      nsnks: number of outputs of the op
-
-    This function can only handle blocks where all inputs are the same
-    datatype and all outputs are the same data type
-    '''
-    def __init__(self, N, op,
-                 isizeof=gr.sizeof_gr_complex,
-                 osizeof=gr.sizeof_gr_complex,
-                 nsrcs=1, nsnks=1):
-        gr.top_block.__init__(self, "helper")
-
-        self.op = op
-        self.srcs = []
-        self.snks = []
-        self.head = gr.head(isizeof, N)
-
-        for n in xrange(nsrcs):
-            self.srcs.append(gr.null_source(isizeof))
-
-        for n in xrange(nsnks):
-            self.snks.append(gr.null_sink(osizeof))
-
-        self.connect(self.srcs[0], self.head, (self.op,0))
-
-        for n in xrange(1, nsrcs):
-            self.connect(self.srcs[n], (self.op,n))
-
-        for n in xrange(nsnks):
-            self.connect((self.op,n), self.snks[n])
-
-def timeit(tb, iterations):
-    '''
-    Given a top block, this function times it for a number of
-    iterations and stores the time in a list that is returned.
-    '''
-    r = gr.enable_realtime_scheduling()
-    if r != gr.RT_OK:
-        print "Warning: failed to enable realtime scheduling"
-
-    times = []
-    for i in xrange(iterations):
-        start_time = time.time()
-        tb.run()
-        end_time = time.time()
-        tb.head.reset()
-
-        times.append(end_time - start_time)
-
-    return times
-
-def format_results(kernel, times):
-    '''
-    Convinience function to convert the results of the timeit function
-    into a dictionary.
-    '''
-    res = dict()
-    res["kernel"] = kernel
-    res["avg"] = scipy.mean(times)
-    res["var"] = scipy.var(times)
-    res["max"] = max(times)
-    res["min"] = min(times)
-    return res
-
-
diff --git a/gnuradio-examples/python/volk_benchmark/volk_types.py b/gnuradio-examples/python/volk_benchmark/volk_types.py
deleted file mode 100755
index 3bc5a22aec..0000000000
--- a/gnuradio-examples/python/volk_benchmark/volk_types.py
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/usr/bin/env python
-
-from gnuradio import gr
-import argparse
-from volk_test_funcs import *
-
-######################################################################
-
-def float_to_char(N):
-    op = gr.float_to_char()
-    tb = helper(N, op, gr.sizeof_float, gr.sizeof_char, 1, 1)
-    return tb
-
-######################################################################
-
-def float_to_int(N):
-    op = gr.float_to_int()
-    tb = helper(N, op, gr.sizeof_float, gr.sizeof_int, 1, 1)
-    return tb
-
-######################################################################
-
-def float_to_short(N):
-    op = gr.float_to_short()
-    tb = helper(N, op, gr.sizeof_float, gr.sizeof_short, 1, 1)
-    return tb
-
-######################################################################
-
-def short_to_float(N):
-    op = gr.short_to_float()
-    tb = helper(N, op, gr.sizeof_short, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def short_to_char(N):
-    op = gr.short_to_char()
-    tb = helper(N, op, gr.sizeof_short, gr.sizeof_char, 1, 1)
-    return tb
-
-######################################################################
-
-def char_to_short(N):
-    op = gr.char_to_short()
-    tb = helper(N, op, gr.sizeof_char, gr.sizeof_short, 1, 1)
-    return tb
-
-######################################################################
-
-def char_to_float(N):
-    op = gr.char_to_float()
-    tb = helper(N, op, gr.sizeof_char, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def int_to_float(N):
-    op = gr.int_to_float()
-    tb = helper(N, op, gr.sizeof_int, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def complex_to_float(N):
-    op = gr.complex_to_float()
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_float, 1, 2)
-    return tb
-
-######################################################################
-
-def complex_to_real(N):
-    op = gr.complex_to_real()
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def complex_to_imag(N):
-    op = gr.complex_to_imag()
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def complex_to_mag(N):
-    op = gr.complex_to_mag()
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-def complex_to_mag_squared(N):
-    op = gr.complex_to_mag_squared()
-    tb = helper(N, op, gr.sizeof_gr_complex, gr.sizeof_float, 1, 1)
-    return tb
-
-######################################################################
-
-
-def run_tests(func, N, iters):
-    print("Running Test: {0}".format(func.__name__))
-    try:
-        tb = func(N)
-        t = timeit(tb, iters)
-        res = format_results(func.__name__, t)
-        return res
-    except AttributeError:
-        print "\tCould not run test. Skipping."
-        return None
-
-def main():
-    avail_tests = [float_to_char,
-                   float_to_int,
-                   float_to_short,
-                   short_to_float,
-                   short_to_char,
-                   char_to_short,
-                   char_to_float,
-                   int_to_float,
-                   complex_to_float,
-                   complex_to_real,
-                   complex_to_imag,
-                   complex_to_mag,
-                   complex_to_mag_squared]
-
-    desc='Time an operation to compare with other implementations. \
-          This program runs a simple GNU Radio flowgraph to test a \
-          particular math function, mostly to compare the  \
-          Volk-optimized implementation versus a regular \
-          implementation. The results are stored to an SQLite database \
-          that can then be read by volk_plot.py to plot the differences.'
-    parser = argparse.ArgumentParser(description=desc)
-    parser.add_argument('-L', '--label', type=str,
-                        required=True, default=None,
-                        help='Label of database table [default: %(default)s]')
-    parser.add_argument('-D', '--database', type=str,
-                        default="volk_results.db",
-                        help='Database file to store data in [default: %(default)s]')
-    parser.add_argument('-N', '--nitems', type=float,
-                        default=1e9,
-                        help='Number of items per iterations [default: %(default)s]')
-    parser.add_argument('-I', '--iterations', type=int,
-                        default=20,
-                        help='Number of iterations [default: %(default)s]')
-    parser.add_argument('--tests', type=int, nargs='*',
-                        choices=xrange(len(avail_tests)),
-                        help='A list of tests to run; can be a single test or a \
-                              space-separated list.')
-    parser.add_argument('--list', action='store_true',
-                        help='List the available tests')
-    parser.add_argument('--all', action='store_true',
-                        help='Run all tests')
-    args = parser.parse_args()
-
-    if(args.list):
-        print "Available Tests to Run:"
-        print "\n".join(["\t{0}: {1}".format(i,f.__name__) for i,f in enumerate(avail_tests)])
-        sys.exit(0)      
-
-    N = int(args.nitems)
-    iters = args.iterations
-    label = args.label
-
-    conn = create_connection(args.database)
-    new_table(conn, label)
-
-    if args.all:
-        tests = xrange(len(avail_tests))
-    else:
-        tests = args.tests
-
-    for test in tests:
-        res = run_tests(avail_tests[test], N, iters)
-        if res is not None:
-            replace_results(conn, label, N, iters, res)
-            
-if __name__ == "__main__":
-    try:
-        main()
-    except KeyboardInterrupt:
-        pass
-- 
cgit v1.2.3