Была утилита, которая дампила все неиспользуемые блоки. Для каждого сдампленного блока запускался фильтр, разработанный специально под заданную таблицу. Качество фильтра позволило выявить 101% всех блоков. То есть 1% — все таки был мусор из-за ложного срабатывания. Потом каждый блок примеривали к другому, с тем, чтобы фильтр при объединении давал «добро». Да и глазами приходилось смотреть, чтобы выявить явную чушь. Как вспомню — вздрогну. Бекап бы не позволил такому случится :)
Один раз приходилось выделять 20Мбайт полезной информации из свободных 20Гбайт диска. Заняло три дня. Почти в ручную собирал мазайку удаленного MyISAM файла в FFS на FreeBSD. Некоторые любят вышивать крестиком, но это удовольствие — только для суровых челябинских админов. Получается, что на это подпишется хотя бы один человек. Вот только кто он — я без понятия.
В комментариях предлагаю обсудить, какие изменения в программном обеспечении придётся сделать в течение ближайших 8 месяцев, чтобы это учесть.
Готовится можно по разному. У меня, например, мыло и веревка уже припасены.
«Мужик, я ничего не понял, что ты сказал. Но ты мне близок. Ты… достучался до моего сердца.» (с) Джей и Молчаливый Боб наносят ответный удар.
На самом деле, пока не понял, как это может пригодится, но это одна из наиболее интересных статей за последнее време.
Выделение памяти прежде всего зависит от условий задачи, и лишь уж потом — от используемых в ней инструментов (алгоритмов, библиотек и прочего). Данная задача выбивается из ряда обычных, поэтому и недовольство аллокатором или наслоенным поверх него темплейтом становится более вероятным. Серебряной пули нет. Правила русской рулетки того и не требуют.
RISC/CISC/VLIW — одного поля ягоды. Это не какая-то конкретная архитектура. Это классификатор микропроцессорных архитектур. Сферический конь, поскольку если рассматривать режимы процессоров, наборы команд, и т.д., то один и тот же процессор может одновременно попасть в несколько категорий. И по поводу википедиа: научиться правильно копипастить — это не есть цель моей жизни.
VLIW — Very Large Instruction Word — это не архитектура. Это описание машинного кода, когда инструкция несет параллелизм в себе. Когда оптимизация выполняется на уровне компилятора. Насчет SPARC — ничего не знаю, но вот минусовать правильные вопросы как-то становится очень по хабровски.
Само собой разумеется :) На обычных процессорах в последовательном исполнении получим O(n*n), что может дать и пузырек. Пример на python показателен тем, что в нем наглядно видно, что сортировать можно не только цифры, а все, для чего определима функция сравнения. Что же касается массивов, размерностью превышающих MaxThreads, то входной массив тогда лучше всего фрагментировать в несколько размерностью MaxThreads, после чего досортировать через MergeSort.
Эт для наглядности, и только. Понятно, что первый цикл может выполняться в параллель. Получаем, что уже не O(N^2), а O(N*k), где k = ОкруглениеДоМинимальнойЦелойГраницыСверху(N/MaxThreads). Если выполняется условие (0 < N <= MaxThreads) — то константа k выродится в единицу, откуда следует что в этом частном случае сложность будет O(N).
тайминг умножаем на частоту памяти — поэтому смотрим тайминг:
15/1200000000
.0000000125
12/800000000
.0000000150
Это в том случае, если формула RAS+CAS+RCD — более менее верна.
Но увеличение быстродействия еще связано с количеством планок, а не только с тактовой частотой, поскольку включается режим перемежения банков памяти, что гипотетически способно увеличить скорость последовательного доступа до 2 раз, при переходе от двух до четырех банков памяти.
tidy — да. Чтобы менеджеры не порвали сайт своей версткой приходится использовать. А во фремах бывает удобней оставить «орфографию автара», иначе они потом возникают — почему текст свой не узнать. javascript блоки опять же без disable-output-escaping выглядят неествественно.
Готовится можно по разному. У меня, например, мыло и веревка уже припасены.
На самом деле, пока не понял, как это может пригодится, но это одна из наиболее интересных статей за последнее време.
15/1200000000
.0000000125
12/800000000
.0000000150
Это в том случае, если формула RAS+CAS+RCD — более менее верна.
Но увеличение быстродействия еще связано с количеством планок, а не только с тактовой частотой, поскольку включается режим перемежения банков памяти, что гипотетически способно увеличить скорость последовательного доступа до 2 раз, при переходе от двух до четырех банков памяти.
А что, промолчать не трудно.