#include <stdio.h>
#include <unistd.h>
#include <pslib.h>


#define NUM_ALLOCS 10000

#define ALLOC_SIZE 10
#define REALLOC_SIZE 100

void ps_memory(void)
{
    void *buffer = psAlloc(ALLOC_SIZE);
    buffer = psRealloc(buffer, REALLOC_SIZE);
    psFree(buffer);
}

void gcc_memory(void)
{
    void *buffer = malloc(ALLOC_SIZE);
    buffer = realloc(buffer, REALLOC_SIZE);
    free(buffer);
}


int main(int argc, char *argv[])
{
    psLibInit(NULL);

    for (int i = 0; i < NUM_ALLOCS; i++) {
        ps_memory();
        printf("sbrk(): %zd\n", sbrk(0));
    }

    printf("sbrk(): %zd\n", sbrk(0));

    psLibFinalize();

    return EXIT_SUCCESS;
}
