Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Найдено страниц: 9
Файлы vs базы данных.
Степень соответствия запросу: 92,48%
Фрагменты текста поста : ... html в определенный день, нужно сперва вычислить сколько дней прошло с 1 января 2000 года до искомой даты, затем «заглянуть» в ячейку массива Пример кода $ar['pages']['/stat... ... Нужно сперва собрать «заготовку», состоящую из домена поисковика и искомой фразы, разделенных двумя символами вертикальной черты, а затем просмотреть все элементы массива («раздел» allsein) на предмет ПОЛНОГО строкового равенства (совпадения)... ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Язык PHP содержит пару функций ( serialize и unserialize ), предназначенных для преобразования массива в строку и обратно... ... Первая склеивает все элементы массива (разделяя их спец-символами с технической информацией) и возвращает полученную текстовую строку... ... Вторая делает обратное преобразование из строки в массив... ... Прикол в том, что unserialize восстанавливает точную копию исходного массива , даже если он многомерный, даже если его элементы представляют собой тоже массивы, которые в свою очередь тоже содержат массивы... ... Просто одной командой вы можете превратить ваш супер запутанный массив в текст, а второй точно также вернуть все обратно... ... приходится парсить (разбирать) огромный объем текста, выискивая в нем те самые спец-символы, по ним восстанавливать значения исходных ячеек и клеить их в результирующий массив... ... Итак, скрипт загружает текстовый файл и преобразует его в массив... ... Если вы внимательно прочли предыдущий абзац, то уже должны понимать, что при небольшом количестве элементов в массиве операция проходит относительно быстро... ... она требует перебора части (а в худшем случае всех ) элементов массива и для каждого из них необходимо сделать сравнение достаточно длинных текстовых строк... ... Случаи когда с данной поисковой машины еще не было посетителей и нужно создавать целую ветку массива рассматривать не будем... ... Серилизация (склейка элементов массива в строку) и перезапись (опять же) ВСЕГО файла статистики... ... тут затронута обработка данных только из одного «раздела» статистики (а ведь скрипт еще должен скорректировать данные и в остальных), не описан блок, который проверяет доступность сайта для данного юзер-агента и хоста-источника (а он жрет времени тоже немало), не учтены потери на выделение/освобождение памяти и копирование целых веток массива, если автор решил (для упрощения программирования) отделить часть массива например так: Пример кода $as = $ar['allsein']... ... // выделяем данные о заходах с искалок в отдельный массив Все это уже не столь важно... ... А значит парсинг текста и построение массива, равно как и последующая склейка все равно будут выполняться при каждом обращении к скрипту (сайту)... ... И хотя это будет гораздо быстрее чем сканирование массива (за счет работы библиотечных функций) все равно потребует много времени... ... Благодаря тому, что мы проиндексировали поле с именем хоста, мы находим нужную запись в 15 раз быстрее, чем в массиве (буду брать наихудший вариант)... ... Для работы механизма БД, система должна будет загрузить целиком в память три файла индексов... ... После того как мы нашли с помощью индексов нужную запись, ее требуется загрузить в память... Подробнее: http://fit-media.com/post_1222679684.htmlУрок информатики для мелкософта (пояснение к залепе №8)
Степень соответствия запросу: 4,15%
Фрагменты текста поста : ... Выходило, что чтобы получить оптимальное по скорости и памяти решение (например драйвер устройства или часть ядра ОС) необходимо использовать только ассемблер, напороть ошибок в котором проще простого... ... возможность указать, что переменная должна храниться в регистре процессора, а не в памяти... ... возможность управления размещением переменных и полей структур в памяти... ... команды выделения/освобождения памяти... ... Но тут я хочу напомнить, что создание объекта - это не только выделение памяти под сам объект, но и создание и инициализация всех его членов-полей (которые, в свою очередь, тоже могут быть объектами), а также выполнение конструктора этого объекта и всех конструкторов всех его предков... ... Ну, а если этот объект представляет собой, например, таблицу из базы данных, который, вдобавок ко всему сказанному, при инициализации будет устанавливать соединение с этой самой БД и загрузку данных из нее, отъедая не только память и процессорное время, но еще и канал связи... ... теперь ссылается на тот же объект в памяти, на который ссылается a... ... Вот так и будет у нас болтаться в памяти фантом (на который ссылается переменная c ), который должен быть давным-давно уничтожен, а правильнее - просто откорректирован еще в методе operator+=() , создание которого майкрософт возложило на компилятор и ( внимание... Подробнее: http://fit-media.com/post_1198760520.htmlОптимизация PHP-кода
Степень соответствия запросу: 2,89%
Фрагменты текста поста : ... Удаляйте свои переменные для освобождения памяти, особенно если это большие массивы... ... Если функции замены строк, может принимать в качестве аргументов как массивы, так и одиночные символы, и если ваш список аргументов не слишком длинный, подумайте над тем, чтобы записать несколько одинаковых выражений замены, проходя один символ за раз, вместо одной строки кода, которая принимает массив поиска и замены Лучше использовать конструкции else if , чем несколько конструкций if... ... это высокопроизводительная система кэширования объектов в памяти, которая повышает скорость веб-приложений за счёт уменьшения времени загрузки БД... ... Часто это излишне, поскольку методы и объекты занимают много памяти... ... Не определяйте каждую структуру данных в виде класса - массивы бывают намного полезнее... Подробнее: http://fit-media.com/post_1207831883.htmlЗалепа №10 Cупер-хренорезка может все. Только хрен не режет.
Степень соответствия запросу: 0,26%
Фрагменты текста поста : ... Ну коль уж так хочется напихать в календарь еще и прогресс-баров с радио-кнопками и полями ввода RTF-текста, то почему их нельзя перебрать просто как массив... ... Видимо, по мнению майкрософта, пользователи их библиотек настолько тупы, что для них нужно было создать отдельное свойство, а просто сравнить с нулем количество элементов в массиве Controls они не догадаются... Подробнее: http://fit-media.com/post_1202303173.htmlЗалепа №13. О грамотном проектировании и неграмотном IDE.
Степень соответствия запросу: 0,11%
Фрагменты текста поста : ... Но если это будет справочник артикулов продукции, которых может быть несколько десятков тысяч, то мы получи дикий перерасход памяти, ведь для каждого объекта будет создано отдельное (пусть и скрытое) окно... ... Это вызовет не только расход памяти, но и будет существенно тормозить программу... Подробнее: http://fit-media.com/post_1204892317.html13 сентября - День программиста
Степень соответствия запросу: 0,03%
Фрагмент текста поста : ... За чтобы выпить, дай бог памяти... Подробнее: http://fit-media.com/post_1202303830.htmlЕсли бы microsoft не была такой ленивой...
Степень соответствия запросу: 0,03%
Фрагмент текста поста : ... Иначе запущенная копия ворда останется в памяти ( привет нормальным пацанам из microsoft и их гениальному сборщику мусора ) и будет болтаться там до перезапуска системы... Подробнее: http://fit-media.com/post_1205882168.htmlИдея глобального контента
Степень соответствия запросу: 0,03%
Фрагмент текста поста : ... БД постоянно будет использовать одну таблицу, а значит часть ее всегда будет торчать в памяти (кэше), соответственно запросы должны выполняться гораздо быстрее... Подробнее: http://fit-media.com/post_1242742678.htmlСтатичные файлы vs скрипты. Невидимое зло.
Степень соответствия запросу: 0,03%
Фрагмент текста поста : ... Если вы создаете настольное приложение, то вам нет необходимости заботиться о расходе памяти (ее навалом в любом современном компе) равно как и о нагрузке на процессор и т... Подробнее: http://fit-media.com/post_1283692130.html
