gpt4 book ai didi

f# - 如果有歧视的工会有很多选择,会有什么问题吗?

转载 作者:行者123 更新时间:2023-12-04 13:23:28 29 4
gpt4 key购买 nike

是的,这是一个琐碎的问题,但是我找不到关于它的专家意见。

我正在使用计算表达式对服务器端进程进行排序。当我的函数具有相同的签名时,它对我有极大的帮助,因此我可以在其中定义不同组合的情况下使用已区分的联合。我有几个快速入门的问题。

  • DU可以具有的建议数量上限是否有建议的上限?目前,我的DU有九种选择,但是随着项目的进行,这个数字会增加。如果我在项目结束时达到30或40,该怎么办?
  • 如果某些选项变长可能会出现问题吗?当前,平均选项大约有四种或五种基本类型-类似于bool * string * XElement * int * string-但最长的一种具有以下定义:

    bool * int * int * int *字符串* XElement * XElement * DateTime选项* DateTime选项*字符串*字典*字典

  • 我预计这么长的时间不会有很多选择。但是我是否在表现方面感到痛苦呢?

    提前致谢。

    最佳答案

    我认为您可以放心地假设,如果您的数据类型的大小与F#编译器使用的数据类型的大小相似,那么F-编译器肯定会关注F#编译器的性能,因此我认为他们也做了一些实验,以确保他们使用的受歧视工会有效地工作。

  • 至于案例数,SynExpr区分联合(请参阅source code)有50多个案例,所以我认为应该没问题。

    通过使用整数上的switch IL操作码来编译已区分联合上的模式匹配,因此,如果要确保此效率,可以尝试进行一些研究。另外,如果仅使用match查找一个特定的情况,则无论其他情况的数目如何,这都应该只是一个整数比较。
  • 至于字段数,最长的SynExpr情况有大约7个字段,但是我想您可以找到长度更长的其他DU。 (我认为,使用此数量的属性时,更大的问题是可读性-因为未命名属性。因此,我认为对逻辑上属于一起的大量属性使用记录可能会更好。)

  • 我认为您描述的DU大小应该可以,但我自己尚未进行任何性能测试-因此,如果您真的想确定,则需要对其进行衡量。 (但是正如我所说,我很确定这是经过F#编译器开发测试的东西)

    关于f# - 如果有歧视的工会有很多选择,会有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16540344/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com