Visualize Time Enabled Data using ArcGIS Qt (C++) and ToolkitGela Malek Pour gmalekpour@esri.com Visualize Time Enabled Data using ArcGIS Qt (C++) and ToolkitAbout Esri • We build mapping technology that our customers use to solve the world’s most complex challenges offer solutions to apply location-based analytics to business practices - Visualize and analyze data more effectively - Collaborate and share maps, apps and reports easily • Headquartered in Southern worldPurpose of this talk • Showcase a quick way to create a desktop app to visualize time enabled data • Setup the development environment using Esri templates • Use the ArcGIS toolkit to use already0 码力 | 10 页 | 734.09 KB | 6 月前3
Using the Microsoft Graph API to get Office 365 data in your mobile appsUsing the Microsoft Graph API to get Office 365 data in your mobile apps Alex Ziskind Technical Director @digitalix www.nuvious.com Hi, I’m Alex From + 750 Million 50 Million per month Problems0 码力 | 15 页 | 7.00 MB | 1 年前3
唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023第三届中国 Rust 开发者大会 Use Rust to Develop the Decentralized Open Data Application Mike Tang daogangtang@gmail.com @daogangtang 2023-06-08 ➔ 裁员 ➔ 互联网格局定型 ➔ 平台倒闭,数据丢失 这是一个什么时代? 互联网的终局 创业 -> 种子 dataset, data will increase quickly on any dimension. ➔ Multiple dimensions Dataset Models ➔ What is open data? Build an internet platform, but open its data to everyone. ➔ Why we need open data? The The business of the closed data model has been at the end. A New Proposal: Open Data Application The Road to Open Web ➔ From the user side, it looks like just the traditional Internet app ➔ But everyone0 码力 | 30 页 | 2.53 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化内部的高速缓存 • 原来 CPU 的厂商早就意识到了内存延迟高,读写效率低 下的问题。因此他们在 CPU 内部引入了一片极小的存储 器——虽然小,但是读写速度却特别快。这片小而快的 存储器称为缓存( cache )。 • 当 CPU 访问某个地址时,会先查找缓存中是否有对应的 数据。如果没有,则从内存中读取,并存储到缓存中; 如果有,则直接使用缓存中的数据。 • 这样一来,访问的数据量比较小时,就可以自动预先加 缓存中存储的数据结构: • struct CacheEntry { • bool valid; • uint64_t address; • char data[64]; • }; • CacheEntry cache[512]; • 当 CPU 读取一个地址时: • 缓存会查找和该地址匹配的条目。如果找到,则给 CPU 返 回缓存中的数据。如果找不到,则向主内存发送请求,等读 • struct CacheEntry { • bool valid, dirty; • uint64_t address; • char data[64]; • }; • CacheEntry cache[512]; • 当 CPU 写入一个地址时: • 缓存会查找和该地址匹配的条目。如果找到,则修改缓存 中该地址的数据。如果找不到,则创建一个新条目来存储 CPU0 码力 | 147 页 | 18.88 MB | 1 年前3
谈谈MYSQL那点事服务优化 服务优化 公共选项 公共选项 选项 缺省值 推荐值 说明 max_connections 100 1024 MySQL 服务器同时处理的数据库连接的最大 数量 query_cache_size 0 ( 不打开 ) 128M 查询缓存区的最大长度,按照当前需求,一 倍一倍增加,本选项比较重要 sort_buffer_size 512K 128M 每个线程的排序缓存大小,一般按照内存可 by , group by 起作用 record_buffer 128K 64M 每个进行一个顺序扫描的线程为其扫描的每 张表分配这个大小的一个缓冲区,可以设置 为 2M 以上 table_cache 64 1024 为所有线程打开表的数量。增加该值能增加 mysqld 要求的文件描述符的数量。 MySQL 对每个唯一打开的表需要 2 个文件描述符。 服务优化 服务优化 MyISAM MyISAM MySQL MySQL 部分自带函数,索引将失效,同时将无 部分自带函数,索引将失效,同时将无 法 法 使用 使用 MySQL MySQL 的 的 Query Cache Query Cache ,比如 ,比如 LEFT(), SUBSTR(), LEFT(), SUBSTR(), TO_DAYS() TO_DAYS() DATE_FORMAT(),0 码力 | 38 页 | 2.04 MB | 1 年前3
使用硬件加速Tokio - 戴翔Software Enqueue Software Producer Consumer Consumer Consumer • Synchronization latency • Memory/Cache latency • CPU cycles latency DLB : Dynamic Load Balance DLB Enqueue Logic Head and Tail pointers Balancer Producer Producer Consumer Consumer Consumer • No Synchronization latency • No memory/cache latency • No CPU cycles DLB-Assist Channel Intro Hardware Senders Receive Senders Senders Receive Pictures: • SW channels depicted in red and yellow line drop with the core count increasing because of data race among Ps and Cs. • DLB channel depicted in blue line scales well until it reaches the hardware0 码力 | 17 页 | 1.66 MB | 1 年前3
hazard pointer synchronous reclamationnewptr) { // Called infrequently Foo* oldptr = src.exchange(newptr); oldptr->retire(); } Shared data, frequently-used, infrequently-updated Hazard Pointer Synchronous Reclamation Beyond Concurrency TS2 global cleanup SequentialObjList list_; SharedObjList list_; Extra synchronization Removed private cache from Folly Using sharded domain lists instead Slow Not Scalable Is One Call to Global Cleanup Always0 码力 | 31 页 | 856.38 KB | 6 月前3
Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!Measurement: Throughput vs latency? • Workload: Proportion of reads vs writes • Hotness: Does the data fit in cache? • Contention: How many threads operation on the same location? • We will benchmark the lock-free0 码力 | 45 页 | 5.12 MB | 6 月前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南语法是: set( 变量名 “变量值” CACHE 变量类型 “注释” ) 缓存的 myvar 会出现在 build/CMakeCache.txt 里 常见问题:我修改了 CMakeLists.txt 里 set 的值,却没有更新? 为了更新缓存变量,有的同学偷懒直接修改 CMakeLists.txt 里的值,这是没用的。 因为 set(... CACHE ...) 在缓存变量已经存在时,不会更新缓存的值! 变量名 “描述” 变量值 ) 等价于: set( 变量名 CACHE BOOL 变量值 “描述” ) 经典问题:小彭老师,我 option 设为 OFF 了为什么他还是 ON 呀? 因为在 CMakeLists.txt 里直接改 option 是错的,官方解法是通过 -D 参 数来改 刚刚说了, option 等价于 set(... CACHE BOOL ...) 。 因此在 CMakeLists environment variable ): $ENV{xx} 。 • 比如 $ENV{PATH} 就是获取 PATH 这个环境变量的值。 缓存变量的访问方式: $CACHE{xx} • 此外,还可以用 $CACHE{xx} 来访问缓存里的 xx 变量。 • 缓存变量和环境变量是不论父子模块都共用的,没有作用域一说。 ${xx} 找不到局部变量时,会自动去找缓存变量 • ${xx}0 码力 | 166 页 | 6.54 MB | 1 年前3
Bazelclang 编译 CC=clang CXX=clang++ bazel build …2 制作镜像 docker run -v $(pwd):/curve -v /root/.cache/bazel:/root/.cache/bazel -it opencurvedocker/curve-base:build-debian11 # 容器内 cd /curve/curvefs make build0 码力 | 6 页 | 4.69 MB | 6 月前3
共 42 条
- 1
- 2
- 3
- 4
- 5













