问题标签 [nqp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
98 浏览

string - MoarVM 中的字符串和链

使用 MoarVM 后端在 Rakudo 上运行 Raku 代码时,是否有任何方法可以打印有关给定 Str 如何从正在运行的程序内部存储在内存中的信息?特别是,我很好奇是否有办法查看当前有多少组成了 Str(无论是通过 Raku 自省、NQP 还是访问 MoarVM 级别的东西(这样的东西甚至在运行时存在吗?)。

如果在运行时无法访问此信息,有没有办法通过 Rakudo 的命令行标志之一的输出来获取它,例如--target,或--tracing?还是通过调试器?

最后,MoarVM 是否管理给定 Str 中的 Strand 数量?我经常听到(或说)Raku 的超能力之一是可以在 O(1) 时间内索引到 Unicode 字符串,但我一直在考虑病态的情况,感觉就像是 O(n) . 例如,

似乎它会创建一个长度与$n$nStrands 组成的 Str 成比例的 Str - 如果我正确理解数据结构,这意味着进入这个 Str 需要检查每个 Strand 的长度,时间复杂度为 O( n)。但是我知道可以将Strand-ed Str 变平;在这种情况下,MoarVM 会做类似的事情吗?还是我误解了更基本的东西?

0 投票
1 回答
135 浏览

raku - 什么是 nqp、nqp-m、rakudo-debug、rakudo-debug-m、rakudo-gdb-m、rakudo-m、rakudo-valgrind-m?

当我从源代码安装rakudo时:

它在中生成以下文件./install/bin

我知道raku,rakudoperl6是用于运行.raku脚本的命令,但是其他命令是什么以及如何使用它们?