ушёл в гибернейт |
[Jun. 30th, 2018|01:15 pm] |
по очевидным причинам, изложеным в прошлом посте.
на последних ресурсах успел допилить в vc оптимизатор кода отдельным модулем. а то пытаться делать это в кодогене — идея заведомо проигрышная: это почти сразу становится unmanageable. поэтому вынес в отдельный модуль, в котором каждая простая оптимизация — отдельная функция, и оптимизатор гоняет их по кругу, пока они все не скажут, что больше ничего не получилось.
из реализованых оптимизаций пока простейшие убиралки лишних джампов, да простенький же dead code eliminator для if/while с условием-константой. не то чтобы они сейчас давали огромный выигрыш (хотя любой убраный jmp — уже хорошо), но если вдруг случится денежное чудо, то я попробую добавить в оптимизатор value propagation (и, может, VRP). вот с этим dead code eliminator сразу заиграет новыми красками. учитывая, что у меня есть отдалённое, но определённое желание сделать для вавума ботов на GOAP (см. F.E.A.R.), быстрая VM лишней не будет.
а за сим — $subj. каменты закрыты как раз потому, что я всё равно их читать особо не смогу, так что так проще. |
|
|