【问题标题】:Can I now use a JIT for an iOS application that is to be distributed through the store?我现在可以为要通过商店分发的 iOS 应用程序使用 JIT 吗?
【发布时间】:2016-08-27 15:13:38
【问题描述】:

几年前same question 出现了,Apple 是否更新了提交规则以允许在提交的应用程序中使用 JITters? opensmalltalk-vm 比非 JITting 版本快十倍左右,甚至 Apple Watch 也有足够的 ram 轻松运行。

【问题讨论】:

标签: ios smalltalk appstore-approval


【解决方案1】:

Apple 的政策没有改变。需要 PROT_WRITE | PROT_EXEC 页面的应用未获准进入商店,而 JIT 则需要。

我看到了两种解决方法:

  1. 使用 AOT,而不是 JIT:修改 Cog,以便它可以将 jitted 代码存储到 文件。在运行覆盖测试时在开发机器上执行此操作 你的应用程序。那应该jit所有代码。将代码文件放入 应用程序包。在运行时,将文件加载到PROT_READ | PROT_EXEC 页面并执行在那里找到的所有方法。所有其他人都需要 解释。

  2. 一种在您的应用程序中运行 JIT 的方法:Apple 的 JavaScript JIT。它是目前所有移动平台上最快的。您可以帮助 SqueakJS 的代码生成器生成更高效的 JS 代码。这将允许在 JIT 上运行所有 Smalltalk 代码,甚至是新方法。

【讨论】:

  • 我认为 Sista 类型的优化不能很好地映射到第一种方法是否正确?
【解决方案2】:

您可以查看Pharo-JS,它允许您使用 Smalltalk 进行开发并部署到 Javascript;然后可以通过 Cordova 或 PhoneGap 作为 iOS(或 Android)应用程序运行。

在最近的 ESUG 2016 会议上Pharo-JS presentation 提供了后者的演示(大约 25 分钟)。

【讨论】:

  • 一旦外部链接消失,您的答案会有多大用处? 好的答案将始终解释所做的事情以及为什么以这种方式完成,不仅适用于 OP,而且适用于 SO 的未来访问者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 1970-01-01
  • 2012-10-30
  • 2014-09-14
  • 2015-08-22
  • 2012-12-29
相关资源
最近更新 更多