Получается, что микрософт на данном этапе как-бы неявно сигнализирует, что ими достигнут предел развития для данного уровня инфраструктуры? Требуется новая, молодая кровь? Все возможности исчерпаны? Деньги есть, условия есть. Вот только что-то людей продвинутых совсем мало.
С чего бы это? Может продвинутым интересно по другому? Где люди? Ау!!! Кто будет качать беты, случайно утекшие (нет просочившиеся) в сеть? Почему не работают программы вузов? Где те сумасшедшие чуваки, что пишут код и придумывают миры? Что с дот-нетом? Почему он не привлекает новых, полных идей гиков? Где эти противные пани орущие про консоль? Мы ведь сделали мощную платформу командной строки.
А наш msdn! Для кого это все писалось? Для нас? Нет. Мы и так все знаем. Никогда не поймешь, что им надо. Все же есть!
надо вообще посмотреть через strace и valgrind на что уходит больше всего время. Либ искать функцию, читающую каталог сегментами/порциями либо допускающие «пагинацию» на чтение каталога. Как вариант спросить у ОС (эта информация всегда есть) сколько в этом каталоге элементов, если превышает некоторое магическое число — использовать другой алгоритм. Думаю в АПИ есть функция позволяющая читать заданное число элементов не более указанного. Если есть возможность читать порциями каталог, то эти части скармливать эрлангу по 500-1000 параллельных потоков удаления, за один такт. По умолчанию 32000 процессов можно запустить, но с учетом разных других процессов лучше исходить из достаточного минимума. Итого понадобится 1000 тактов по 1000 процессов в каждом. Если все хорошо это можно увеличить в 32 раза.
Интересно понять что это за ограничения: ОС или недостатки алгоритмов. Надо будет попробовать на досуге чудный erlang, со своими легковесными процессами. Не исключено, что тормоза начинаются на стадии чтения каталога. Если это так, то возникает не менее увлекательная задача параллельного чтения каталога ОС.
Ничего так. Жаль, что закрытый и java. У меня как java стартует, сразу образуется неубираемый своп, который еще и растет со временем, независимо от того использую еще джава-приложение или давно уже вышел. Это одна из причин моего перехода на emacs с долгого использование eclipse. Стоит до сих пор, жалко сносить, иногда пользую.
Вот так правильно. Самому будет легче. Первые 10 лет тяжело потом привыкаешь :)
Если код не отформатирован валидно, то это может говорить о следующем: спешка, нет нормального редактора, новичок, недостатки самовоспитания, поверхностное отношение, отсутствие стандартов, одиночка.
На настоящий момент наиболее популярны следующие редакторы, которые пробовал для php: emacs, eclipse (pdt), netbeans, editplus, dev-util/kdevelop-php
Когда используются переносы, легче воспринимается логика кода, проще восприятие, легко отлаживается, можно отключать блоки, переносить и копировать в другие части. Не забывайте, что другие будут изучать Ваш код. Идеальным считается код, когда другой человек может разобраться и внести правки без автора и автору будет понятно и остальным тоже.
Считается правилом хорошего тона правая граница 60-75-80 символов (у меня 75)
Если код не умещается, значит что-то не-так. Хорошая функция умещается на одной странице экрана редактора.
Вам надо добавить логику в алгоритм, реализующую как-бы ответ на вопрос. В частности это относится к определению глагола, важнейшей семантической составляющей означающей действие.
Поправьте пожалуйста код-функции: неудобно читать содержимое массива глаголов: хотел посмотреть наличие -ать, ять (вообще рекомендую использовать правила оформления кода PEAR, pear.php.net/package/PHP_CodeSniffer в помощь)
Далее придется использовать словари. Рекомендую DICT
Интересно было бы узнать у автора, что за файловая система была? Как-то игрался с файловой системой ext3 и по совету gentoo-wiki сделал для хранения дерева portage ФС с маленьким размером кластеров. Производительность выросла в разы из-за оптимального хранения большого числа мелких файлов.
В Вашем случае, если движок сессий нестандартный, лучше использовать «hashed directory structure»
Замечательная книга. Написана легким, простым и понятным языком. Сложнейшие вещи объясняются как «123»
Прочитав данную книгу, становится более понятно как не надо писать на JS.
Добавил бы еще материалы этой: «Secrets of the JavaScript Ninja» новой книги одноименного автора.
Несколько млн записей в секунду это весьма приличная скорость. Мои поздравления!
При росте нагрузки потока сообщений, неоднократно наблюдал, как эрланг начинает захлебываться (вероятно сообщениями). Точнее не он а некоторое заурядное окружение. Все замирало, а потом через некоторое время оживало и т.д.
Добиться максимальной отдачи от одной ноды это почти утопия (за исключением того, что он лучше других умеет работать с несколькими ЦПУ). Эрланг на то и эрланг, что дает средства для построения распределенных вычислений. Соответственно, существенно поднять вычислительную мощность можно за счет приемущественно горизонтального масштабирования через балансировщик-шедуллер.
К сожалению, документация ерланга «как-бы избегает ответа на этот вопрос» по поводу достатка памяти, но намекает на использование бездисковых схем. Mnesia умеет, находясь в бездисковой ноде, подкачивать данные из дисковой ноды. Иными словами, при подъеме новой бездисковой ноды, как-бы в фоне произойдет подгрузка новых данных с дисковой ноды, если оная присутствует в схеме (вообще это уже неважно т.к. данные будут браться из любой доступной ноды). Не проверял в этом случае расход памяти. Где-то в мануалах по мнезии утверждается, что на 64-разрядной архитектуре вы можете задействовать «RAM-ноды» как результат с практически неограниченным объемом памяти. Это было кажется во «mnesia user manual» или каком-то faq/troubleshooting. Но во мнезии имеет смысл хранить указатели, сессионные данные, структуры, мелкие порции данных, словом классический key\value storage с плюшками. Но никак не хранилище для HD-video. Это не значит, что особо не впихнешь туда данных. Представьте себе рой из 3000 RAM-нод и объем данных, способный уместиться и живущий в этом количестве нод.
ядро линукса же! Смотрите как не надо делать и пилите kernel. Ну или сочувствуете ))
С чего бы это? Может продвинутым интересно по другому? Где люди? Ау!!! Кто будет качать беты, случайно утекшие (нет просочившиеся) в сеть? Почему не работают программы вузов? Где те сумасшедшие чуваки, что пишут код и придумывают миры? Что с дот-нетом? Почему он не привлекает новых, полных идей гиков? Где эти противные пани орущие про консоль? Мы ведь сделали мощную платформу командной строки.
А наш msdn! Для кого это все писалось? Для нас? Нет. Мы и так все знаем. Никогда не поймешь, что им надо. Все же есть!
Если код не отформатирован валидно, то это может говорить о следующем: спешка, нет нормального редактора, новичок, недостатки самовоспитания, поверхностное отношение, отсутствие стандартов, одиночка.
На настоящий момент наиболее популярны следующие редакторы, которые пробовал для php: emacs, eclipse (pdt), netbeans, editplus, dev-util/kdevelop-php
Считается правилом хорошего тона правая граница 60-75-80 символов (у меня 75)
Если код не умещается, значит что-то не-так. Хорошая функция умещается на одной странице экрана редактора.
Вам надо добавить логику в алгоритм, реализующую как-бы ответ на вопрос. В частности это относится к определению глагола, важнейшей семантической составляющей означающей действие.
Поправьте пожалуйста код-функции: неудобно читать содержимое массива глаголов: хотел посмотреть наличие -ать, ять (вообще рекомендую использовать правила оформления кода PEAR, pear.php.net/package/PHP_CodeSniffer в помощь)
Далее придется использовать словари. Рекомендую DICT
В Вашем случае, если движок сессий нестандартный, лучше использовать «hashed directory structure»
пример и чтиво
Прочитав данную книгу, становится более понятно как не надо писать на JS.
Добавил бы еще материалы этой: «Secrets of the JavaScript Ninja» новой книги одноименного автора.
Еще полезные материалы:
Все должно быть в рамах закона.
При росте нагрузки потока сообщений, неоднократно наблюдал, как эрланг начинает захлебываться (вероятно сообщениями). Точнее не он а некоторое заурядное окружение. Все замирало, а потом через некоторое время оживало и т.д.
Добиться максимальной отдачи от одной ноды это почти утопия (за исключением того, что он лучше других умеет работать с несколькими ЦПУ). Эрланг на то и эрланг, что дает средства для построения распределенных вычислений. Соответственно, существенно поднять вычислительную мощность можно за счет приемущественно горизонтального масштабирования через балансировщик-шедуллер.