Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
int suggest(char*** slst, const char* word);Что это? с++?на си это сделано так: сначала цикл по пикселям, затем цикл по компонентам пикселя и уже в самой глубине switch, выбирающий нужную функцию. На c++ тоже самое: сначала switch, затем вызов одной и той же шаблонной функции обхода пикселей и компонент, но в качестве аргумента — лямбда функция обработки одной компоненты
Будучи бэкэнд разработчиком меня всегда не устраивали существующие хтмл парсеры
Я ставил себе задачу парсить 1000 за секунду. Рандомно брал 1000 страниц,, среднее время парсинга составило 0.8 секПриличные результаты. Когда пытался тестить существующие, заметил что наибольшее падение скорости на ошибках разметки в линейных, не вложенных тегах(либо слабовложенных) поскольку они чаще всего остаются на конец распарса
На данном этапе я активно ищу баги.
void myhtml_string_clean_all(myhtml_string_t* str)
{
memset(str, 0, sizeof(myhtml_string_t));
}
char * myhtml_string_init(mchar_async_t *mchar, size_t node_idx, myhtml_string_t* str, size_t size)
{
str->data = mchar_async_malloc(mchar, node_idx, size);
str->size = size;
str->node_idx = node_idx;
str->mchar = mchar;
myhtml_string_clean(str);
return str->data;
}
Мы с ним в разных весовых категориях.В каком смысле, Александр?
проявит к этой теме интерес то могу писать узконаправленные статьи
MyHTML — HTML парсер на «голом» Си с поддержкой POSIX Threads