积分充值
 首页
前端开发
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文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(24)C++(15)Rust(8)系统运维(2)DevOps(2)数据库(1)Go(1)MySQL(1)

语言

全部中文(简体)(26)中文(简体)(1)

格式

全部PPT文档 PPT(27)
 
本次搜索耗时 0.016 秒,为您找到相关结果约 27 个.
  • 全部
  • 后端开发
  • C++
  • Rust
  • 系统运维
  • DevOps
  • 数据库
  • Go
  • MySQL
  • 全部
  • 中文(简体)
  • 中文(简体)
  • 全部
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 Rust 异步并发框架在移动端的应用 - 陈明煜

    第三届中国 Rust 开发者大会 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 本科就读加州大学圣地亚哥分校,毕业时长两年半, Rustacean 在 华为 目前正在使用 Rust 开发并行调度框架等模块。 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com of Contents #2 社区并发框架介绍以及与移动端的不适配性 Introduction to third party Runtime crates and their incompatibility with mobile environment Rust 异步机制 Asynchronous Rust 异步并发框架是许多大型应用、系统具备的底层能力。 区别于多线程编程模型,它带来以下优势: 现有框架无法完美适配移动端(一) Core Thread Thread Worker Worker task task Local queue Local queue Tokio 采用了如右图这种 GMP 模式: • 一核可以绑定多线程,每个线程拥有一个 Worker ,每个 Worker 拥有一个任务队列 • 但线程拥有相同优先级 • Worker 只持有一个本地 FIFO 队列 移动端诉求:优先级
    0 码力 | 25 页 | 1.64 MB | 1 年前
    3
  • ppt文档 陈东 - 利用Rust重塑移动应用开发-230618

    第三届中国 Rust 开发者大会 利用 Rust 重塑移动应用开发 陈东 Aaron Chen CTO AccountLabs Rust China Conf 2023 2023 移动应用开发有那些选择? 1. Native 2. Flutter 3. React Native ? 利用 Rust 重塑移动应用开发 React Native is an open-source reload - Rendering Engine 利用 Rust 重塑移动应用开发 跨平台开发的优势和局限性 Pros: - Fast - Single Codebase - Third-party support (Javascript better than Dart) 利用 Rust 重塑移动应用开发 跨平台开发的优势和局 限性 Cons: - Performance Codebase 跨平台开发到到底 应该跨什么? UI or Logic ? 利用 Rust 重塑移动应用开发 Rust 在移动端应 用的价值 Rust is the only advanced choice for cross platform development. 利用 Rust 重塑移动应用开发 Rust 的特点 Why Rust? - Cross platform - Performance
    0 码力 | 22 页 | 2.10 MB | 1 年前
    3
  • ppt文档 夏歌-使用Rust构建LLM应用

    第三届中国 Rust 开发者大会 使用 Rust 构建 LLM 应用 夏歌 SECTION TITLE SECTION TITLE 我们能不能直接用 Rust • 训练 • 推理 • AI 应用相关的工具 • WASI-NN spec • WasmEdge 已经支持 Pytorch 、 TensorFlow Lite • WASI-NN 2.0 比如 Langchain Rewrite 开发太难了 Low code Rust Rust 在系统编程已经取得了巨大成功 培养更广泛的 Rust 开发 围绕 LLM 生态封装相应的 Rust 框 架,让开发者能够使用简单的 Rust 写 应用 如何用 Rust 实现的 构建和部署 AI 相关工作流的 serverless 平台 • 上传 Rust function ,平台负责将 Rust 编译成 Wasm ,并运行在 WasmEdge
    0 码力 | 36 页 | 38.31 MB | 1 年前
    3
  • ppt文档 应用 waPC (rust) 做软件测试工具

    第三届中国 Rust 开发者大会 应用 waPC (rust) 做软件测试工具 Alan poon 潘泳权 大家好! @rustropy_gaming ruito_89 PhoTto / image / chart Webassembly Procedures Call waPC 协议标准化了本机代码调用 WebAssembly 和 WebAssembly 调用本机代码的通信 (messaging)
    0 码力 | 30 页 | 2.50 MB | 1 年前
    3
  • ppt文档 新一代分布式高性能图数据库的构建 - 沈游人

    数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 企业级数据解决方案专家 为建行、工行、交行、招行、上交所、深交所、中国人寿等 70+ 银行证券保险 企 国信通产业集团等电力能源行业提供数据智能产品解决方案及长期服务。 海致专注为政府、金融、能源等客户提供大数据处理、分析、挖掘服务,在互 联网技术基础上,打造专业、易用的企业级大数据实战应用产品及解决方案。 北京中关村总部 武汉运维中心 深圳研发中心 上海应用中心 专注于数据智能技术赋能中国数字经济发展 海致高性能图计算院士专家工作站 郑纬民 - 海致科技首席科学家 中国工程院院士、清华大学计算机科学与技术系教 大规模图数据分析平 台”荣获中国计算机学会( CCF : China Computer Federation )“ 2021 年 CCF 科 学技术奖科技进步卓越奖”。 伴随市场对于知识图谱应用的不断深入,图数据规模和应用性能之间的矛盾愈 加凸显,海致针对以上背景展开了系统性的技术攻关,解决了图数据的高效存 储、索引及复制难题,提出了基于图缩减的高效分析方法,并孵化出了一个大 规模图数据分析平台 AtlasGraph
    0 码力 | 38 页 | 24.68 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    初始化,否则有可能会变成内 存里的随机值。 • 顺便一提, C++20 中还可以通过指定名称来跳顺序: 编译器默认生成的构造函数:初始化列表(妙用,解决函数多返回值) • 典型的例子包括,图形学某知名应用中, 可以简化函数具有多个返回值的处理。 • 和 std::tuple 相比,最大的好处是每个属性都有名字 ,不容易搞错。举个例子: • auto [hit, pos, ...] = intersect( 如果一个类定义了拷贝构造函数,那么您必须同时 定义或删除拷贝赋值函数,否则出错,删除可导致 低效。 3. 如果一个类定义了移动构造函数,那么您必须同时 定义或删除移动赋值函数,否则出错,删除可导致 低效。 4. 如果一个类定义了拷贝构造函数或拷贝赋值函数, 那么您必须最好同时定义移动构造函数或移动赋值 函数,否则低效。 三五法则是前人总结的,避免犯错的经验。 只告诉做什么,不告诉为什么,是不深入的。 :为什么区分拷贝和移动? • 有时候,我们需要把一个对象 v2 移动到 v1 上。而不需要涉及实际数据的拷贝。 • 时间复杂度:移动是 O(1) ,拷贝是 O(n) 。 • 我们可以用 std::move 实现移动。 • v2 被移动到 v1 后,原来的 v2 会被清 空,因此仅当 v2 再也用不到时才用移动 。 v2 的内容被移走,所以只剩 0 个元素了↑ ↑↑ 移动进阶:交换两者的值
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程

    会用到第二讲( RAII 与智能指针)里的知识 2. 课件中一部分代码是基于 C++17 的 个人认为, C++11 中很多特性, 其实可以看做是为了支持多线程而 顺带引入的……如 chrono 、移动 、 lambda 、 RAII…… 第 0 章:时间 C 语言如何处理时间: time.h • long t0 = time(NULL); // 获取从 1970 年 1 月 1 日到当前时经过的秒数 接受一个时间点的 sleep_until ,表示让当 前线程休眠直到某个时间点。 第 1 章:线程 进程与线程 • 进程是一个应用程序被操作系统拉起来加载到内存之后从开始执行到执行结束的这样一个 过程。简单来说,进程是程序(应用程序,可执行文件)的一次执行。比如双击打开一个 桌面应用软件就是开启了一个进程。 • 线程是进程中的一个实体,是被系统独立分配和调度的基本单位。也有说,线程是 CPU 可 对于高性能并行计算,更好的是多线程。 为什么需要多线程:无阻塞多任务 • 我们的程序常常需要同时处理多个任务。 • 例如:后台在执行一个很耗时的任务,比 如下载一个文件,同时还要和用户交互。 • 这在 GUI 应用程序中很常见,比如浏览 器在后台下载文件的同时,用户仍然可以 用鼠标操作其 UI 界面。 没有多线程:程序未响应 • 没有多线程的话,就必须等文件下载完了 才能继续和用户交互。 • 下载完成前,整个界面都会处于“未响应”状
    0 码力 | 79 页 | 14.11 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    显然不是。甚至在两个处理器上同时运行两个线程也不见得可以获得两倍的性能。相似的 ,大多数多线程的应用不会比双核处理器的两倍快。他们应该比单核处理器运行的快,但 是性能毕竟不是线性增长。 • 为什么无法做到呢?首先,为了保证缓存一致性以及其他握手协议需要运行时间开销。在 今天,双核或者四核机器在多线程应用方面,其性能不见得的是单核机器的两倍或者四倍。 这一问题一直伴随 CPU 发展至今。 并发和并行的区别 且都是最近访问过的,从而已经在缓存里可以 直接读写,避免了从主内存读写的超高延迟。 • 下次课会进一步深入探讨访存优化,详细剖析 这个案例,那么下周六 14 点敬请期待。 第 6 章:并发容器 std::vector 扩容时会移动元素 • std::vector 内部存储了一个指针,指向一段容量 capacity 大于等于其 size 的内存。 • 众所周知, push_back 会导致 size 加 1 ,但 当他看到容量 当他看到容量 capacity 等于当前 size 时,意 识到无法再追加新数据。这时他会重新 malloc 一段更大的连续内存,使得 capacity 变成 size 的两倍,并且把旧的数据移动过去,然后继续追 加数据。 • 这就导致前半段的元素的地址被改变,从而导致 之前保存的指针和迭代器失效。 reserve 预留足够的 capacity • 如果预先知道 size 最后会是
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串

    和整数无异,例如 ‘ a’ 实际上会被编译器翻译成他对应的 ASCII 码: 97 。写 ‘ a’ 和写 (char)97 是完全一样的,方便阅读的语法糖而已。 “char 即整数”思想应用举例 “char 即整数”思想应用举例 C 语言帮手函数 帮手函数大全 • isupper(c) 判断是否为大写字母(‘ A’ <= c && c <= ‘Z’ )。 • islower(c) 判断是否为小写字母(‘ “0 结尾字符串”知识点应用举例 • 利用 C 语言字符串“以 0 结尾”这个特点,我们可以在一个 本来非 0 的字符处写入 0 ,来提前结束字符串。例如在第 n 个字符写入 0 ,就会只保留前 n 个字符作为一个子字 符串,删除后半部分。 “0 结尾字符串”知识点应用举例 • C 语言所谓的字符串类型 char * 实际上就是个首地址指 针,如果让首地址指针向前移动 n 位,那就实现删除前 ,尽量只在标准库里做手脚,尽可能只利用现有的语言特性,实现 cpp 的现代化。” • 例如 shared_ptr 可以通过利用语言本身的“拷贝构造函数”实现引用计数,没必要在编译器里 开洞。但“移动语义”这个概念在旧 cpp 里没有,所以这个是真正必要的语言本身的改动。 • 而 java 就是在语言层面,直接在 jvm 里引入了引用计数,宣称“一切皆对象”,虽然方便了 富连网业务中常见的面向对象编程范式,但也妨碍了
    0 码力 | 162 页 | 40.20 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器

    auto tmp = *it; • } • 这才是迭代器遍历法的本来样貌: • begin() 决定遍历的起始位置 • end() 决定遍历的终止位置 • ++it 迭代器向下一个元素移动 • 任何定义了这三个东西的类型,都能用 for (auto) 遍历,包括你的自定义类型。编译器并 不认识你 map 还是 vector ,他只知道这个类有这三样,他就能用 for (auto) auto &tmp = *it; • } • 这才是迭代器遍历法的本来样貌: • begin() 决定遍历的起始位置 • end() 决定遍历的终止位置 • ++it 迭代器向下一个元素移动 • 任何定义了这三个东西的类型,都能用 for (auto) 遍历,包括你的自定义类型。编译器并 不认识你 map 还是 vector ,他只知道这个类有这三样,他就能用 for (auto) auto [k, v] = *it; • } • 这才是迭代器遍历法的本来样貌: • begin() 决定遍历的起始位置 • end() 决定遍历的终止位置 • ++it 迭代器向下一个元素移动 • 任何定义了这三个东西的类型,都能用 for (auto) 遍历,包括你的自定义类型。编译器并 不认识你 map 还是 vector ,他只知道这个类有这三样,他就能用 for (auto)
    0 码力 | 90 页 | 8.76 MB | 1 年前
    3
共 27 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
陈明煜2023RustChinaConf陈东利用Rust重塑移动应用开发230618夏歌使用构建LLM潘泳权wpac游人RustCCAtlasGraphC++高性性能高性能并行编程优化课件0205061517
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩