Вопросы производительности при динамической компиляции файла .cs - PullRequest
0 голосов
/ 16 марта 2011

У меня есть файл .cs, которым я хотел бы поделиться между двумя проектами.Я не могу (в основном из-за деловых ограничений) встроить файл .cs в .dll и ссылаться на него в каждом проекте или помещать в GAC.Я рассматриваю вопрос о сохранении файла .cs в одном проекте (фактически в папке app_code веб-проекта), а затем ссылаюсь на физический файл .cs из другого проекта (проект веб-службы), динамически собираю его и затем использую классы.и методы.На данный момент файл .cs содержит странные статические классы и методы, но может содержать нестатические типы на более позднем этапе.

У меня вопрос, видите ли вы что-нибудь смешное в этом плане с точки зрения производительности?Я знаю, что может быть трудно не знать природу кода, но, возможно, вы могли бы просто поговорить об общей производительности динамической компиляции и указать на любые узкие места, ограничения и т. Д., Которые вы можете увидеть.

Спасибо.

1 Ответ

0 голосов
/ 16 марта 2011

C # компилируется относительно быстро. Какой вид использования вы смотрите с точки зрения:

  1. Количество компиляторов в секунду или минуту
  2. Размер компилируемого кода

При 500 компиляциях в секунду для файла размером 1 МБ. Я бы сказал, что это смешно. При 1 компиляции в минуту для файла 10 КБ. Это должно быть хорошо.

Не пытайтесь оптимизировать, пока это не станет проблемой.

Но тогда, во-первых, было бы неплохо иметь возможность создавать DLL. Отсутствие возможности сделать DLL - это проблема. Хотите оптимизировать обходной путь еще безумнее.

Надеюсь, у вас все получится.

...