MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环0 码力 | 23 页 | 780.46 KB | 1 年前3
Django 官方教程翻译项目第三部分 创建你的第一个 Django 项目, 第四部分 创建你的第一个 Django 项目, 第五部分 创建你的第一个 Django 项目, 第六部分 创建你的第一个 Django 项目, 第七部分 进阶内容:编写可重用的应用 接下来如何学习? 编写你的第一个 Django 补丁 - 1 - 本文档使用 书栈(BookStack.CN) 构建 致谢 当前文档 《Django 官方教程翻译项目》 第三部分 创建你的第一个 Django 项目, 第四部分 创建你的第一个 Django 项目, 第五部分 创建你的第一个 Django 项目, 第六部分 创建你的第一个 Django 项目, 第七部分 进阶内容:编写可重用的应用 接下来如何学习? 编写你的第一个 Django 补丁 1. Django at a glance [==========] 讨论了在真实的服务器上组织静态文件的方法。 如果你明白静态文件,来阅读 教程第七部分(zh) 学习如何自定义 Django 自动生成的管理站点 吧! 创建你的第一个 Django 项目, 第六部分 - 69 - 本文档使用 书栈(BookStack.CN) 构建 创建你的第一个 Django 项目, 第七部分 创建你的第一个 Django 项目, 第七部分 自定义管理表单 添加关联对象 自定义对象列表0 码力 | 103 页 | 1.86 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程x , y 坐标不行吗?看右边这个例子。 • 回顾一下:我们第七课讲过, CPU 上的 并行 for ,通常会做循环分块提升缓存局 域性。但是如果我们是传统的两层的 for 循环就低效了,对于矩阵转置这种需要 y 方向非连续访问而言,循环分块会带来很 大提升。 • 所以该怎么做才能让 GPU 也循环分块呢 ? 第七课(访存优化)的录播可以看这里: BV1gu41117bW 经典案例:矩阵转置 方向同理。 经典案例: jacobi 迭代 • 相比第七课 CPU 的 ghost cell 处理方式 ,这里用了 std::min 和 std::max 来防止 访问越界。主要是 GPU 的 SIMT 处理这 个比较擅长,不像 CPU 如果这样来钳制 可能导致矢量化失败。 减轻 membound :一次代替四次迭代 • 和第七课提到的循环合并法局部迭代一样的方式 。 • 不过这里改用了 多重网格实战 • 继续锐评黄某勋 • 感兴趣的扣 1 • OpenMP 新特性( parallel for 之外的) • SIMD 指令全解析( mm 开头那堆) • 内存与缓存优化进阶(第七课的延伸) • 二分查找法优化案例(针对缓存行的) • eigen 、 glm 、 vectorclass 等常用库(可能) • CPU 红黑高斯 + 多重网格实战 • 继续锐评因特尔 •0 码力 | 142 页 | 13.52 MB | 1 年前3
RISC-V 手册 v2(一本开源指令集的指南)............................................................................................. 67 第七章 压缩指令 ............................................................................................ 我们在2017年秋季学期为800名加州大学伯克利分校的学生提供了这本教科书的测试版 本。在融入了他们的反馈后,当2017年学期结束以后,第一个正式版将于2017年11月28日 至30日在硅谷举办的第七届RISC研讨会上及时发布。 RISC-V是一个伯克利研究项目的副产品。该项目正在针对更容易地同时构建硬件和软 件的目标进行开发。 致谢 我们要感谢Armando Fox,因为我们使 Store Multiple的节省。RV32C没有包含它们,以保持与RV32G指令 的一对一映射,RV32G省略了Load and Store Multiple以降低高端处理器的实现复杂性(见下文)。第七 章介绍了RV32C。RV32G表示RISC-V扩展(RV32M,RV32F,RV32D和RV32A)的流行组合,正确称 为RV32IMAFD。[Waterman 2016] 程序大小0 码力 | 164 页 | 8.85 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造降⻰龙⼋八步第六式 ⽤用户 订单 商品 第六式: 1. 给⽤用户服务创建数据 库,从原始数据库中 同步⽤用户服务的数据 遗留留系统 ⽤用户 微服务 基础设施 同步数据 降⻰龙⼋八步第七式 第七式: 1. 配置⽤用户服务,使⽤用 ⽤用户服务数据库 ⽤用户 订单 商品 遗留留系统 ⽤用户 微服务 基础设施 降⻰龙⼋八步第⼋八式 订单 商品 遗留留系统 ⽤用户0 码力 | 54 页 | 3.85 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型firstprivate ,从而支持用 lambda 捕获的访问者模式。 实现访问者模式 • 额,总之就是每一层都有一个缓存。 第 5 章:量化整型 使用 int :每个占据 4 字节 • 记得我第七课说过,一个简单的循环体往 往会导致内存成为瓶颈( memory- bound )。 • 右边就是一个很好的例子。 使用 int64_t :每个占据 8 字节 • 如果用更大的数据类型,用时会直接提升两倍! 的访问者缓存,而且超快不需要用户自己写。 • 垃圾回收可用 madvice 提前释放一段页面。 • 除此之外, mmap 还有一个好处,他会保证其内存(被读 取访问时)是零初始化的。 配合莫顿分块, AOSOA 等第七课的技术,就得到 SPGrid(sparse-paged grid) SPGrid 还支持自适应的网格 SPGrid 的利弊 • 优点:平坦直观,适合插桩,顺序访问,自适应网格 。 • 缺点:尺寸受限,操作系统挂钩,依赖0 码力 | 102 页 | 9.50 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0时再回到第二章。 第五章讨论结构体(struct)和方法,第六章介绍枚举(enum)、match 表达式和 if let 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第七章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第九章探索 String 类型的命名空间 (namespace)下,而不需要使用类似 string_from 这样的名字。在第五章的 “方法语 法”(“Method Syntax”) 部分会着重讲解这个语法,而且在第七章的 “路径用于引用模块树中 的项” 中会讲到模块的命名空间。 let mut s = String::from("hello"); s.push_str(", world!"); getters,Rust 并不像其他一些语言那样为结构字段自动实现它们。Getters 很有用,因为你可以把字段变成私有的,但方法是公共的,这样就可以把对字段的只读访问作 为该类型公共 API 的一部分。我们将在第七章中讨论什么是公有和私有,以及如何将一个字段 或方法指定为公有或私有。 -> 运算符到哪去了? 在 C/C++ 语言中,有两个不同的运算符来调用方法:. 直接在对象上调用方法,而 -> 在一个0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版String 类型的命名空间 (namespace)下,而不需要使用类似 string_from 这样的名字。在第五章的 “方法语法” (“Method Syntax”) 部分会着重讲解这个语法而且在第七章的 “路径用于引用模块树中的项” 中会讲到模块的命名空间。 可以 修改此类字符串: # fn main() { let mut s = String::from("hello"); Getters 很有用,因为你可以把字段变成私有的,但方法是公共的,这样就可以把对字段的只读访问作 116/600 Rust 程序设计语言 简体中文版 为该类型公共 API 的一部分。我们将在第七章中讨论什么是公有和私有,以及如何将一个字段 或方法指定为公有或私有。 -> 运算符到哪去了? 在 C/C++ 语言中,有两个不同的运算符来调用方法:. 直接在对象上调用方法,而 - > 使用结构体名和 :: 语法来调用这个关联函数:比如 let sq = Rectangle::square(3); 。这个 函数位于结构体的命名空间中::: 语法用于关联函数和模块创建的命名空间。第七章会讲到 模块。 多个 impl 块 每个结构体都允许拥有多个 impl 块。例如,示例 5-16 中的代码等同于示例 5-15,但每个方 法有其自己的 impl 块。 # #[derive(Debug)]0 码力 | 600 页 | 12.99 MB | 1 年前3
简明 X86 汇编语言教程 ..............................................................................................46 第七章 X86 汇编指令集汇总...................................................................................... 程序十分相似,而且结果同 hello.asm 一样,它用的是 Linux 中的 80h 中断,相当于 DOS 下的 21h 中断,只是因为 Linux 是 32 位操作系统,所以采用了 eax、ebx 等寄存器。 第七章 X86 汇编指令集汇总 一.数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. 1)MOV 传送字或字节. MOV SX 先符号扩展0 码力 | 63 页 | 598.28 KB | 1 年前3
Go语言基础
Golang Fundaments不支持函数重载(静态多态)。相同函数名不 同签名,会被认为函数重复定义 取消重载,避免编程时一个名字多种含义 变量定义与赋值 • 使用 var 关键字申明变量 • 不申明类型,则编译器采用表达式类型推导机制 – 第七行不申明 int,变量按又表达式确定类型 – 函数内可采用短赋值 := ,简化变量类型申明 – 第11行,var java string = exp 强制编译器检查 exp为指定类型 • 变量定义不赋予值,则默认“零值”0 码力 | 21 页 | 851.30 KB | 1 年前3
共 70 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













