diff --git a/gentest.ar b/gentest.ar new file mode 100644 index 0000000..ef3fc4a --- /dev/null +++ b/gentest.ar @@ -0,0 +1,6 @@ +let myfile = file.write("rand_test.ar") + +for (i from 0 to 1e6) do + myfile.text("\"") + myfile.text(string(random())) + myfile.text("\"\n") \ No newline at end of file diff --git a/src/dynamic_array/darray.h b/src/dynamic_array/darray.h index a5554aa..18258cb 100644 --- a/src/dynamic_array/darray.h +++ b/src/dynamic_array/darray.h @@ -4,7 +4,7 @@ #include #include // for size_t -#define CHUNK_SIZE 16 +#define CHUNK_SIZE 1048576 typedef struct { void *data; diff --git a/src/runtime/internals/dynamic_array_armem/darray_armem.h b/src/runtime/internals/dynamic_array_armem/darray_armem.h index 2d2417c..499fff7 100644 --- a/src/runtime/internals/dynamic_array_armem/darray_armem.h +++ b/src/runtime/internals/dynamic_array_armem/darray_armem.h @@ -4,7 +4,7 @@ #include #include // for size_t -#define CHUNK_SIZE 16 +#define CHUNK_SIZE 1048576 typedef struct { void *data; diff --git a/src/translator/translator.c b/src/translator/translator.c index 53db10c..9c2951a 100644 --- a/src/translator/translator.c +++ b/src/translator/translator.c @@ -45,7 +45,7 @@ void *arena_get(ConstantArena *arena, size_t offset) { } size_t arena_push(ConstantArena *arena, const void *data, size_t length) { - if (arena->size >= length) { + if (arena->size >= length && arena->size<100000) { for (size_t i = 0; i <= (arena->size - length); i++) { if (memcmp(data, arena->data + i, length) == 0) { return i;