 2.1.3 如何用Go模拟CPU如何用Go模拟CPU 蒙卓 华为 – 2012实验室 工程师 成为盘古? 让这个世界里面的人(程序)无法察觉 这个世界是创造出来的 目录 • 计算机的演化历史 – 硬件计算到冯诺伊曼架构 • 构建虚拟世界 – MOS 6502 • 控制单元(control unit) • 运算逻辑单元(arithmetic logic unit) • 6502汇编器与链接器 • 未来目标 1970年程序员 1970年程序员 CPU 80KHz 单核 内存 64KB 手编磁芯 老娘把你送上月球 2021年程序员 CPU 2,400,000KHz 4核 内存 8,000,000KB DDR3 呜呜 App内存不足 外卖下不了单 计算机的演化历史 • 一部偷懒的历史 • 硬件“计算机”时代 • 不擅长计算和记忆的人使用工具帮助计算:算盘,计算尺,手摇计算器 • 硬件计算机改进支持的算法,需要变更或重新发明整个硬件,比如让算 计算机的演化历史 • 改硬件太麻烦了,还慢 • 继电器计算机 • 1937年贝尔实验室:model k • 计算一次复数速度30-40s,手摇计算机15分 钟 • 从织布机来源的灵感,可使用纸片打孔的方 式编写程序(patch的来源) • 真空管计算机 • 1946年 ENIAC,由于减少了继电器的机械装 置速度更快,但寿命短。 • 因为真空管会发光,吸引飞蛾(bug的来源)0 码力 | 42 页 | 7.10 MB | 1 年前3 2.1.3 如何用Go模拟CPU如何用Go模拟CPU 蒙卓 华为 – 2012实验室 工程师 成为盘古? 让这个世界里面的人(程序)无法察觉 这个世界是创造出来的 目录 • 计算机的演化历史 – 硬件计算到冯诺伊曼架构 • 构建虚拟世界 – MOS 6502 • 控制单元(control unit) • 运算逻辑单元(arithmetic logic unit) • 6502汇编器与链接器 • 未来目标 1970年程序员 1970年程序员 CPU 80KHz 单核 内存 64KB 手编磁芯 老娘把你送上月球 2021年程序员 CPU 2,400,000KHz 4核 内存 8,000,000KB DDR3 呜呜 App内存不足 外卖下不了单 计算机的演化历史 • 一部偷懒的历史 • 硬件“计算机”时代 • 不擅长计算和记忆的人使用工具帮助计算:算盘,计算尺,手摇计算器 • 硬件计算机改进支持的算法,需要变更或重新发明整个硬件,比如让算 计算机的演化历史 • 改硬件太麻烦了,还慢 • 继电器计算机 • 1937年贝尔实验室:model k • 计算一次复数速度30-40s,手摇计算机15分 钟 • 从织布机来源的灵感,可使用纸片打孔的方 式编写程序(patch的来源) • 真空管计算机 • 1946年 ENIAC,由于减少了继电器的机械装 置速度更快,但寿命短。 • 因为真空管会发光,吸引飞蛾(bug的来源)0 码力 | 42 页 | 7.10 MB | 1 年前3
 Bridging the Gap: Writing Portable Programs for CPU and GPU1/66Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA Thomas Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool afterwards7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Algorithms are designed differently Latency/Throughput Memory bandwidth Number of talk7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Why it makes sense? Library/Framework developers Embarrassingly parallel algorithms0 码力 | 124 页 | 4.10 MB | 6 月前3 Bridging the Gap: Writing Portable Programs for CPU and GPU1/66Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA Thomas Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool afterwards7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Algorithms are designed differently Latency/Throughput Memory bandwidth Number of talk7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Why it makes sense? Library/Framework developers Embarrassingly parallel algorithms0 码力 | 124 页 | 4.10 MB | 6 月前3
 How and When You
Should Measure CPU
Overhead of eBPF
ProgramsHow and When You Should Measure CPU Overhead of eBPF Programs Bryce Kahle, Datadog October 28, 2020 Why should I profile eBPF programs? CI variance tracking Tools kernel.bpf_stats_enabled kernel0 码力 | 20 页 | 2.04 MB | 1 年前3 How and When You
Should Measure CPU
Overhead of eBPF
ProgramsHow and When You Should Measure CPU Overhead of eBPF Programs Bryce Kahle, Datadog October 28, 2020 Why should I profile eBPF programs? CI variance tracking Tools kernel.bpf_stats_enabled kernel0 码力 | 20 页 | 2.04 MB | 1 年前3
 使用 TEX 写文档KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX 优点 比较 HowTo LATEX 文档基本结构 一个简单例子 正文排版 讨论和演示 使用 TEX 写文档 王晓东 wxd2870@163.com 中国海洋大学 September 4, 2012 KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展0 码力 | 65 页 | 1.07 MB | 1 年前3 使用 TEX 写文档KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX 优点 比较 HowTo LATEX 文档基本结构 一个简单例子 正文排版 讨论和演示 使用 TEX 写文档 王晓东 wxd2870@163.com 中国海洋大学 September 4, 2012 KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展0 码力 | 65 页 | 1.07 MB | 1 年前3
 Dataease使用指南Dataease使用指南 文章最后有3分钟的简易上手视频教学链接 0 1 PART 01 概括 PA R T 0 1 PA R T 0 2 PA R T 0 3 数据源 在dataease中,数据源就是指数据的 来源,用来获取原始数据。这里我们 主要使用的是 1.mysql数据库 2.api指令 作为数据源。 Mysql直接对接我们的云服务器上的数 据库,而Api对接的是我们官网数据展 [太阳能矩阵供水总管温度TE-049]) / 3.6 2.使用仪表盘 1.新建仪表盘 ,完成了数据集的构建,就 需要将图表绘制出了。 2.作为简单的演示,选择自定义一个新模 板作为仪表盘。(也可以使用已有的模板, 仪表盘相当于ppt的模板使用方式) 3.空仪表盘相当于空的ppt页面,我们需要 先创建一个视图。 4.选择数据集。 2.使用仪表盘 5.选择图表类型,这里选择折线图。 6.完成之后只有一个空白的坐标轴,还需 处理。比如按天为间隔显示维度,值也会 按天求和。 2.使用仪表盘 7. 过滤条件的使用,假如我们只需要看23年7月23日后的数据。 2.使用仪表盘 7. 出现的图仍然达不到我们的需求,还需要对维度(时间)进行 修改。将时间的显示模式改为时分秒。然后拖动视图放大。就有 了和原图一样的效果。 3.散点图绘制说明 1. 由于原生的dataease散点图无法满足使用需求,故修改了源 码使得能够成功上线。0 码力 | 18 页 | 1.50 MB | 1 年前3 Dataease使用指南Dataease使用指南 文章最后有3分钟的简易上手视频教学链接 0 1 PART 01 概括 PA R T 0 1 PA R T 0 2 PA R T 0 3 数据源 在dataease中,数据源就是指数据的 来源,用来获取原始数据。这里我们 主要使用的是 1.mysql数据库 2.api指令 作为数据源。 Mysql直接对接我们的云服务器上的数 据库,而Api对接的是我们官网数据展 [太阳能矩阵供水总管温度TE-049]) / 3.6 2.使用仪表盘 1.新建仪表盘 ,完成了数据集的构建,就 需要将图表绘制出了。 2.作为简单的演示,选择自定义一个新模 板作为仪表盘。(也可以使用已有的模板, 仪表盘相当于ppt的模板使用方式) 3.空仪表盘相当于空的ppt页面,我们需要 先创建一个视图。 4.选择数据集。 2.使用仪表盘 5.选择图表类型,这里选择折线图。 6.完成之后只有一个空白的坐标轴,还需 处理。比如按天为间隔显示维度,值也会 按天求和。 2.使用仪表盘 7. 过滤条件的使用,假如我们只需要看23年7月23日后的数据。 2.使用仪表盘 7. 出现的图仍然达不到我们的需求,还需要对维度(时间)进行 修改。将时间的显示模式改为时分秒。然后拖动视图放大。就有 了和原图一样的效果。 3.散点图绘制说明 1. 由于原生的dataease散点图无法满足使用需求,故修改了源 码使得能够成功上线。0 码力 | 18 页 | 1.50 MB | 1 年前3
 使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz 安装包。macOS 用户可以 brew install graphviz。 建立一个测试源文件 hello.dot(DOT 语言为 Graphviz Department -> Employeee } } Company Department * Employeee * 2.5 依赖 依赖(depedency)关系说明一个类会使用到另一个类,例如表示以一个类作为成员方法的参 数或返回值。UML 中采用线形箭头和虚线表示。以下的例子表示工厂创建产品,常见于各种 工厂模式,工厂不拥有产品。 digraph { node [shape=box0 码力 | 20 页 | 331.51 KB | 1 年前3 使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz 安装包。macOS 用户可以 brew install graphviz。 建立一个测试源文件 hello.dot(DOT 语言为 Graphviz Department -> Employeee } } Company Department * Employeee * 2.5 依赖 依赖(depedency)关系说明一个类会使用到另一个类,例如表示以一个类作为成员方法的参 数或返回值。UML 中采用线形箭头和虚线表示。以下的例子表示工厂创建产品,常见于各种 工厂模式,工厂不拥有产品。 digraph { node [shape=box0 码力 | 20 页 | 331.51 KB | 1 年前3
 SQLite概述、安装和使用SQLite概述、安装和使用 北京理工大学计算机学院 金旭亮 http://www.sqlite.org/ •一种单用户单文件的关系数据库 •占用资源少,适合于嵌入式产品 •无需安装,可以直接嵌入到应用程序中, Java应用只需引用一个jar包即可 •Android操作系统内置对SQLite的直接支持 SQLite概述 官网: http://www.sqlite.org/download org/download.html 访问官网,可以直接下载相 关平台的SQLite开发工具 下载这个压缩包,可以在 Windows上创建和管理Sqlite数 据库,适合于学习 Windows环境下使用SQLite 解压 命令行下打开此程序 SQLite Shell SQLite Shell是一个命令行工 具,可以用它来创建和存取 SQLite数据库。 SQLite Shell支持SQL标准命 令,以及SQLite扩展的命令 table test (id integer primary key, value text); 使用create table命令创建test表,表中有两个字段:id和value test表创建完成之后,打开文件资源管理器,你会发现test.db文件 己经创建好了,你可以在SQLite Shell中使用.tables命令列出当前 数据库(即test.db)中的所有表。 SQLite中的数据类型0 码力 | 17 页 | 717.73 KB | 1 年前3 SQLite概述、安装和使用SQLite概述、安装和使用 北京理工大学计算机学院 金旭亮 http://www.sqlite.org/ •一种单用户单文件的关系数据库 •占用资源少,适合于嵌入式产品 •无需安装,可以直接嵌入到应用程序中, Java应用只需引用一个jar包即可 •Android操作系统内置对SQLite的直接支持 SQLite概述 官网: http://www.sqlite.org/download org/download.html 访问官网,可以直接下载相 关平台的SQLite开发工具 下载这个压缩包,可以在 Windows上创建和管理Sqlite数 据库,适合于学习 Windows环境下使用SQLite 解压 命令行下打开此程序 SQLite Shell SQLite Shell是一个命令行工 具,可以用它来创建和存取 SQLite数据库。 SQLite Shell支持SQL标准命 令,以及SQLite扩展的命令 table test (id integer primary key, value text); 使用create table命令创建test表,表中有两个字段:id和value test表创建完成之后,打开文件资源管理器,你会发现test.db文件 己经创建好了,你可以在SQLite Shell中使用.tables命令列出当前 数据库(即test.db)中的所有表。 SQLite中的数据类型0 码力 | 17 页 | 717.73 KB | 1 年前3
 使用 Docker 建立 MySQL 集群使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主0 码力 | 3 页 | 103.32 KB | 1 年前3 使用 Docker 建立 MySQL 集群使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主0 码力 | 3 页 | 103.32 KB | 1 年前3
 FFMPEG 镜像使用指南FFMPEG 镜像使用指南 镜像环境说明 镜像版本说明 操作系统:centos 6.5 64 位 软件:ffmpeg version 3.0.2 - static 镜像安装说明 1. 在镜像环境中,/alidata/install/ 目录中是安装镜像环境的脚本,您可以在 centos 6.5 系统中自行采用此脚本安装,安装后的环境跟镜像里初始化的环境一 致。 2. 在镜像环境中,使用 在镜像环境中,使用 ffmpeg 官方( http://ffmpeg.org )下载的软件包,加 以便捷配置,方便客户使用。 软件目录及配置列表 软件的主目录:/alidata/server/ffmpeg 软件运行目录:/alidata/server/ffmpeg/bin/ 已经连接到 /bin/ 目录中。 init 目录: /alidata/init 为当用户用镜像创建系统0 码力 | 2 页 | 71.75 KB | 1 年前3 FFMPEG 镜像使用指南FFMPEG 镜像使用指南 镜像环境说明 镜像版本说明 操作系统:centos 6.5 64 位 软件:ffmpeg version 3.0.2 - static 镜像安装说明 1. 在镜像环境中,/alidata/install/ 目录中是安装镜像环境的脚本,您可以在 centos 6.5 系统中自行采用此脚本安装,安装后的环境跟镜像里初始化的环境一 致。 2. 在镜像环境中,使用 在镜像环境中,使用 ffmpeg 官方( http://ffmpeg.org )下载的软件包,加 以便捷配置,方便客户使用。 软件目录及配置列表 软件的主目录:/alidata/server/ffmpeg 软件运行目录:/alidata/server/ffmpeg/bin/ 已经连接到 /bin/ 目录中。 init 目录: /alidata/init 为当用户用镜像创建系统0 码力 | 2 页 | 71.75 KB | 1 年前3
 使用React构建Flutter应用使用 React 构建 Flutter 应用 探索新一代渲染技术 Kraken • 2011 - 2013年 • WebQQ • QQ • 手机 QQ • 2014年 - 现在 • 淘宝交易线产品 • 淘宝中后台产品 • 淘系无线架构、中后台架构 https://github.com/yuanyan 元彦 淘系前端团队 天猫未来店 GCanvas C++ Engine Reload 不支持 Flex Layout 布局 比肩原生的性能 调试工具完善 脱离前端 JS 生态 不支持动态下发 Bundle 不支持类 JSX,可读性差 前端视角里的 Flutter 使用 Flutter 的刚性诉求 具有动态性 可连接前端生态 Dart 生产模式 开发 Develop 部署 Deploy JIT Dart VM Dart AOT Runtime AOT0 码力 | 39 页 | 2.13 MB | 1 年前3 使用React构建Flutter应用使用 React 构建 Flutter 应用 探索新一代渲染技术 Kraken • 2011 - 2013年 • WebQQ • QQ • 手机 QQ • 2014年 - 现在 • 淘宝交易线产品 • 淘宝中后台产品 • 淘系无线架构、中后台架构 https://github.com/yuanyan 元彦 淘系前端团队 天猫未来店 GCanvas C++ Engine Reload 不支持 Flex Layout 布局 比肩原生的性能 调试工具完善 脱离前端 JS 生态 不支持动态下发 Bundle 不支持类 JSX,可读性差 前端视角里的 Flutter 使用 Flutter 的刚性诉求 具有动态性 可连接前端生态 Dart 生产模式 开发 Develop 部署 Deploy JIT Dart VM Dart AOT Runtime AOT0 码力 | 39 页 | 2.13 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100














 
  
  
 