Improve memory efficiency via plain ints for length

This commit is contained in:
2022-11-29 20:57:50 -05:00
parent d965ca142d
commit 13704fae2c
16 changed files with 183 additions and 84 deletions

View File

@@ -225,6 +225,36 @@ void test_complex(void) {
TEST_ASSERT_OBJ_INT_V(response, 9);
}
void test_memory_perf_low(void) {
response = eval("(defun fib (n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))");
TEST_ASSERT_OBJ_SYMBOL_V(response, "fib");
response = eval("(fib 4)");
TEST_ASSERT_OBJ_INT_V(response, 3);
}
void test_memory_perf_medium(void) {
response = eval("(defun fib (n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))");
TEST_ASSERT_OBJ_SYMBOL_V(response, "fib");
response = eval("(fib 10)");
TEST_ASSERT_OBJ_INT_V(response, 55);
}
void test_memory_perf_high(void) {
response = eval("(defun fib (n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))");
TEST_ASSERT_OBJ_SYMBOL_V(response, "fib");
response = eval("(fib 8)");
TEST_ASSERT_OBJ_INT_V(response, 21);
}
int main(void) {
UNITY_BEGIN();
@@ -254,6 +284,9 @@ int main(void) {
RUN_TEST(test_nth_oob);
RUN_TEST(test_eval_defun_gc);
RUN_TEST(test_complex);
RUN_TEST(test_memory_perf_low);
RUN_TEST(test_memory_perf_medium);
RUN_TEST(test_memory_perf_high);
return UNITY_END();
}