All streams
Search
Write a publication
Pull to refresh
64
0
Павел Т @kefirr

Ignite.NET maintainer

Send message
Чёрт, камент запотсился сам собой. Хотел ещё добавить, что для интранет-приложений (где известно, что у всех есть плагин) — да, Сервелат прекрасно подходит. Стоимость разработки и поддержки будет намного ниже.
Я — разработчик Silverlight. Мне нравится Silverlight, нравится с ним работать. Но я полностью согласен со статьёй — для интернет-приложений лучше выбрать HTML.

Да, рандом на все поля.
Меня слегка раздражает флешовый проигрыватель, поэтому некоторые ролики ставлю на закачку (стоит extension для оперы — один клик) и сразу запускаю играть в VLC. Но и таймлайн довольно быстро заполняется.
Раньше была такая же проблема, а недавно заметил, что перестало тормозить. Может серверов добавили поближе к нам, или что-то вроде того.
Я тут попробовал порешать задачу из статьи на C#, чтобы прочувствовать проблему.
Сразу решил обходиться без unsafe и написания собственных хэштаблиц, сортировок, итп. То есть использовать имеющиеся в стандартных библиотеках реализации.

Сразу скажу, ваше предложение использовать дерево — неэффективно по памяти из-за указателей.

Самый эффективный по памяти и простой по коду вариант — положить всё в массив (использовал несколько массивов, т.к. в .NET ограничен размер одного куска памяти на 2gb), применить Array.Sort (сортировка 1млн записей заняла 14 минут на Athlon X2 2.7 Ghz. Алгоритм QuickSort там). Потом использовать Array.BinarySearch. 2.4 гб памяти съело при работе.

Самый быстрый вариант — хэштаблица (опять же, несколько). Отдельная структура для ключа (вместо byte[16] я использовал два Int64, чтобы не использовать unsafe), отдельная структура для значений. Понадобилось 3.6 гигабайта памяти. У меня только 4 гб, поэтому часть хэштаблиц засвопилось, и всё стало тормозить. Для сравнения скорости я протестировал на половине объема (50млн). Хэширование заняло 20 секунд.
>На 8 и на 75 мегабитах ролики на ютубе грузятся с незначитальной разницей во времени.

Не соглашусь:
image

По торрентам тем более не согласен. На свежих фильмах несколько сотен сидов бывает, у меня в таких случаях вплоть до 9 мбайт/сек тянет. Я уже локалкой пользоваться перестал (DC++) — с торрентов такая же скорость, а искать удобнее, раздачи оформлены хорошо.
Круто расписали, мне нечего возразить.
Может, проблема тут не в C#, а в вашем коллеге?
Что может C, чего не может C#, и что позволяет сделать лексический анализатор короче по коду?
Такие объемы данных вы будете очень долго сортировать, а поиск ключа в хеш-таблице не зависит от её размера. Кнута вы не дочитали, похоже. Сравнение C# с C тут вообще неуместно.
Вы рассуждаете о неэффективности несуществующей программы?
Некто Кнут говорил, что «Преждевременная оптимизация — корень всех зол».

Ну и есть же inline в этом вашем С++, если уж действительно оказалось неэффективно.
Можно код из реальной жизни в студию?
Конечно, читал. Первый пример некорректен, ниже есть объяснение:
habrahabr.ru/blogs/cpp/114211/#comment_3682679
Конечно, сталкивался. В случае, когда нужно «выпрыгнуть» из нескольких вложенных циклов, я обычно выделяю метод и использую return.

В общем, по-прежнему здесь нет ни одного примера «жизненного» кода, где goto облегчал бы жизнь.
В том-то и дело, хотелось бы увидеть пример для высокоуровневых языков C++, или C#, или Java.
У меня, конечно, не 20 лет опыта, но лет 6 уже получаю деньги за программирование (C#), и до сих пор ни разу не возникало нужды в goto.

А про системное программирование и микроконтроллеры спорить не буду, видимо, был не прав.
Ок, я понял, что рассмотрение этих надуманных функций — бессмысленно.
Давайте реальный пример, из реального приложения на языке высокого уровня рассмотрим. Без троеточий.
goto не нужен. goto плох тем, что программу сложно понимать и отлаживать.
switch — тоже несколько спорная команда, зачастую от неё можно (и нужно) избавляться при помощи, например, полиморфизма.

Все ваши примеры опровергать не буду, достаточно последнего: оттуда можно просто убрать goto, разве нет?

int f (…)
{

if (a)

if (b)


c = 15;
return 10;
}


Ну и пост будет неполон без этого:
image
Трэш какой-то, я понимаю нормальные формы, но статью с трудом осилил.
Да, дело в смещении, в 3.5 работает с b4 (shell.hack.b4 = 143)
По поводу PDF. Когда делал программу — iTextSharp первый под руку попался и легко получилось его использовать.
Позже уже наткнулся на статью habrahabr.ru/blogs/open_source/112707/
Безусловно, если будет серьёзная задача — серьёзно подойду к выбору и учту ваш совет.

По поводу бинарников в репозитории — несколько спорно.

Information

Rating
Does not participate
Registered
Activity