Никита Полевой: нет. это как раз пример задачи на принятие нестандартных и простых решений. Есть верёвка и столб (например, опорная колонна здания: срез столба - не замерить никак) с известным диаметром, и всё.
Нужно просто подумать.
Константин : про паттерн с параллельными "дорожками" (снимками) в одном потоке - понятно, но хотелось бы штампануть паттерном (битовая операция) сразу все эти снимки в один процессорный цикл, а не последовательно (итеративно, циклически) это исполнять. Видимо, нужно прибегать к GPU конвейерам и как-то на них уже это фигачить.....
x32net: Да. Просто при анонимной отправке у хоста-отправителя проверяется PTR-запись и MX-запись и, если какой либо из них нет или любое несоответствие, или любой IP из этих записей в DNSBL (черн.списки), или если нет почтового домена или пользователя такого, куда пытаются отправить (Open Relay - закрыт обычно) - то ему не дадут отправить вообще ничего и никуда.
4upik: если ничего кроме тайтла отличаться не будет - то может скрыть страницы и нет разницы: поддомен у Вас или каталог.
Если делаете дубликаты для разных городов, значит на это должен быть информационный смысл для посетителей: разные цены, наличие, условия, акции, оформление страниц и т.д.
А если речь про длину URL - то проверено: за это не банят.
Так что в первую очередь - поисковик смотрит на ваш "спам-порыв", а только потом - на всё остальное (на контент и линки).
romy4: то, что отсортировано уже по ключам при добавлении в базу - не сортируется при запросе, если нет доп. отношений с другими данными.
а timestamp - всегда сортируется по ключам внутри БД на системном уровне базы и это не зависит от следующих факторов никак: использовалось это поле в запросе, были ли условия для этого поля или была ли сортировка asc или desc.
abcd0x00: "А сейчас в ДОС посадить современного пользователя, он ничего не сможет там сделать. Да что говорить о пользователях, сисадмины не ориентируются."
Да, это точно... я вот по привычке с NC работаю с файлами в Far Manager и пользуюсь командной строкой, также пишу bat-файлы с errorlevel и циклами для своих нужд! И не хочется менять ничего!)))
Поставил dig и wget дополнительно для консоли и еще пару нужных nix-утилит и отлично вообще)
Константин : "Это же позволит в одной и той же итерации вести проверку, как на вертикальное, так и на горизонтальное совпадение, и плюсом еще и на совмещенное совпадение "крестом""
Если вертикальная и горизонтальная - это плоский массив, то после определения возможных битов - можно также создать набор "крестов" и в этом же цикле - транспонировать в "плоский" массив, на основе найденных битов (где точно может находиться искомое сочетание).
И тогда, в одну бинарную операцию - выявить все положения объектов.
"Вспомните про операции SHL и SHR" - да помню я, только вот как тут выгоднее их применить - пока не могу увидеть.... они только или для степени 2-ки, или как конвейер стека. В общем, тут подскажите, плс.
Пока только INC и DEC вижу, как можно применить для циклов)
Т.е. фактически, нужно просто грамотно сворачивать логику перебора, что у меня пока плохо получается, хотя уже давно кодирую)
Таким образом можно и любые массивы данных сравнивать в любом языке в одну операцию: 1TB & 1TB = 1TB (логич. умножение двух террабайтных данных)
Правда, вот неизвестно как делать это действительно параллельно при таком объёме операндов?
Куликов Александр: он даже Вас вогнал... а вот всё сразу видно)))
всех здесь так и учат: математически всё считать и никак иначе.
Вокруг столба - нужно один раз веревку обернуть!
romy4:
1. "а никак не выбирает ровно 2000000-20 записей"- возможно Вы имели ввиду: "а никак не выбирает меньше ровно на 2000000-20 записей"?
Это совсем разные цифры)
2. А про скорость отдачи, советую посмотреть на запрос по-внимательнее!
Там есть условие, которое автоматически индексируется, если является полем timestamp. В итоге, при сортировке по этому полю, автоматически отбрасывается всё, что выше (старее) этой даты и эти записи не просматриваются.
"Так что вам минус за знание внутренней работы mysql."
Ок. Минус - принят.
Константин : PS: еще вот подумал, что поворот на 90 градусов не нужен, если мы ищем только левый верхний угол объекта. Поэтому, мы можем заполнить пустые биты следующими 2-мя строками за текущей, чтобы не гонять 0-ые вхолостую. Т.е., будет 8 вместо 24, что уже в 2/3 раза меньше будет вычислений!
Константин : да что там говорить)) тут ещё пилить и пилить....
Про битовую ща еще подумал:
1. Можно в одну строку (я пока байтами делаю, но всё же для начала...) сделать в одном цикле горизонталь и вертикаль сразу в одну строку, и здесь же (в этом же цикле) - создать 2-ю строку: жёлтую сетку (см. мой рисунок).
2. Затем просто и выполнить битовое умножение (AND) этих данных и полученные биты - будут как раз указывать на индексы 1-го приближения: возможные места, где может быть 111 подряд по вертикали или горизонтали.
3. Затем сформировать маску и по 1-й строке - снова умножение.
Полученная строка: будет содержать 111 или 000.
4. Затем отсеять переносы на след. строку тоже маской и умножением (AND).
5. И вывести индексы цепочек бит с 111 из результата перемножения.
Khkystou: это сниффер... https://www.wireshark.org/
Ставьте себе на комп (Windows), запустите и настройте фильтры, пробрасывайте порт из-вне (с того хоста, куда маяк шлёт данные) на свой Win-комп, мониторьте трафик и спокойно отлаживайте PHP-код.
Также, можете прокинуть порт через SSH-туннель с удалённого хостинга (хост-площадки вашей) чтобы отладить на своей машине, а как всё будет готово - просто поднимите там нужный порт и всё.