 Go GC:
Latency Problem SolvedGo GC: Latency Problem Solved Rick Hudson Google Engineer GopherCon Denver July 8, 2015 Google Confidential and Proprietary My Codefendants: The Cambridge Runtime Gang https://upload.wikimedia.o #1 Barrier: GC Latency Google Confidential and Proprietary When is the best time to do a GC? When nobody is looking. Using camera to track eye movement When subject looks away do a GC. Recovering org/wiki/File:WIFI_icon.svg#globalusage Google Confidential and Proprietary Or Trade Throughput for Reduced GC Latency Google Confidential and Proprietary Latency Nanosecond 1: Grace Hopper Nanosecond0 码力 | 20 页 | 897.11 KB | 1 年前3 Go GC:
Latency Problem SolvedGo GC: Latency Problem Solved Rick Hudson Google Engineer GopherCon Denver July 8, 2015 Google Confidential and Proprietary My Codefendants: The Cambridge Runtime Gang https://upload.wikimedia.o #1 Barrier: GC Latency Google Confidential and Proprietary When is the best time to do a GC? When nobody is looking. Using camera to track eye movement When subject looks away do a GC. Recovering org/wiki/File:WIFI_icon.svg#globalusage Google Confidential and Proprietary Or Trade Throughput for Reduced GC Latency Google Confidential and Proprietary Latency Nanosecond 1: Grace Hopper Nanosecond0 码力 | 20 页 | 897.11 KB | 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 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
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100














 
  
  
 