В OCaml memory.h или alloc.h не используется realloc (byterun/caml). Означает ли это, что невозможно перераспределить блок OCaml GC (или значение)? Потребительная случае я имею в виду это строка CONCAT, где можно сделать следующие оптимизированы с помощью перераспределить:Могу ли я повторно выполнить блок GC OCaml?
a = a^b
В моих тестах, строка CONCAT на самом деле быстрее в PHP (5.5), чем нативный скомпилированные OCaml (4,02 0,1).
Редактировать: В другом тесте, Buffer
является гораздо быстрее, чем PHP CONCAT, и еще быстрее, чем OCaml Concat даже при преобразовании буфера строки в каждой итерации цикла. Code.
Это не отвечает на ваш конкретный вопрос, но если вы выполняете множество конкатенаций строк, обычно рекомендуется использовать модуль «Буфер» из стандартной библиотеки. – Virgile
@Virgile Привет! Да, это намного быстрее я обнаружил. –