Add benchmarks comparing Lux against 7 languages: - Rust, C, Go (compiled) - Node.js, Bun (JavaScript JIT) - Python (interpreted) Benchmarks: - Fibonacci (fib 35): recursive function calls - Prime counting (10k): loops and conditionals - Sum loop (10M): tight numeric loops - Ackermann (3,10): deep recursion - Selection sort (1k): sorting algorithm - List operations (10k): map/filter/fold with closures Results show Lux: - Matches C and Rust performance - 2-5x faster than Go - 7-15x faster than Node.js - 10-285x faster than Python Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
878 B
C
37 lines
878 B
C
// Quicksort benchmark - sorting algorithm
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
void quicksort(int* arr, int low, int high) {
|
|
if (low < high) {
|
|
int pivot = arr[high];
|
|
int i = low - 1;
|
|
for (int j = low; j < high; j++) {
|
|
if (arr[j] < pivot) {
|
|
i++;
|
|
int temp = arr[i];
|
|
arr[i] = arr[j];
|
|
arr[j] = temp;
|
|
}
|
|
}
|
|
int temp = arr[i + 1];
|
|
arr[i + 1] = arr[high];
|
|
arr[high] = temp;
|
|
int pi = i + 1;
|
|
quicksort(arr, low, pi - 1);
|
|
quicksort(arr, pi + 1, high);
|
|
}
|
|
}
|
|
|
|
int main() {
|
|
int n = 1000;
|
|
int* nums = malloc(n * sizeof(int));
|
|
for (int i = 0; i < n; i++) {
|
|
nums[i] = (i * 7 + 13) % 1000;
|
|
}
|
|
quicksort(nums, 0, n - 1);
|
|
printf("Sorted %d elements\n", n);
|
|
free(nums);
|
|
return 0;
|
|
}
|