parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 09.06.2015 10:24 / 09.06.2015 10:25

попробовал реализовать. увы, быстрее не получилось (точнее получилось лишь чуток быстрее)
^t.sort{код} вообще переплюнуть нереально, т.к. вызов метода -- это поиск метода, подготовка его к вызову (store_params) + выполнение кода. а выполнение кода -- это и есть {код}. т.е. с оно call всегда быдет медленнее.

получившийся ^t.sort[$call] лишь немногим быстрее ^t.sort{^call[]}, т.к. убирается только множественный поиск метода, а он и так быстрый. а вот заполнение переменных для вызова метода всё равно остаётся, т.к. в потрохах у нас нет механизма вызова method frame с одинаковый read context, но разными write context. если это добавить, то это можно будет ускорить, однако я не уверен, что оно нужно, т.к. фактически это будет использоваться только тут, при этом всё равно будет медленнее, чем ^t.sort{code}, а разница между ^t.sort{^call[]} И ^t.sort{code} и сейчас не очень велика.