ILMerge и локализованные сборки ресурсов

Компьютеры не умны, они сделают то, что Вы даете им команду делать. Компиляторы могут оптимизировать, кодируют немного для Вас, но они не могут оптимизировать алгоритмы. Человеческий мозг работает по-другому, и именно поэтому необходимо понять Большой O. Рассмотрите вычисление Чисел Фибоначчи. Все мы знаем F (n) = F (n-1) + F (n-2), и запускающийся с 1,1 можно легко вычислить следующие числа без особых усилий в линейное время. Но если бы Вы говорите компьютеру вычислять его с той формулой (рекурсивно), это не было бы линейно (по крайней мере, на императивных языках). Так или иначе наш мозг оптимизировал алгоритм, но компилятор не может сделать этого. Так, Вы имеете к работа на алгоритм для создания его лучше.

И затем, Вам нужно обучение, для определения мозговой оптимизации, которая выглядит настолько очевидной, для наблюдения, когда код мог бы быть неэффективным, для знания шаблонов для плохих и хороших алгоритмов (с точки зрения вычислительной сложности) и так далее. В основном те курсы служат нескольким вещам:

  • понимают executional шаблоны и структуры данных и какой эффект они имеют на время, которое должна закончить Ваша программа;
  • тренируют Ваши мозги для определения потенциальных проблем в алгоритме, когда это могло быть неэффективно на больших наборах данных. Или поймите результаты профилирования;
  • изучают известные способы улучшить алгоритмы путем сокращения их вычислительной сложности;
  • готовятся для передачи интервью в классной компании:)
11
задан Svish 23 October 2009 в 13:23
поделиться

3 ответа

Отказ от ответственности: я работаю в компании, которая производит Dotfuscator.

Могут быть другие альтернативы, о которых я не знаю, но я почти уверен, что ILMerge этого не делает.

Альтернативой было бы использование Dotfuscator Pro, коммерческого продукта, который, как я знаю наверняка, будет правильно связывать вместе сборки и правильно связывать любые вспомогательные сборки ресурсов для набора входных сборок. Доступна бесплатная пробная версия, чтобы вы могли протестировать ее и убедиться, что она работает в вашем конкретном сценарии.

0
ответ дан 3 December 2019 в 11:36
поделиться

Согласно одному из комментариев здесь , если вы готовы отказаться от intellisense или, возможно, сохранить отдельную параллель msbuild, вы можете сделать свои DLL "сетевыми модулями". Этот курс предполагает, что у вас есть исходный код для ваших DLL.

0
ответ дан 3 December 2019 в 11:36
поделиться

Я задал свой вариант этого вопроса и в конце концов получил/реализовал ответ: Развертывание одной сборки на нескольких языках Windows Forms (ILMerge и спутниковые сборки / локализация) - возможно?

Надеюсь, это поможет.

5
ответ дан 3 December 2019 в 11:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: