I have identical bubble sort algorithm in C and C++. Same data and same computer. Experiment shows that C is twice as slow as C ++.
In C it takes 124 processor clicks or 0.000124 sec.
In C++ it takes 66 processor clicks or 0.000066 sec.
C Bubble sort code:
#include <stdio.h>
#include <time.h>
int arry_size = 0;
int numbers[] = { 8, 1, 5, 2, 4, 0, 3, 7, 9, 6, 99, 55, 44, 21, 12,
34, 5, 68, 19, 71, 70, 82, 65, 41, 72, 11, 36, 18, 27, 14, 15, 13 };
void print_array(int numbers[], int arry_size) {
for (int i = 0; i < arry_size; i++) {
printf("%d ", numbers[i]);
if (i == arry_size - 1) {
printf("\n");
}
}
}
void bubble_sort(int numbers[], int numbers_size) {
int n, i;
for (n = numbers_size - 1; n > 0; n--) {
for (i = 1; i <= n; i++) {
int left = numbers[i - 1];
int right = numbers[i];
if (left > right) {
numbers[i - 1] = right;
numbers[i] = left;
}
}
}
}
int main ()
{
clock_t execution_time;
execution_time = clock();
arry_size = sizeof(numbers)/sizeof(numbers[0]);
printf("Before: ");
print_array(numbers, arry_size);
bubble_sort(numbers, arry_size);
printf("After: ");
print_array(numbers, arry_size);
execution_time = clock() - execution_time;
printf ("Processor time: %ld clicks (%f sec.)\n",
execution_time, ((float)execution_time) / CLOCKS_PER_SEC);
return 0;
}

C++ Bubble sort code:
#include <iostream>
#include <time.h>
int arry_size = 0;
int numbers[] = { 8, 1, 5, 2, 4, 0, 3, 7, 9, 6, 99, 55, 44, 21, 12,
34, 5, 68, 19, 71, 70, 82, 65, 41, 72, 11, 36, 18, 27, 14, 15, 13 };
void print_array(int numbers[], int arry_size) {
for (int i = 0; i < arry_size; i++) {
std::cout << numbers[i] << " ";
if (i == arry_size - 1) {
std::cout << '\n';
}
}
}
void bubble_sort(int numbers[], int numbers_size) {
int n, i;
for (n = numbers_size - 1; n > 0; n--) {
for (i = 1; i <= n; i++) {
int left = numbers[i - 1];
int right = numbers[i];
if (left > right) {
numbers[i - 1] = right;
numbers[i] = left;
}
}
}
}
int main () {
clock_t execution_time;
execution_time = clock();
arry_size = sizeof(numbers)/sizeof(numbers[0]);
std::cout << "Before: ";
print_array(numbers, arry_size);
bubble_sort(numbers, arry_size);
std::cout << "After: ";
print_array(numbers, arry_size);
execution_time = clock() - execution_time;
std::cout << "Processor time:" << execution_time
<< "clicks (" << ((float)execution_time) / CLOCKS_PER_SEC
<< " sec.)" << '\n';
return 0;
}

https://github.com/taunoe/cpp-examples/tree/master/Sorting-algorithms/Bubble-sort