gpt4 book ai didi

vector - Dyalog 中字符串操作的性能

转载 作者:行者123 更新时间:2023-12-02 03:33:37 24 4
gpt4 key购买 nike

我有 2 个问题与比较 Dyalog APL 中的字符向量有关。以下代码将逐一比较字符向量:

a←'ATCG'
b←'GTCA'
a=b
  • 为了加快速度(在 2 个向量的情况下,以及在将多个向量与单个向量进行比较的情况下),我应该将字符向量转换为数字向量,否则它不会'在 APL 中无关紧要(类似于在 C 中比较字符)?
  • 我正在比较 DNA 序列(可能仅包含 ATCG 字母表中的字母)。我能做些什么来加快对此类向量的各种操作吗?

最佳答案

有趣的是,在我的(旧)版本的 Dyalog APL 上,将字符转换为小整数的速度实际上快了 25%。这可能在更新的版本中得到了加速。

尝试

a <- []av iota 'ATCG'   // sorry, no apl characters
b <- []av iota 'GTCA'
a = b

确保最大值小于 128。

要检查您是否拥有尽可能小的整数表示,请使用 []dr 函数。 []dr a 应该为整数 -128 <= x <= 127 返回 82。

Dyalog APL 会自动转换为尽可能低的整数宽度。

关于vector - Dyalog 中字符串操作的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25160519/

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