Да, тривиальный вопрос, но экспертного мнения по нему я не нашел.
Я использую вычислительные выражения для последовательности серверных процессов. Мне очень помогает, когда мои функции имеют одинаковую сигнатуру, поэтому у меня есть размеченное объединение с различными комбинациями, определенными внутри него. У меня есть пара быстрых вопросов для начинающих.
Существует ли рекомендуемый верхний предел количества опций, которые может иметь DU? В настоящее время у моего DU есть девять вариантов, но это число будет увеличиваться по мере развития проекта. Что, если я достигну 30 или 40 к концу проекта?
Может ли возникнуть проблема, если некоторые из опций станут «длинными»? В настоящее время средний вариант имеет четыре или пять основных типов — что-то вроде
bool * string * XElement * int * string
— но самый длинный вариант имеет следующее определение:bool * int * int * int * string * XElement * XElement * DateTime option * DateTime option * string * Dictionary * Dictionary
Я не ожидаю, что многие варианты будут где-то рядом с этим долго. Но настраиваю ли я себя на мир боли с точки зрения производительности?
Заранее спасибо.
fprintfn f "type t =";[0..100] |> List.map (fun x -> fprintf f "|T%i" x)
- person John Palmer   schedule 14.05.2013