- atom = ao_lisp_atom_intern("ant");
- atom->val = ao_lisp_string_poly(ao_lisp_string_cat("hello world", ""));
-
- list = ao_lisp_cons(ao_lisp_atom_poly(ao_lisp_atom_intern("plus")),
- ao_lisp_cons(ao_lisp_cons_poly(ao_lisp_cons(ao_lisp_atom_poly(ao_lisp_atom_intern("plus")),
- ao_lisp_cons(ao_lisp_int_poly(3),
- ao_lisp_cons(ao_lisp_int_poly(4), NULL)))),
- ao_lisp_cons(ao_lisp_int_poly(2), NULL)));
- printf("list: ");
- ao_lisp_poly_print(ao_lisp_cons_poly(list));
- printf ("\n");
- ao_lisp_poly_print(ao_lisp_eval(ao_lisp_cons_poly(list)));
- printf ("\n");
-
- while ((poly = ao_lisp_read())) {
- poly = ao_lisp_eval(poly);
- ao_lisp_poly_print(poly);
- putchar ('\n');
- fflush(stdout);
- }
+ printf ("collects: full: %d incremental %d\n",
+ ao_lisp_collects[AO_LISP_COLLECT_FULL],
+ ao_lisp_collects[AO_LISP_COLLECT_INCREMENTAL]);
+
+ printf ("freed: full %d incremental %d\n",
+ ao_lisp_freed[AO_LISP_COLLECT_FULL],
+ ao_lisp_freed[AO_LISP_COLLECT_INCREMENTAL]);
+
+ printf("loops: full %d incremental %d\n",
+ ao_lisp_loops[AO_LISP_COLLECT_FULL],
+ ao_lisp_loops[AO_LISP_COLLECT_INCREMENTAL]);
+
+ printf("loops per collect: full %f incremental %f\n",
+ (double) ao_lisp_loops[AO_LISP_COLLECT_FULL] /
+ (double) ao_lisp_collects[AO_LISP_COLLECT_FULL],
+ (double) ao_lisp_loops[AO_LISP_COLLECT_INCREMENTAL] /
+ (double) ao_lisp_collects[AO_LISP_COLLECT_INCREMENTAL]);
+
+ printf("freed per collect: full %f incremental %f\n",
+ (double) ao_lisp_freed[AO_LISP_COLLECT_FULL] /
+ (double) ao_lisp_collects[AO_LISP_COLLECT_FULL],
+ (double) ao_lisp_freed[AO_LISP_COLLECT_INCREMENTAL] /
+ (double) ao_lisp_collects[AO_LISP_COLLECT_INCREMENTAL]);