作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是的,这是一个琐碎的问题,但是我找不到关于它的专家意见。
我正在使用计算表达式对服务器端进程进行排序。当我的函数具有相同的签名时,它对我有极大的帮助,因此我可以在其中定义不同组合的情况下使用已区分的联合。我有几个快速入门的问题。
bool * string * XElement * int * string
-但最长的一种具有以下定义:最佳答案
我认为您可以放心地假设,如果您的数据类型的大小与F#编译器使用的数据类型的大小相似,那么F-编译器肯定会关注F#编译器的性能,因此我认为他们也做了一些实验,以确保他们使用的受歧视工会有效地工作。
SynExpr
区分联合(请参阅source code)有50多个案例,所以我认为应该没问题。switch
IL操作码来编译已区分联合上的模式匹配,因此,如果要确保此效率,可以尝试进行一些研究。另外,如果仅使用match
查找一个特定的情况,则无论其他情况的数目如何,这都应该只是一个整数比较。 SynExpr
情况有大约7个字段,但是我想您可以找到长度更长的其他DU。 (我认为,使用此数量的属性时,更大的问题是可读性-因为未命名属性。因此,我认为对逻辑上属于一起的大量属性使用记录可能会更好。)关于f# - 如果有歧视的工会有很多选择,会有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16540344/
我是一名优秀的程序员,十分优秀!