А если не использовать промежуточную таблицу, будет медленнее?
Оптимизируют ли sql-движки вложенные запросы,
или просто делают выборку из декартового произведения?
зашел пользователь:
если таймер "30 дней" не запущен
запускаем таймер "30 дней"
если запущен таймер "1 день без посещения"
сбрасываем таймер "1 день без посещения"
запускаем таймер "1 день без посещения"
сработал таймер "1 день без посещения":
сбросываем таймер "30 дней"
сработал таймер "30 дней":
alert('прошло ровно 30 дней с перерывами в посещении не больше 1 дня')
А вообще, задача актуальная: например, для подсчета прогулов.
Была статья про убийцу json....
Даже решил свой запилить, но если для бинарного формата важна производительность, для текстового человекочитаемость и краткость.
И, вообще, должна существовать какая-нибудь алгебра для людей. Например, если freq0 — гармоника frame_rate и субгармоника sample_rate, т.е
frame_rate < freq0 < sample_rate,
где < — отношение делимости,
то разложив размер окна на простые множители, и взяв оригинальные подмножества, получим количество возможных частот без искажений:
window=2*2*2*2*3*5*5*5*11 gives (1+4)*(1+1)*(1+3)*(1+1) frequencies
window=60=2*2*3*5 gives (1+2)*(1+1)*(1+1)*(1+1)=24 frequencies
window=4096=2^12 gives (1+12)=13 frequencies
после оцифровки превращается в сигнал низкой частоты
А какой именно частоты? Правильно ли, что: T_observed = T_sample%T_signal?
10%21=10=-11
10%11=10=-1
10%9=1 график 10%x в wolframalpha
Еще интересно, возникает ли аналогичный эффект, когда сигнал имеет больший период, чем период окна?
Что-то наподобие: T_observed = T_sample%T_signal%T_frame?
Врядли, подобные проверки требуют интернет трафика, много оперативной памяти. А маленькая задача, запускаемая по таймеру практически не заметна для современных, в том числе и мобильных процессоров.
Другое дело: невмеру продвинутый дизайн, непрактичная тяга к универсализации инструмента и cryptoUI: хитроумные полиморные вставки в DOM, переусложненные стили…
Хотя скорее всего к этому и идем…
Скорее, к этому идут сайты, а не пользователи:
многие интересные сайты — минималистичны: pinterest.com, agar.io, editpad.org, develop.re, craigslist.org, bash.im, arxiv.org, echojs.com, nplus1.ru, gostash.it, neurowareblog.blogspot.com
Про память — сейчас добавлю.
Взятие по индексу — точно быстрее, чем последовательный перебор 'else if'-ами. Cомнение вызывает indexOf, но можно обойтись без него и, он как минимум пропорционален числу условий, а может и быстрее. Поиск в хеш-мапе приблизительно O(1), за исключением коллизий, — тут зависит от реализации. Хотя, была ситуация: поиск по длинным строкам в качестве ключа жутко тормозил, пришлось сначала искать по числовому хешу от строки(вычисление которого, впрочем, также вписывается в этот подход). Что касается вычислений, то возведение в целую степень также может быть линейным, но такие алгоритмы врядли еще где остались. Однако, завершения вычисления 50-го число фибоначчи рекурсивным алгоритмом не дождался(отчасти поэтому не включил код в статью), а для индексного результат был без задержки. По-хорошему, конечно, надо бы сделать замеры скорости, но для простых формул — это не актуально. Итого, ответ — возможно, но только для неоптимизированных вариантов: как вы правильно заметили, расходуется дополнительная память, — мы преобразуем временную сложность в пространственную.
блокировщику рекламы через суд запретили блокировать блокировку блокировщиков :)
То есть запретили Б3Р. Есть книга «Конфликтующие структуры», там вводится алгебра для подобной рекурсии.
Возможно, должен быть какой-то международный запрет на принятие подобных запретов: «право на бесконечную рекурсию».
Оптимизируют ли sql-движки вложенные запросы,
или просто делают выборку из декартового произведения?
зашел пользователь: если таймер "30 дней" не запущен запускаем таймер "30 дней" если запущен таймер "1 день без посещения" сбрасываем таймер "1 день без посещения" запускаем таймер "1 день без посещения" сработал таймер "1 день без посещения": сбросываем таймер "30 дней" сработал таймер "30 дней": alert('прошло ровно 30 дней с перерывами в посещении не больше 1 дня')Зашел пользователь — запустили таймер на 30 дней :)
А почему вы не считаете его человекочитаемым?
Даже решил свой запилить, но если для бинарного формата важна производительность, для текстового человекочитаемость и краткость.
называется CLS(Contexted Lists and Sets)
Ваш вариант, мне нравится даже больше :)
frame_rate < freq0 < sample_rate,
где < — отношение делимости,
то разложив размер окна на простые множители, и взяв оригинальные подмножества, получим количество возможных частот без искажений:
window=2*2*2*2*3*5*5*5*11 gives (1+4)*(1+1)*(1+3)*(1+1) frequencies
window=60=2*2*3*5 gives (1+2)*(1+1)*(1+1)*(1+1)=24 frequencies
window=4096=2^12 gives (1+12)=13 frequencies
10%21=10=-11
10%11=10=-1
10%9=1
график 10%x в wolframalpha
Еще интересно, возникает ли аналогичный эффект, когда сигнал имеет больший период, чем период окна?
Что-то наподобие: T_observed = T_sample%T_signal%T_frame?
Если такой сайт и будет существовать, пользователь о нем не узнает.
Как крайний вариант — настраиваемое устройство, бьющее пользователя током, каждый раз, когда он обращает внимание на рекламу :)
Другое дело: невмеру продвинутый дизайн, непрактичная тяга к универсализации инструмента и cryptoUI: хитроумные полиморные вставки в DOM, переусложненные стили…
Скорее, к этому идут сайты, а не пользователи:
многие интересные сайты — минималистичны: pinterest.com, agar.io, editpad.org, develop.re, craigslist.org, bash.im, arxiv.org, echojs.com, nplus1.ru, gostash.it, neurowareblog.blogspot.com
Взятие по индексу — точно быстрее, чем последовательный перебор 'else if'-ами. Cомнение вызывает indexOf, но можно обойтись без него и, он как минимум пропорционален числу условий, а может и быстрее. Поиск в хеш-мапе приблизительно O(1), за исключением коллизий, — тут зависит от реализации. Хотя, была ситуация: поиск по длинным строкам в качестве ключа жутко тормозил, пришлось сначала искать по числовому хешу от строки(вычисление которого, впрочем, также вписывается в этот подход). Что касается вычислений, то возведение в целую степень также может быть линейным, но такие алгоритмы врядли еще где остались. Однако, завершения вычисления 50-го число фибоначчи рекурсивным алгоритмом не дождался(отчасти поэтому не включил код в статью), а для индексного результат был без задержки. По-хорошему, конечно, надо бы сделать замеры скорости, но для простых формул — это не актуально. Итого, ответ — возможно, но только для неоптимизированных вариантов: как вы правильно заметили, расходуется дополнительная память, — мы преобразуем временную сложность в пространственную.
- ad.*; ads.*; adv.*
- размер изображения
следующий виток: эвристики распознавания антиблокировщика рекламы:Возможно, должен быть какой-то международный запрет на принятие подобных запретов: «право на бесконечную рекурсию».