Oracle 和 MySQL 性能优化感悟Method swizzling  Isa swizzling  Isa swizzling+NSProxy /p6_1.jpg) ## method swizzling ## 拦截的要点: • 拦截到 • 调回去 - 名词约定:原始方法、代理方法  ## method swizzling ## 原理 typedef struct objc_method jpg)  ## method swizzling ## 原理 ## 基本步骤 1、用class_addMethod为某类添加“代理方法” 2、调用method_exchangeImplementations交换IMP 3、确保你的“代理方法”调用了“原始方法”0 码力 | 19 页 | 3.82 MB | 2 年前3
The RISC-V Reader:
An Open Architecture AtlasFirst Edition, 1.0.0 - 2021Praise of The RISC-V Reader This timely book concisely describes the simple, free and open RISC-V ISA that is experiencing rapid uptake in many different computing sectors. The book also contains many RISC-V ISA. The opcodes are presented in several useful formats for quick reference, making assembly coding and interpretation easy. In addition, the explanations and examples of how to use the ISA make 저렴한 맞춤형 칩을 제공하기 위해 SiFive를 설립하였다. Andrew는 UC Berkeley에서 컴퓨터과학 박사학위를 받았고 기존의 명령어 집합 구조에 싫증이 나서 RISC-V ISA와 첫 번째 RISC-V 마이크로프로세서를 공동 설계하였다. 오픈소스 RISC-V 기반 Rocket 칩 생성기, Chisel 하드웨어 구축 언어, 리눅스 운영체계 커널과 GNU C0 码力 | 232 页 | 5.16 MB | 2 年前3
Guia prático RISC-V
Atlas de uma Arquitetura Aberta
Primeira edição, 1.0.0RISC-V ATLAS DE UMA ARQUITETURA ABERTA ## Depoimentos Este livro oportuno descreve de forma concisa a ISA RISC-V simples, livre e aberta que está experimentando rápida absorção em muitas áreas diferentes da Taylor, University of Washington Este livro será uma referência valiosa para quem trabalha com a ISA RISC-V. Os opcodes são apresentados em vários formatos úteis para referência rápida, facilitando a a codificação assemblage e interpretação. Além disso, as explicações e exemplos de como utilizar a ISA tornam o trabalho do programador ainda mais simples. As comparações com outras ISAs são interessantes0 码力 | 215 页 | 21.77 MB | 2 年前3
A Brief Immersion - 傅若愚以前经常使用继承来实现的多态,现在不到万不得已,不会用到继承,而会优先考虑Protocol + Generics NSProxy is gone -_-! No more method swizzling (And other Runtime tricks) 让编译器做它该做的事! ## TYPE SYSTEMS 强大的Runtime -> 弱小的Runtime • 一个悲伤的故事:0 码力 | 40 页 | 3.39 MB | 2 年前3
Guía Práctica de RISC-V:
El Atlas de una Arquitectura Abierta
Primera Edición, 1.0.5Powered by TCPDF (www.tcpdf.org) Este oportuno libro describe concisamente el simple, libre y abierto ISA RISC-V que está experimentando una rápida aceptación en muchos sectores diferentes de la computación Taylor, University of Washington Este libro será una referencia invaluable para quien trabaje con el ISA RISC-V. Los op-codes son presentados en varios formatos útiles para referencia rápida, facilitando interpretación de código en lenguaje ensamblador. Adicionalmente, las explicaciones y ejemplos de cómo usar el ISA simplifican la labor del programador. Las com-paraciones con otros ISAs son interesantes y muestran0 码力 | 217 页 | 29.97 MB | 2 年前3
RISC-V 开放架构设计之道 1.0.0## 对本书的称赞 这本恰逢其时的书简明扼要地介绍了简洁、免费、开放的 RISC-V,一款正在许多不同的计算领域迅速普及的 ISA。书中包含很多计算机体系结构方面的深刻见解,同时也阐释了我们在设计 RISC-V 时做出的特定决策。我能想象本书将成为许多 RISC-V 从业者家喻户晓的参考指南。 ——克尔斯泰·阿桑诺维奇(Krste Asanović),加州大学伯克利分校教授,四位RISC-V架构师之一 ——迈克尔·贝德福特·泰勒(Michael B. Taylor),华盛顿大学教授 本书对于 RISC-V ISA 的所有从业人士来说是十分宝贵的参考。操作码按几种有用的格式呈现,便于快速查阅,也易于汇编代码的开发和解释。此外,书中关于如何使用 RISC-V 的阐释和示例能让程序员的工作更轻松。书中 RISC-V 和其他 ISA 的对比很有趣,也展示了 RISC-V 设计者做出设计决策的原因。 ——梅根·瓦克斯(Megan 版相对于原书第 1 版的主要变化: • 新增了若干扩展的章节 • 卷首添加了数条赞语 • 前言的“致谢”中新增了对翻译版本的描述 - 新增了附录 B,介绍如何将 RISC-V 翻译到其他 ISA - 特权架构章节添加了一些图,包括异常中断相关 CSR 和委托机制 CSR 的示意图;还添加了“标识和性能 CSR”小节,以及相应的示意图 - 为页边的图标添加了文字说明 - 更新了一些标准、机构、书籍的版本或名称,包括将0 码力 | 223 页 | 15.31 MB | 2 年前3
RISC-V 手册 v2(一本开源指令集的指南)译者序 ..... 12 翻译团队 ..... 12 第一章 为什么要有 RISC-V? ..... 13 1.1 导言 ..... 13 1.2 模块化与增量型 ISA ..... 14 1.3 ISA 设计 101 ..... 15 1.4 全书的总览 ..... 19 1.5 结束语 ..... 20 1.6 扩展阅读 ..... 21 第二章 RV32I: 8.11 扩展阅读 ..... 84 第九章 RV64: 64 位地址指令 ..... 87 9.1 导言 ..... 87 9.2 使用插入排序来比较 RV64 与其他 64 位 ISA ..... 91 9.3 程序大小 ..... 93 9.4 结束语 ..... 93 9.5 了解更多 ..... 94 第十章 RV32/64 特权架构 ..... 99 10 ——John Mashey,MIPS 指令集架构的设计者之一 这本书对于任何使用 RISC-V ISA 的人来说都是十分宝贵的参考。为了便于快速查阅,操作码按几种有用的格式呈现,这让编写和解释汇编代码变得简单。此外,对于如何使用这个 ISA 的解释和示例也让程序员的工作更容易。和其他 ISA 比较的部分很有意思,它们解释了 RISC-V 设计者们做出他们的设计决策的原因。 ——Megan Wachs,博士,SiFive0 码力 | 164 页 | 8.85 MB | 2 年前3
The Julia Language 1.7.0 beta2 Documentationroot: julia> sqrt_second(x) = try sqrt(x[2]) catch y if isa(y, DomainError) sqrt(complex(x[2], 0)) elseif isa(y, BoundsError) sqrt(x) end end sqrt_second (generic Vararg{Int64}} julia> isa(("1",), mytupletype) true julia> isa(("1",1), mytupletype) true julia> isa(("1",1,2), mytupletype) true julia> isa(("1",1,2,3.0) called singletons. Formally, if T is an immutable composite type (i.e. defined with struct), a isa T && b isa T implies a === b, then T is a singleton type. $ ^{2} $ Base.issingletontype can be used to0 码力 | 1370 页 | 4.88 MB | 1 天前3
The Julia Language 1.6.0 beta1 Documentationroot: julia> sqrt_second(x) = try sqrt(x[2]) catch y if isa(y, DomainError) sqrt(complex(x[2], 0)) elseif isa(y, BoundsError) sqrt(x) end end sqrt_second (generic where N} julia> isa(("1",), mytupletype) true julia> isa(("1",1), mytupletype) true julia> isa(("1",1,2), mytupletype) true julia> isa(("1",1,2,3.0) called singletons. Formally, if T is an immutable composite type (i.e. defined with struct), a isa T && b isa T implies a === b, then T is a singleton type. $ ^{2} $ Base.issingletontype can be used to0 码力 | 1381 页 | 4.71 MB | 1 天前3
The Julia Language 1.6.0 rc3 Documentationroot: julia> sqrt_second(x) = try sqrt(x[2]) catch y if isa(y, DomainError) sqrt(complex(x[2], 0)) elseif isa(y, BoundsError) sqrt(x) end end sqrt_second (generic where N} julia> isa(("1",), mytupletype) true julia> isa(("1",1), mytupletype) true julia> isa(("1",1,2), mytupletype) true julia> isa(("1",1,2,3.0) called singletons. Formally, if T is an immutable composite type (i.e. defined with struct), a isa T && b isa T implies a === b, then T is a singleton type. $ ^{2} $ Base.issingletontype can be used to0 码力 | 1385 页 | 4.72 MB | 1 天前3
共 270 条
- 1
- 2
- 3
- 4
- 5
- 6
- 27













