JVM 内存模型0 码力 | 1 页 | 48.42 KB | 1 年前3
陈东 - 利用Rust重塑移动应用开发-230618reusability - Hot reload - Javascript ecosystem icon Flutter, is an open source framework by Google for building beautiful, natively compiled, multi- platform applications from a single codebase. interface that allows Java to interact with code written in another language. Motivation for JNI is code reusability and performance. WIth JNI, you can reuse existing/legacy code with Java (mostly C/C++). binding Rust code into Android application. - Use the crate rifgen, flapigen to generate the java interface for rust code. - Wrap the whole rust code as an independent android library RCC_IOS0 码力 | 22 页 | 2.10 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化这样就可以和标准库优化过的 memset 一 样快了。 Intel Intrinsics Guide • _mm 系列指令出自头文件。 • 指令的文档可以看这个网站: • https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html • 里面有详细说明每个指令对应的汇编,方便理解的伪代码,延迟和花费的时钟周期等。 sizeof(float)); • // 通过 a[i][j] 访问第 i 行,第 j 列的元素。 • for (int i = 0; i < m; i++) free(a[i]); • free(a); • ↑ 有 Java 病的人,才会这样分配二维数组,又低效,又不方便。 • 造成了 m + 1 次 malloc 调用,内存都是分散的,每次访问都要解开两层指针,非常低效。 • 分配 n*m 二维数组,正确的方式永远是: 行只用到了 1/16 造成的,一部分是因为跳 跃的访存让 CPU 没有办法自动预取造成的 。 封装成 ndarray 类 ndarray.h ,同学们可以在作业或 是自己的项目里随意使用。 不要再用 Java 式的二层三层指针 了,用 ndarray<2, float> 声明一 个二维浮点数组, ndarray<3, int> 声明一个三维整型数组。 这里的 ndarray 通过 a(x, y) 来 0 码力 | 147 页 | 18.88 MB | 1 年前3
NativeScript 101with plugins oDebugging JavaScript Why are we here? How did NativeScript come to be? Swift/Obj-C Java .NET We ❤ Web. But… We need: • Better offline support • Access to all device APIs • Home screen Example: NativeScript file module BUT HOW DO I TURN THIS INTO AN APP? Putting it all together Style with CSS Define UI with MarkupLogic with JavaScript Choice in Architecture JavaScript Write your background-size o border-color o border-width o border-radius o font o font-family o font-size o font-style o font-weight o text-align o text-decoration o text-transform o vertical-align o horizontal-align0 码力 | 90 页 | 40.11 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理C++ 除了用于初始化的构造函数( constructor ) 还包括了用于销毁的解构函数( destructor ) 离开 {} 作用域自动释放 手动释放 RAII :避免犯错误 与 Java , Python 等垃圾回收语言不同, C++ 的 解构函数是显式的,离开作用域自动销毁,毫不含 糊(有好处也有坏处,对高性能计算而言利大于 弊) 如果没有解构函数,则每个带有返回的分 支都要手动释放所有之前的资源 Pig{“ 佩奇” , 3.14f} 会出错,原因同上,更安全。 3. 可读性: Pig(1, 2) 则 Pig 有可能是个函数, Pig{1, 2} 看起来更明确。 • 其实谷歌在其 Code Style 中也明确提出别再通过 () 调用构造函数,需要类型转换时应该 用: 1. static_cast(3.14f) 而不是 int(3.14f) 2. reinterpret_cast Java ,都没有构造函数全家桶这些概念? • 因为他们的业务需求大多是:打开数据库,增删改查学生数据,打开一个窗口,写入一个 文件,正则匹配是不是电邮地址,应答 HTTP 请求等。 • 这些业务往往都是在和资源打交道,从而基本都是刚刚说的要删除拷贝函数的那一类,解 决这种需求,几乎总是在用 shared_ptr 的模式,于是 Java 和 Python 0 码力 | 96 页 | 16.28 MB | 1 年前3
whats new in visual studiopace 💡 Side-by-side minor Visual Studio 2022 toolsets (14.30, 14.31, etc.) Porting and Upgrading Guide: https://aka.ms/cpp/upgrade Visual Studio Agenda 1. Conformance 2. Code Safety 3. Cross-platform Tuesday 26th • Documentation in The Era of Concepts and Ranges – Sy Brand & Christopher Di Bella (Google) • Static Analysis and Program Safety in C++: Making it Real – Sunny Chatterjee • In-memory and0 码力 | 42 页 | 19.02 MB | 6 月前3
Rust分布式账务系统 - 胡宇对于核心领域系统,追求极致性能,使用 Rust Airwallex 业界 共识 厉兵秣马 - 人才培养 Rust 的吸引力 ● 更加容易吸引对技术有追求的人才 Rust 学习曲线 ● Java 背景, C++ 背景的同事 ● 学习《 rust 程序设计》 ● 1-3 月可以熟练转型使用 Rust Rust 与原有技术栈的融合 ● Kotlin : 偏业务,适合快速迭代 ● Rust https://github.com/kafka-rust/kafka-rust) ○ PostgreSQL ( 第三方: https://github.com/sfackler/rust-postgres) ○ Google Cloud Platform(GCP), ● 基于 C 语言的 wrapper ,容易编译出错 心路历程 欢迎加入 Airwallex 联系邮箱: mars.hu@airwallex0 码力 | 27 页 | 12.60 MB | 1 年前3
Coaching Agile TeamsexperienceCoaching JourneyCoaching“I don’t do anything!”Coach • Bulldozer – Remove impediments • Shepherd – Guide back to agile principles • Servant Leader – Serve the team, not you • Performance Guardian – Facilitate Authority Process Authority *Adopted from Agile Coaching Institute Develop them all! Let your style change!Agile Team Stages Learn It Get It Make It Your OwnFrom Shu To Ri • Recognize the ‘Edge’0 码力 | 15 页 | 608.54 KB | 5 月前3
基于Rust-vmm实现Kubernetes运行时https://kccncchina2018english.sched.com/event/FuLz/layers-of-isolation-in-kubernetes-tim-allclair-google Kubernetes has many layers of isolation, but we will focus on pod-to-pod isolation in this talk Runc Yes Yes Golang Yes No Yes None Docker gVisor+runsc Yes Yes Golang Yes No No None or KVM Google Kata+qemu Yes Yes Golang, C Yes Yes Yes KVM Hyper Firecracker+ Firecracker- containerd No Yes storage and OS environments • High-performance: Leverage KVM capability Advantage of Rust-VMM • Google implements the first Rust-based light VMM called CrosVM which is in Fuchsia operating system •0 码力 | 27 页 | 34.17 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串里 开洞。但“移动语义”这个概念在旧 cpp 里没有,所以这个是真正必要的语言本身的改动。 • 而 java 就是在语言层面,直接在 jvm 里引入了引用计数,宣称“一切皆对象”,虽然方便了 富连网业务中常见的面向对象编程范式,但也妨碍了 java 进军数据处理,高性能计算等领域 。 java 第八帝国 cpp 第十一共和国 chrono 和 complex 也定义了一些 literials 字符串 <--> 数字 第 4 章 java 经典操作:字符串 + 数字 = 字符串 • 在 java 中,你甚至可以直接把字符串和数字相加,例如: • “you have ” + 42 + “ yuan” 会得到 “ you have 42 yuan” 。 • 他实际上是先把 42 变成 “ 42” ,再把三个字符串相加的,也就是说 java 编 译器会偷偷把他转换成:“ you have0 码力 | 162 页 | 40.20 MB | 1 年前3
共 35 条
- 1
- 2
- 3
- 4













