问题标签 [moarvm]

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 回答
1760 浏览

raku - 如何将 perl6 文件编译为 exe

我正在玩基于 Windows 上的 MoarVM 的 perl6 版本。我创建了一些 perl6 文件并希望将其编译为 exe。我尝试了以下方法:

现在我想将 r 编译为可执行文件

我发现这个链接讨论了如何使用 Parrot 但我使用的是 MoarVM 目标:http ://perlgeek.de/blog-en/perl-6/my-first-executable.writeback

我的问题如何将 MoarvVM 目标文件编译为 Windows 可执行文件?

0 投票
1 回答
262 浏览

macos - 为什么 MoarVM 在 Mac OS X 上抱怨“为存档而构建,而不是被链接的架构”?

我正在尝试从 GitHub 上的最新版本和 MoarVM.org 上的下载构建 Moar。我不断收到有关第三方库的错误:

ld: 警告: ld: 警告: ld: 警告: 忽略文件 3rdparty/libatomic_ops/src/libatomic_ops.a,文件是为存档而构建的,它不是被链接的架构 (x86_64): 3rdparty/libatomic_ops/src/libatomic_ops.aignoring 文件3rdparty/tinymt/libtinymt.a,文件是为存档而构建的,它不是被链接的架构 (x86_64):3rdparty/tinymt/libtinymt.aignoring 文件 3rdparty/sha1/libsha1.a,文件是为存档而构建的,它不是架构被链接(x86_64):3rdparty/sha1/libsha1.a

这类似于OSX :文件是为存档而构建的,它不是被链接的架构(i386)(以及许多其他答案不足的问题)。我知道有些东西已经在为错误的架构构建这些,所以请跳过提供该答案。

我清理了目录,删除了所有内容并重新开始,告诉Configure.pl我在 Darwin 上运行,以及用户应该知道的其他各种事情。我从 MoarVM.org 下载了 tarball,它应该是 repo 中的 2105.12 标签。我遇到了与 rakudobrew 相同的问题。

让我知道您想了解我的系统的哪些内容;这是一个基本的 Mac OS X 设置。

我也将其归档为MoarVM issue 334,但看起来问题队列并没有得到太多的爱。

0 投票
2 回答
93 浏览

installation - 当所有测试在本地通过时,为什么 panda 无法安装我的模块?

我是Pod-Perl5的作者,这是一个解析 Perl 5 pod 的 Perl 6 模块。在 Perl 6.c 发布之前,该模块可以正常安装panda install Pod::Perl5。现在它因大量错误而失败(摘录如下,完整输出在此处)。运行测试套件时所有测试都通过:prove --exec perl6 -r

我在 IRC#perl6频道上询问过,并尝试了“核弹一切,重新安装”策略。它没有用。其他人可以帮忙吗?

0 投票
5 回答
358 浏览

set - Perl 6 集合操作如何比较元素?

0 投票
2 回答
197 浏览

memory - perl6 如何给 MoarVM 更多的内存?

我必须对大约 200 万行数据进行数据分析,每行大约 250 字节长。所以总共大约有 500 兆字节的数据。我正在使用 4G 内存的 Virtualbox Linux 上运行最新的 Rakudo。

大约 8 小时后,由于内存不足,我得到了 MoarVM 恐慌。如何为 MoarVM 提供更多内存?不幸的是,我不能将 200 万个分成块并首先写入文件,因为部分数据分析需要整个 2 米行。

0 投票
1 回答
234 浏览

raku - Perl6 IO::Socket::Async 截断数据

我正在使用 IO::Socket::Async 在 P6 中重写我的 P5 套接字服务器,但是接收到的数据在最后被截断了 1 个字符,并且在下一个连接时接收到了 1 个字符。来自 Perl6 Facebook 小组 (Jonathan Worthington) 的人指出,这可能是由于字符串的性质和字节在 P6 中的处理方式非常不同。引:

在 Perl 6 中,字符串和字节的处理方式非常不同。值得注意的是,字符串在字素级别工作。接收 Unicode 数据时,不仅有可能将多字节序列拆分为数据包,还可能将多码点序列拆分。例如,一个数据包的末尾可能有字母“a”,而下一个数据包可能是一个组合的重音符号。因此,在看到下一个数据包如何开始之前,它不能安全地传递“a”。

我的 P6 在 MoarVM 上运行

https://pastebin.com/Vr8wqyVu

结果

0 投票
1 回答
117 浏览

asynchronous - 运行 Perl6 套接字服务器时 MOAR 进程膨胀

我有一个使用 IO::Socket::Async 和 Redis::Async 进行消息发布的套接字服务器。每当服务器接收到消息时,脚本将翻译该消息并生成确认消息以发送回发送者,以便发送者发送后续消息。由于翻译消息非常昂贵,脚本将在“开始”方法下运行该部分。但是,我注意到 Moar 进程在脚本运行时占用了我的 RAM。有没有想过我应该在哪里解决这个问题?谢谢!

https://pastebin.com/ySsQsMFH

0 投票
1 回答
310 浏览

performance - Raku 总是解析吗?

raku -version 这是基于 MoarVM 版本 2020.01.1 构建的 Rakudo 版本 2020.01,实现 Perl 6.d。

目前看起来我无法启动任何运行时间低于 130 毫秒(主要是启动时间)的 Raku Perl6 程序。
- Raku 是否总是在程序启动时重新解析完整的源代码?
- Raku 是否缓存任何字节码?
- 所以即使是在线用户也总是需要 >= 130 毫秒?

0 投票
1 回答
103 浏览

raku - 如何转储 MoarVM 字节码

我想知道如何调试 Moarvm 字节码。是否有文档描述例如如何将 raku 转换为 moarvm 以及如何转储生成的字节码。如果我尝试运行:

我在某处读到了“--dump”开关,但这似乎不可用。我从 github 自定义编译 rakudo/nqp/moarvm。

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 会做类似的事情吗?还是我误解了更基本的东西?