пишу тут абстрактный веб сервер, первой сделал реализацию на libh2o (пишут, что быстрее чем nginx). но там не поддерживаются регулярные выражения, так что можно обработчик запроса поставить только по началу пути. решил замутить свое, но оно жутко тормозило, начал выяснять, уперся в std::regex
$g++-5 --version
g++-5 (Debian 5.1.1-14) 5.1.1 20150711
$g++ --version
g++ (Debian 4.9.3-2) 4.9.3
$clang++ --version
Debian clang version 3.7.0-svn239806-1+b1 (trunk) (based on LLVM 3.7.0)
int main(int,char**)
{
std::string text = "/some/path/dkfjasg;kfhd/04857q2==kjkgjhoi34k[h/sock";
boost::regex parser("/some/path/([^/]+)/([^/]+)/sock");
chronometr chron; // в деструкторе печает сколько прошло от конструирования объекта
for(std::size_t i=0;i<10000;++i)
{
boost::smatch mt;
boost::regex_match(text,mt,parser);
}
return 0;
}
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)