0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

iOS 14.2 引入JIT编译 仿真应用可具有更佳性能

工程师邓生 来源:IT之家 作者:问舟 2020-11-07 09:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

据外媒 9to5mac 报道,iOS 14.2 现已引入 JIT编译支持。

什么是 JIT?

正如字面意思,JIT—— just in time,即时编译。如果一个程序在它运行的时候创建并且运行了全新的代码,而非那些最初作为这个程序的一部分保存在硬盘上的固有的代码,即为 JIT。

说人话:JIT可以在固有代码的基础上生成新的代码,并自己运行新生成的代码。

有什么意义?

虽然苹果没有特意提到,但通过外媒 9to5mac 今日报道,可确认 iOS 14.2 中已引入 JIT编译支持特性。

在此之前,网传最广的说法是,由于审查等敏感问题,苹果不提供修改内存页面的访问权限的 API,也禁止对 POSIX 函数 mprotect()的调用,所以也无法实现 JIT。简单来说,IOS 封禁了内存(或者堆)的可执行权限,从而从根本上干掉了 JIT的存在。

虽然苹果一直不支持 JIT,但一些开发人员已实现通过 hack 途径达成 JIT的特性,但这会影响 App 运行的效率并带来玄学 bug。此外,这种漏洞在 iOS 14 中已被封杀。

而现在苹果在 iOS 14.2 中默默推出 JIT的原因是?

不知道,但不可否认的是,这将为仿真应用(非官方 App)在 iPhone 和 iPad 上全速运行提供了可能。

正文

外媒就此采访了开发者 Testut,她表示苹果实际上已在 Beta 版本中加入了 JIT支持,且保留到正式版本中,虽然一句话没有提,但这大概率是苹果官方表态而非 bug。

借助 iOS 14.2 上的 JIT编译支持,仿真应用现在可以在 iOS 中全速运行,而不会受到攻击和其他损失。

“例如,JITDelta 可以模拟更强大的系统,比如?PS2,GameCube 和 Wii。如果没有 JIT,开发者们将需要再等几年,才能使硬件具备此功能。起初我对此表示怀疑,但现在更倾向于认为这是苹果有意的更改。”

但是,这并不意味着用户会在 App Store 中看到仿真应用,用户甚至看不到任何使用 JIT的应用程序。Testut 表示,当前的实现方法仅适用于侧面加载的应用,这些应用通常是通过 Xcode 和其他开发人员工具而非 App Store 安装的。换句话说,这是供专门的开发人员调试 App 所使用的功能。

“我怀疑将 JIT限制为仅侧加载的应用是其背后的意图(而且更可能与使用 Xcode 进行调试时应用运行未签名代码的需求有关),但是我很想知道这种限制是否会长期存在。”

责任编辑:PSY

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    53

    文章

    4406

    浏览量

    137665
  • iOS
    iOS
    +关注

    关注

    8

    文章

    3400

    浏览量

    155167
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    69647
  • JIT
    JIT
    +关注

    关注

    0

    文章

    7

    浏览量

    9871
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CANoe与Simulink联合仿真编译失败

    问题描述:在使用VS作为编译器的情况下,Matlab编译后失败,如下图:解决方案:原因:安装VS时,Windows的SDK版本未安装或者安装选项没有选择正确。1.打开VS,可以看到VS中的错误提示:2.打开此项目的属性设置:3.选择正确的SDK版本4.选择修改5.重新安装
    的头像 发表于 11-14 12:13 1632次阅读
    CANoe与Simulink联合<b class='flag-5'>仿真</b><b class='flag-5'>编译</b>失败

    【产品介绍】Modelsim:HDL语言仿真软件

    概述ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真仿真器。它采用直接优化的
    的头像 发表于 11-13 11:41 195次阅读
    【产品介绍】Modelsim:HDL语言<b class='flag-5'>仿真</b>软件

    Arm Neoverse CPU上大代码量Java应用的性能测试

    Java 虚拟机 (JVM) 内执行。JVM 必须先通过解释器或即时 (JIT) 编译器将字节码转换为机器码,而运行时生成的机器码对 Java 应用的效率和性能至关重要。
    的头像 发表于 11-05 11:25 369次阅读
    Arm Neoverse CPU上大代码量Java应用的<b class='flag-5'>性能</b>测试

    E203仿真编译filelist的使用

    在对E203硬件进行修改后,有时会出现编译时文件顺序不对的问题,导致仿真无法进行。这是因为在vsim/bin下的run.makefile中指定了通过wildcard导入所有rtl文件,根据默认的字母
    发表于 10-24 07:02

    边缘设备AI部署:编译器如何实现轻量化与高性能

    、ASIC等)上高效执行的机器代码。AI编译器在AI模型的部署和优化中扮演着关键角色,能够显著提升模型的运行效率和性能。   AI编译器的主要功能   AI编译器的主要功能包括模型优化
    的头像 发表于 07-06 05:49 6105次阅读

    【经验分享】在Omni3576上编译Redis-8.0.2源码,并安装及性能测试

    本文首先介绍Redis是什么,然后介绍如何在Omni3576上编译Redis-8.0.2源码,以及从源码编译、安装Redis,最后介绍如何在Omni3576上运行Redis性能测试,并与树莓派5上的结果进行对比。一、Redis是
    的头像 发表于 06-05 08:05 763次阅读
    【经验分享】在Omni3576上<b class='flag-5'>编译</b>Redis-8.0.2源码,并安装及<b class='flag-5'>性能</b>测试

    新品 | 服务:InfineonSpice 离线仿真工具

    新品服务:InfineonSpice离线仿真工具InfineonSpice是一款功能齐全的模拟电路仿真器,可免费进行直流和OP仿真。这款基于Windows的独立工具具有设计、模拟和分析
    的头像 发表于 04-30 18:21 682次阅读
    新品 | 服务:InfineonSpice 离线<b class='flag-5'>仿真</b>工具

    请问TapLinx IOS SDK与Xcode 16不兼容吗?

    import TapLinxLibrary 返回 编译后的模块是由不同版本的编译器 \'5.10.0.13\' 创建的;重新构建 \'TapLinxLibrary\' 并重试: [剥离
    发表于 04-02 06:19

    大规模硬件仿真系统的编译挑战

    引言随着集成电路设计复杂度的不断提升,硬件仿真系统在现代芯片设计流程中扮演着越来越重要的角色。基于FPGA(现场可编程门阵列)的商用硬件仿真系统因其灵活性、全自动化、高性能重构性,
    的头像 发表于 03-31 16:11 1224次阅读
    大规模硬件<b class='flag-5'>仿真</b>系统的<b class='flag-5'>编译</b>挑战

    Triton编译器在高性能计算中的应用

    性能计算(High-Performance Computing,HPC)是现代科学研究和工程计算中不可或缺的一部分。随着计算需求的不断增长,对计算资源的要求也越来越高。Triton编译器作为一种
    的头像 发表于 12-25 09:11 1559次阅读

    Triton编译器的优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令
    的头像 发表于 12-25 09:09 1825次阅读

    Triton编译器的优势与劣势分析

    Triton编译器作为一种新兴的深度学习编译器,具有一系列显著的优势,同时也存在一些潜在的劣势。以下是对Triton编译器优势与劣势的分析: 优势 高效
    的头像 发表于 12-25 09:07 1863次阅读

    Triton编译器与其他编译器的比较

    的GPU编程框架,使开发者能够编写出接近手工优化的高性能GPU内核。 其他编译器 (如GCC、Clang、MSVC等): 定位:通用编译器,支持多种编程语言,广泛应用于各种软件开发场景。 目标:提供稳定、高效的
    的头像 发表于 12-24 17:25 1580次阅读

    Triton编译器功能介绍 Triton编译器使用教程

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个扩展和定制的编译器框架,允许开发者添加新的编程语言
    的头像 发表于 12-24 17:23 2681次阅读

    仿真系统的性能优化技巧

    忽视的挑战。 1. 模型简化 仿真系统的性能优化首先可以从模型简化开始。通过减少模型的复杂度,可以显著降低计算资源的需求。 参数化 :通过参数化模型,可以减少模型中的变量数量,从而简化计算。 聚合 :对于大规模系统,
    的头像 发表于 12-19 14:47 4064次阅读