Как можно ускорить функцию поиска подстроки в строке (strstr)? Написал исчерпывающее решение (для меня). но оно не ровня библиотечным функциям (по времени выполнения) на linux для C. Сразу скажу, что компилировал с оптимизацией 1, выше поднимался. но время выполнения не менялось и добавил пару аргументов: длина строки и длина подстроки
char* fun_search_c(register char* m_0,int l_0,char* m_1,int l_1)
{
register char* m=m_0+l_0;
register int l=0;
for(;m_0<m;m_0++){
if(m_0[0]==m_1[0]){
for(;m_0<m;m_0++,m_1++,l++){
if(m_0[0]!=m_1[0]){
m_0-=l;
m_1-=l;
l=0;
break;
}
if(l==l_1-1){
return m_0-l;
}
}
}
}
return 0;
}