Возникла потребность в примитивном фильтровщике ввода в текстовое поле, без учета вставки из буффера.. <input type=”text” onkeypress=”valueFilter(event, [0,1,2,3,4,5,6,7,8,9])” />
пример в действии (допустимы только числовые сиволы):
Пытался дибажить пару дней странное “Не удалось открыть узел, операция прервана” от IE во время запуска примитивного js скрипта.. Оказывается IE не переваривает добавление элементов на лету, пока DOM до конца не сформирован и тупо клозит, указывая на стену.. Причем любит клозить на SCRIPT и IFRAME тегах больше, чем в остальных случаях В итоге меня устроил вариант с document.write(..).
Из альтернатив window.onload( function() {..} ), но обламывает ждать полную загрузку страницы с картинками, либо setTimeout(function () { document.body.appendChild(el); }, 0);, тут уже вставка произойдет без дожидания загрузки всех дополнительных элементов страницы.. Также есть готовые решения проверки загруженности DOM’a в популярных фреймворках типа Prototype и jQuery..
Натолкнулся на данные ворнинги, после продолжительных тестов и эксперментов пришел к выводу, что на это влияет следующий за Апдейтом MySQL запрос с DELETE IN(…) .
Апдейты и делеты в цикле. Есть делет запрос - есть ворнинги :)
max_children=0 так же решает проблему при одновременно использовании MySQL..
Столкнулся с проблемой, при попытке заапдейтить большой массив айдишек. Searchd ругается на 8кб с копейками запрос и клозит соединение.. Решение - разбить массив айди на несколько частей
Почему-то при изучении и работе с пхп в мане нираз не видел упоминаний про работу с большими файлами (2гб+), хотя оно там есть и по ошибке, выдаваемой интерпретатором (File size limit exceeded), этот ман не гуглится
Для работы с большими файлами требуется пересобрать PHP с флагами CFLAGS=”-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64″
Ахтунг, если поддержка нужна для веба, необходимо также пересобрать апач и мод_ссл с теми же флагами. Для консоли сойдет пересобрать пхп в другое место
Интересный факт, что после сборки PHP с такими флагами, время работы с файлами увеличилось ровно в 2 раза, по сравнению со сборкой без флагов. Добавляем -O2 или -O3 к флагам и радуемся результату при -O3 работает чуть-чуть быстрей дефолтной сборки (gcc 4.1.1).
Прочитал тут недавно у одного адепта, что не имеет смысла оптмизировать строки и писать в ординарных кавычках, что лучше строить боинги которые видимо развалятся не взелетев с таким подходом ПОХАПЕ сам по себе гавноязык, который нужно оптимизровать везде насколько можно, если нужна максимальаня производительность, что особо сказывается на крупных проектах. Слово крупный тут не значит использование всевозможных фреймворков и больших денег за работу, слово крупный тут имеет смысл большой нагрузки, где каждый выигранный % производительности на счету.
Не поленился написать нубоскрипт, вот результаты:
# vars time with " time with ' performance
1 3.6974380016327 2.5139710903168 147.08%
2 6.0501251220703 5.0527441501617 119.74%
3 8.2543439865112 7.8380331993103 105.31%
4 10.672549962997 10.420034885406 102.42%
total 28.674457073212 25.824783325195 111.03%
Отсюда видно, что максимальный отрыв наблюдается при подстановке 1ой переменной и даже при падении скорости при подстановке 4х переменных, общая производительность выше. Поэтому не ленитесь и пишите все строки сразу с 1ой кавычкой, тем более если нужно подставить всего 1ну переменную. Continue reading »
Очень полезная и чесно пизженная функция с каментов на php.net с минимальными изменениями, помогает для отлова узких мест в скрипте и настройки производительности функций/методов
Recent Comments