Comparing different Unix distributions performance

Hacking: 

Tested Systems

ByteMark Performance Results

'overall_chart_by_distro', '#title' => chart_title(t('ByteMark index (by distro)'), '0000ee', 15), '#type' => CHART_TYPE_BAR_V_GROUPED, '#size' => chart_size(800, 320), '#grid_lines' => chart_grid_lines(30, 10), '#bar_size' => chart_bar_size(30, 0, 15), ); $chart['#adjust_resolution']['#adjust'] = TRUE; $chart['#adjust_resolution']['#max'] = 32; $chart['#data']['Fedora8'] = array(17.7,16.9,28.3); $chart['#data']['Fedora9'] = array(17.0,16.0,29.8); $chart['#data']['Fedora10'] = array(16.9,15.9,29.0); $chart['#data']['OpenSolaris'] = array(18.5,13.4,26.0); $chart['#data']['Ubuntu8'] = array(18.0,16.3,29.8); $chart['#data']['FreeBSD7.0'] = array(16.6,17.0,7.2); $chart['#legends'][] = t('Fedora8'); $chart['#legends'][] = t('Fedora9'); $chart['#legends'][] = t('Fedora10'); $chart['#legends'][] = t('OpenSolaris'); $chart['#legends'][] = t('Ubuntu8'); $chart['#legends'][] = t('FreeBSD7.0'); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Memory')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Integer')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Float')); $chart['#data_colors'][] = 'ff0000'; $chart['#data_colors'][] = '0000ff'; $chart['#data_colors'][] = '00ff00'; $chart['#data_colors'][] = 'ffff00'; $chart['#data_colors'][] = '00ffff'; $chart['#data_colors'][] = 'ff00ff'; $chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][0][] = chart_mixed_axis_range_label(0, 32); $chart['#mixed_axis_label_styles'][] = array(0,'000000', 12); $chart['#mixed_axis_label_styles'][] = array(1,'000000', 10); echo chart_render($chart); ?>

Observations

  • The floating point performance on FreeBSD 7.0 is abysmal, in particular the Neural Net test. I have no idea why...
  • OpenSolaris fairs fairly well, except on the integer tests, where it's the slowest by a wide margin.
  • The Fedora distributions are fairly consistent in their performance, although it seems that performance is overall getting slightly worse with newer releases.
  • Ubuntu v8.10 seems to be the overall most consistently fast system. It's the winner of the floating point tests, and top 3 in both integer and memory.

Here is the same data as above, but organized by the three ByteMark metrics (memory, integer and float).

'overall_chart_by_metric', '#title' => chart_title(t('ByteMark index'), '0000ee', 15), '#type' => CHART_TYPE_BAR_V_GROUPED, '#size' => chart_size(800, 320), '#grid_lines' => chart_grid_lines(30, 10), '#bar_size' => chart_bar_size(30, 0, 15), ); $chart['#adjust_resolution']['#adjust'] = TRUE; $chart['#adjust_resolution']['#max'] = 32; $chart['#data']['memory'] = array(17.7,17.0, 16.9,18.5,18.0,16.6 ); $chart['#data']['integer'] = array(16.0,16.2,15.9,13.4,16.3,17.1 ); $chart['#data']['float'] = array(28.3,29.9,29.0,26.0,29.8,7.2 ); $chart['#legends'][] = t('Memory'); $chart['#legends'][] = t('Integer'); $chart['#legends'][] = t('Float'); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Fedora8')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Fedora9')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Fedora10')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('OpenSolaris')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Ubuntu8')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('FreeBSD7.0')); $chart['#data_colors'][] = 'ff0000'; $chart['#data_colors'][] = '0000ff'; $chart['#data_colors'][] = '00ff00'; $chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][0][] = chart_mixed_axis_range_label(0, 32); $chart['#mixed_axis_label_styles'][] = array(0,'000000', 12); $chart['#mixed_axis_label_styles'][] = array(1,'000000', 10); echo chart_render($chart); ?>

Finally, here are all the individual ByteMark tests, for all distributions. You can see the numbers in details on the raw data pages as well.

'individual_chart', '#title' => chart_title(t('ByteMark individual tests'), '0000ee', 15), '#type' => CHART_TYPE_BAR_V_GROUPED, '#size' => chart_size(800, 320), '#grid_lines' => chart_grid_lines(30, 10), '#bar_size' => chart_bar_size(5, 0, 15), ); $chart['#adjust_resolution']['#adjust'] = TRUE; $chart['#adjust_resolution']['#max'] = 135; $chart['#data']['numeric_sort'] = array(33.8,21.7); $chart['#data']['string_sort'] = array(73.3,61.0); $chart['#data']['bitfield'] = array(82.8,85.8); $chart['#data']['fp_emulation'] = array(50.6,80.5); $chart['#data']['fourier'] = array(25.3,30.3); $chart['#data']['assignment'] = array(125.0,133.5); $chart['#data']['idea'] = array(55.0,91.9); $chart['#data']['huffman'] = array(47.3,61.0); $chart['#data']['neural_net'] = array(51.6,64.5); $chart['#data']['lu_decomposition'] = array(79.1,79.3); $chart['#legends'][] = t('Numeric Sort'); $chart['#legends'][] = t('String Sort'); $chart['#legends'][] = t('Bitfield'); $chart['#legends'][] = t('FP Emulation'); $chart['#legends'][] = t('Fourier'); $chart['#legends'][] = t('Assignment'); $chart['#legends'][] = t('IDEA'); $chart['#legends'][] = t('Huffman'); $chart['#legends'][] = t('Neural Net'); $chart['#legends'][] = t('LU Decomposition'); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Solaris')); $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t('Ubuntu')); $chart['#data_colors'][] = chart_unique_color('numeric_sort'); $chart['#data_colors'][] = chart_unique_color('string_sort'); $chart['#data_colors'][] = chart_unique_color('bitfield'); $chart['#data_colors'][] = chart_unique_color('fp_emulation'); $chart['#data_colors'][] = chart_unique_color('fourier'); $chart['#data_colors'][] = chart_unique_color('assignment'); $chart['#data_colors'][] = chart_unique_color('idea'); $chart['#data_colors'][] = chart_unique_color('huffman'); $chart['#data_colors'][] = chart_unique_color('neural_net'); $chart['#data_colors'][] = chart_unique_color('lu_decomposition'); $chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][0][] = chart_mixed_axis_range_label(0, 135); $chart['#mixed_axis_label_styles'][] = array(0,'000000', 12); $chart['#mixed_axis_label_styles'][] = array(1,'000000', 10); echo chart_render($chart); ?>

Raw benchmark results

Hacking: 

Benchmark: Fedora Core 8

Benchmark: RHEL5

Benchmark: Fedora Core 9

Benchmark: Fedora Core 10

Benchmark: OpenSolaris

Benchmark: Ubuntu v8.10

Benchmark: FreeBSD 7.0