У меня есть 50 (больших) деревьев решений, которые в настоящее время сериализуются (в предварительном порядке) как отдельные длинные строки. Все строки непосредственно хранятся в файле декларации .cpp, чтобы избежать необходимости читать их из файла во время выполнения. Таким образом, во время выполнения вызывается функция, которая десериализует каждую строку и строит ее соответствующее дерево решений с использованием стандартного рекурсивного процесса. Впоследствии набор признаков (вектор двойников) выпадает из каждого дерева решений и выводится предсказание класса. A la Random Forest, принимается большинство голосов и принимается окончательный класс.Хранить дерево объекта непосредственно в источнике, чтобы избежать роста во время выполнения
Я попытался оптимизировать код и обнаружил, что перестройка этих больших деревьев занимает большинство (~ 98%) моего времени выполнения. Таким образом, я хотел спросить, есть ли какой-либо способ жестко кодировать весь объект дерева в файл декларации .cpp. Таким образом, вместо того, чтобы повторно строить деревья во время выполнения, объекты дерева уже доступны для прохождения во время выполнения.
Я бы с удовольствием отредактировал мое сообщение и предоставил больше кода по запросу, но сам код стал довольно сложным и может выходить за рамки моего вопроса. – slaw
Считаете ли вы Cap'n proto - http://kentonv.github.io/capnproto/ – tumdum
@ TomaszKłak: К сожалению, мой босс хочет, чтобы решение было полностью автономным. Спасибо за предложение. Я буду помнить о других проектах! – slaw