ckotinko (ckotinko) wrote,
ckotinko
ckotinko

Category:

Я устал от работы

И тут не я виноват. Суки, я вам сделал два года назад быструю gis panorama. Ко мне на новый год системотехники пришли, сказали: пошли бухать, человек который победил панораму. Так вот, у нас есть сотрудник. И кстати, я ничего против него не имею. Всё, что я пишу ниже - это моя точка зрения, она субъективна, как говорят.

Короче, раз панорама тормозит, и однопоточна, я её запустил в отдельном потоке. Для работы с ней был сделан framework, позволявший лямбдами на С++ писать код "там" и код "после возврата". И всё работало, хотя вру. Была проблема причем источникм её был Qt, но её можно было решить. В том числе и патча Qt. Проблема была в том, что Qt до упора обрабатывал свои события(он не виноват) а у нас копились "ответы" съедая память. Это тоже было решаемо.

Просто дайте немного больше времени. Но получилось иначе. Товарищ у нас есть, сильно грамоте компьютерной обученый. Настолько сильно, что некоторые подходы воспринял как веру и исповедует искренне. Он у меня передрал ряд подходов 1-в-1, но там где писалось в три строчки, теперь пять файлов. Потому что ООП. Вот как их учат, так он и хуярит. Там где у меня было 2 файла на всё, там у него 200 файлов. Не 200 точно но отношение примерно такого порядка. У меня там 6 файлов: 3 h и 3 cpp. Сейчас у нас около 200 файлов относящихся к гису.

У меня были в классе методы "там-в потоке гиса" и "тут-по возврату". и вызов выглядел как

void Map::openMap(const QFileInfo &info) {
emit reset();
mWorker->sync(this, K::bind(&Map::doOpenMap, this, info));
}


K::bind это обход расхождений между msvc и gcc.

В общем, человека зачем-то системнотехники позвали. А но видимо мстительный и сделал всё сам. А вот КАК. Это пиздец, я заранее лучи говна посылаю всем мудакам, которые собеседования проводят с задачами на "алгоритмику". Короче, вот он эти задачи пройдет лучше меня в сто раз. Но там где у меня одна строка, у него 5 файлов - и именно в части вызова функции в соседнем потоке. Это нетривиальная хуйня когда тебе с Qt надо одновременно сшить эту функцию: Qt запредельно баговый в этой области. Я это сделал. Он - нет. Вместо этого он просто нахуярил пиздец.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments