积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(8)C++(7)系统运维(2)DevOps(2)Java(1)

语言

全部中文(简体)(10)

格式

全部PPT文档 PPT(10)
 
本次搜索耗时 0.017 秒,为您找到相关结果约 10 个.
  • 全部
  • 后端开发
  • C++
  • 系统运维
  • DevOps
  • Java
  • 全部
  • 中文(简体)
  • 全部
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器

    [k, v] 是对 map 里面真正 K-V 对的一份深拷贝。你写入的只是这份拷贝 后的 V ,不是 map 中的那个 V 。 map 的遍历:遍历的同时修改怎么办? k v map 中的 堆空间 执行你这段代码 的栈空间 未初 始化 v2 要写入的数 执行中的代码 for (auto [k, v]: m) { v = v2; } • 我们现在遍历一个 map ,然后把他里面所有的 [k, v] 是对 map 里面真正 K-V 对的一份深拷贝。你写入的只是这份拷贝 后的 V ,不是 map 中的那个 V 。 map 的遍历:遍历的同时修改怎么办? k v map 中的 堆空间 执行你这段代码 的栈空间 k v v2 要写入的数 执行中的代码 for (auto [k, v]: m) { v = v2; } • 我们现在遍历一个 map ,然后把他里面所有的 ,不是 map 中的那个 V 。 map 的遍历:遍历的同时修改怎么办? k v map 中的 堆空间 执行你这段代码 的栈空间 k v2 v2 要写入的数 执行中的代码 for (auto [k, v]: m) { v = v2; } 你修改的是栈空间 ( 周树人 ) 管我堆空间 ( 鲁迅 ) 什么事? • 我们现在遍历一个 map ,然后把他里面所有的 V 都设为 v2 ,要怎么做?
    0 码力 | 90 页 | 8.76 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 性能优化之无分支编程 Branchless Programming

    net/techtips/x86-jumps.html 手动进行无分支优化的方法 无分支优化:从汇编角度分析 • 发生了什么?让我们把源码和汇编逐个对应。 • x 是第一个参数(通过 edi 传入,被存入 rbp 指向的堆 栈) • 比较 x 和 0 的大小( cmp 命令把刚存入堆栈的 x 和 0 比较) • 这里 x > 0 返回的是一个 bool 类型(通过指令 setg al 求出) • bool 但是很多时候并不是单独的一个分支。那 么“妙用加减乘”计算量就会很大,而且写起 来也麻烦。 存在大量分支的情形 • 很多同学通常都会用 switch 来处理这种 大量判断的情况。可能你误以为 switch 比一堆 if-else 更高效。但是实际上在编译 器看来是一样的,不管你 if-else 还是 switch ,他都会想方设法帮你优化成查表 法。 • 所以不用纠结性能,你觉得哪种写起来可 读性强,容易维护,你就怎么写。 • 这个表里每个元素就是原来要返回的一个个 值,索引就是要判断的参数 x 。 • 因为查表只需要一个指针的加法和读取操作 ,复杂度是 O(1) 的;运算量远远小于最坏 需要 n 次判断的一堆 if-else ,复杂度是 O(n) 的。因此用查表法去优化有很多次连 续判断的 if-else 会比较赚。 查表法的确定:如果 x 有可能越界,则需要特殊判断 • 不过刚刚的写法无法处理
    0 码力 | 47 页 | 8.45 MB | 1 年前
    3
  • ppt文档 Zadig 面向开发者的云原生 DevOps 平台

    -> GitLab-CI 自动构建打包 Chart (写一堆复杂 的脚本 ) -> -> Rancher 上手动替换 Helm Chart 版本 -> 调试 (使用 kubectl/ 日志系统) 2. 测试流程 合并到 develop -> GitLab-CI 自动构建打包 Chart (还是那堆复杂的脚 本) -> -> Rancher 上手动替换 关联到开发工作流中,为开发提供自动化验证保障 效能提升场景: 2K+ 微服务、多语言、 Helm 、 K8s 多集群 1. 维护成本高昂 2. 交付效率低下 3. Chart 版本管理混乱 1. 一堆复杂的脚本 2. Rancher 上手动替换版本 3. 测试环境不透明,总出问题 4. 每次部署都需要产生一个 Chart 版 本 效能提升场景:现状的痛点分析 效能提升场景:
    0 码力 | 59 页 | 81.43 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 12 从计算机组成原理看 C 语言指针

    的重载了。 • 在现代 C++ 中,建议始终用 nullptr ,不 要再用 NULL 和 0 表示空指针了,不安全 。 来看看 GLIBC 的源码 数组的本质究竟是什么? 数组就是一堆在内存中紧密排列在一起的数 • 例如一个由 4 个字节组成的 char 数组,在内存中就是: 实验: char 类型数组 • 可以通过 char a[4] = {...} 来创建一个数组。 • 栈上不能动态分配内存,堆上就可以! • char a[4] 可以在编译期确定一片栈上的连 续内存,大小为 4 字节, 4 必须是常量 。 • 而调用 stdlib.h 的 malloc(n) 就可以从堆 上分配一段 n 字节的连续内存,这里的 n 就可以不是常量了。 • 栈上的内存会在函数退出时自动释放,而 堆上的内存不会,需要手动 free(a) 释放 。 动态数组作为函数参数?不仅要传首地址,还要传数组长度! 内存,堆上内存是持久的,只要你不手动 free 他就一直在那里。 • 这样函数退出时不会释放数组,调用者就 可以访问到正确的数据了。 • 当然这样需要调用者在退出时手动调用一 下 free(a) ,因为堆内存不会自动释放。 太复杂了?没关系,用 C++ 的容器库 • 如果你觉得这样自己管理内存太麻烦了,那是 正常的。对于不精通 C 语言的小白程序员来 说,很容易就忘记释放内存了。 • 因此 C++
    0 码力 | 128 页 | 2.95 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器

    C++17 引入了个语 法糖:基于范围的 for 循 环 (range-based for loop) 。 • for ( 类型 变量名 : 可迭代对象 ) • 这种写法,无非就是刚才 那一大堆代码的简写: set 的遍历 • 基于范围的 for 循环只是 一个简写,他会遍历整个 区间 [begin, end) 。 • 有时写完整版会有更大的 自由度,也就是说这里的 begin 和 &val) const; 查找 multiset 中的等值区间 • equal_range 返回的等值区间, 可以求长度,也可以遍历。 • 对 multiset 而言遍历似乎没什么 用,反正都是一堆相等的元素。 • 求长度也没什么用,可以用 count 替代,总之就是非常尴尬 。 • 但之后说到 multimap 的时候这 个函数就会很有用了,下节课再 说。 • pair
    0 码力 | 83 页 | 10.23 MB | 1 年前
    3
  • ppt文档 JVM 内存模型

    Stack Native Method Stack PC Register JVM Stack Native Method Stack 程序计数器、虚拟 机栈, native 栈 为线程私有 堆为线程共享 方法区为线程共享 Eden From Survivor To Survivor 新生代 Old Space 老年代
    0 码力 | 1 页 | 48.42 KB | 1 年前
    3
  • ppt文档 Zadig 产品使用手册

    支持多个服务并行构建部署、产品级发布,可 灵活安全接入多个代码仓及周边工具链 开发 Zadig 核心特性: 运维 真正意义的持续交付:以工程师体验为核心,价值交付为理念,完成需求到发布的全路径。 测试 发布 洞察 一堆复杂脚本、维护成本极高 员工手工操作费时费力易出错 手动更新服务、手动打包、交付 付效率低下、占据大量研发时间 、研发利用率极低 环境不透明、测试效率低下、测 试有效性低、大量手工、价值难 以体现
    0 码力 | 52 页 | 22.95 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起

    C++ Fortran GNU gcc g++ gfortran LLVM clang clang++ flang 多文件编译与链接 • 单文件编译虽然方便,但也有如下缺点: 1. 所有的代码都堆在一起,不利于模块化和理解。 2. 工程变大时,编译时间变得很长,改动一个地方就得全部重新编译。 • 因此,我们提出多文件编译的概念,文件之间通过符号声明相互引用。 • > g++ -c hello
    0 码力 | 32 页 | 11.40 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    等常用库(大概) • GPU 红黑高斯 + 多重网格实战 • 继续锐评黄某勋 • 感兴趣的扣 1 • OpenMP 新特性( parallel for 之外的) • SIMD 指令全解析( mm 开头那堆) • 内存与缓存优化进阶(第七课的延伸) • 二分查找法优化案例(针对缓存行的) • eigen 、 glm 、 vectorclass 等常用库(可能) • CPU 红黑高斯 + 多重网格实战
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串

    com/cn/6211/ MSVC 经典笑话:烫烫烫屯屯屯 • Windows 的 MSVC 在 Debug 模式下会默认把未初始化的栈内存 填满 0xCC ( x86 的 INT3 单步中断指令),未初始化的堆内存填 满 0xCD 。 • 而 0xCCCC 在 GBK 编码中就是“烫”,所以如果不小心打印了栈上 未初始化的字符串数组,就会看到“烫烫烫”。 • 而 0xCDCD 在 GBK 编码中就是“屯”,所以如果不小心打印了堆上
    0 码力 | 162 页 | 40.20 MB | 1 年前
    3
共 10 条
  • 1
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件17Zadig面向开发开发者原生DevOps平台1214figjavamemoryarchpptx产品使用手册使用手册010815
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩