performance 相关问题

有关测量或改进代码和应用程​​序效率的问题。

NodeJS String.indexOf 缓慢,即使索引为 200/1000000

考虑 API 返回的长字符串化 JSON 对象(数百万个字符)。 因为我只需要根据它的键找到一些值,所以我的第一反应是解析它,然后直接选择它......

回答 1 投票 0

如何在react中拆分大型json fetch

有一个关于从reactjs应用程序获取大型json数据的最佳实践的问题。 假设我们有 fetch url foo.com 并且我们还有 from、to 变量,例如 0 到 6 或我们放在那里的任何内容...

回答 1 投票 0

是否可以验证带或不带key的React渲染列表时对性能的影响

在 React 文档中,它提到当渲染没有键的列表时,React 会改变每个子项,而不是意识到它可以保持项目子树完整。这种低效率可能是一个问题......

回答 1 投票 0

为什么从同一个表中选择特定列会显着降低查询性能?

我有 SELECT 语句从 tblQuotes 查询列。为什么如果我选择列 a.ProducerCompositeCommission 和 a.CompanyCompositeCommission,然后查询会永远旋转。 执行...

回答 1 投票 0

既然 numpy 已经存在,还需要 Python 数组吗?

在发现Python能够通过“导入数组”在没有numpy的情况下使用数组之前,我了解了numpy数组。 《高性能Python》一书介绍了py...

回答 1 投票 0

OpenMP for 循环比串行代码花费更多时间

我尝试使用 OpenMP 并行化代码片段,结果发现使用 OpenMP 需要 25 倍的时间才能完成程序。有什么不对的吗?我该如何优化它? #包括 我尝试使用 OpenMP 并行化代码片段,结果发现使用 OpenMP 需要 25X 时间才能完成程序。有什么不对的吗?我该如何优化它? #include <iostream> #include <cmath> #include <random> #include <chrono> #include <cstdlib> #include <omp.h> using namespace std; int main() { unsigned long long black_square = 1, digit_square = 13; //auto n = ((black_square)<<11) * static_cast<unsigned long long>(pow(digit_square,10)); auto n = static_cast<unsigned long long>(1e9); srand(0); int tmp = 0; std::random_device rd; // Will be used to obtain a seed for the random number engine std::mt19937 gen(rd()); // Standard mersenne_twister_engine seeded with rd() std::uniform_int_distribution<> distrib(1, 6); auto tStart = std::chrono::high_resolution_clock::now(); //#pragma omp parallel for schedule(static) reduction(+:tmp) #pragma omp parallel for schedule(static) reduction(+:tmp) num_threads(8) for (unsigned long long i=0; i<n; i++) tmp = (tmp+(5==rand()%6))%static_cast<int>(1e9); //for (unsigned long long i=0; i<n; i++) tmp = (tmp+(5==distrib(gen)))%static_cast<int>(1e9); tmp%=static_cast<int>(1e9); auto tEnd = std::chrono::high_resolution_clock::now(); cout << tmp << " obtained after " << n << " iterations in " << (tEnd-tStart).count()/1e9 << "s." << endl; return 0; } 代码由g++ -o a.out -O3 -std=c++11 -fopenmp tmp.cpp编译,其中g++的版本为8.5.0 20210514。操作系统是RHEL8.9,有20个Intel Xeon CPUs at 2.593GHz。 串行代码平均运行时间为7.4s,而并行代码平均运行时间为180s。选项 -O3、-O2、-O1 具有相似的结果。随机生成器mt19937可以显着缩小性能差距,但并行代码仍然比串行版本慢得多。增加或减少 n 也会导致类似的结果。 rand()函数不需要是线程安全的。因此,像您所做的那样同时从多个线程调用它是不安全的 glibc 的 rand() 版本是线程安全的,但它是通过将整个函数包装在互斥体中来实现的。因此一次只有一个线程可以调用 rand()。由于在 rand 调用之外,您的代码执行的操作非常少,几乎所有执行时间都将在 rand() 内。 所以并行版本并不是真正的并行。每次调用 rand() 时,每个线程轮流一次执行一个。所以它比单线程没有优势。但实际上更糟糕的是,因为线程必须争夺谁获得互斥锁,在每次调用后唤醒和睡眠,并在每个 CPU 核心的缓存之间移动 PRNG 状态。所以比单线程差很多。 您应该做的是创建多个 PRNG 实例。有一个 gen 对象数组,每个线程一个。每个线程应该使用自己的 PRNG。确保每个对象在内存中相距足够远,不会共享缓存行,因此 PRNG 状态不需要在 CPU 缓存之间移动。

回答 1 投票 0

提供 WordPress 页面的静态版本

我有一个 WordPress 网站,我想用它执行以下操作: 仅将主页编译为静态 HTML 页面并提供服务。 保持所有其他页面不变 Simply Static 插件看起来很棒...

回答 1 投票 0

快速 Alpha 混合(仅限 CPU)

我目前正在优化我的手动(CPU 驱动)alpha 混合(根据像素 b 的 alpha 值,像素 b 优于像素 a)。 我目前正在使用: uint8_t invAlpha = !Alpha; uint8_t R = (Alpha * r...

回答 1 投票 0

如何有效地搜索大量文档以查找由给定单词集中存在的 90-95% 单词组成的文档

我正在构建一个平台,通过始终向用户展示略高于他们水平的内容来教用户语言(他们理解 90-95% 的单词,5-10% 的单词对他们来说是新的)。 我

回答 1 投票 0

使用 JPA 动态更新

我最近惊讶地发现默认的休眠行为是在仅进行一次更改并调用合并时更新对象中的所有字段。 动态更新是领域 t...

回答 3 投票 0

Web 应用程序的可扩展性和性能、方法?

您使用过哪些方法和技术来成功解决网站的可扩展性和性能问题?我是一名 ASP.NET Web 开发人员,正在探索使用 WCF 和 SQL 进行 .NET 远程处理

回答 3 投票 0

Boostrap-5 轮播无法正常工作

我正在学习构建网站,并且我一直在通过教程和其他东西自己完成。我正在学习使用引导程序,但是当我尝试使用轮播时它不起作用,幻灯片...

回答 2 投票 0

寻找最大元素

哪一种操作更能找到最大元素? 我试图找到最大初始权重,其中多个元素的初始权重可以从 1 到 127,每个元素都有一些初始权重。

回答 1 投票 0

C# 中两个列表中的逐元素加/减/乘/除运算

考虑两个列表中的按元素加/减/乘/除运算。我的代码如下。 公开课计算 { 公共静态 IEnumerable 添加(IEnumera...

回答 1 投票 0

如果单例没有被调用,它们会分配内存吗?

如果单例没有被调用,它们会分配内存吗?例如: 公共类 CameraShake:MonoBehaviour { // 使其成为单例 #region 单例 公共静态 CameraShake

回答 2 投票 0

GetComponent<>() 影响性能吗

正如标题所说,GetComponent() 确实对性能有很大影响。 我问这个是因为我不喜欢这样做: 公共类播放器:MonoBehaviour { PlayerStats 玩家统计...

回答 3 投票 0

Chrome + 开发工具性能不佳

这是这个问题的测试页面:https://kasheftin.github.io/chrome-vue-draggable-performance/ 基本上,它只是 10000 个 div + 简单的拖动滚动插件。 我正在努力寻找非常...

回答 1 投票 0

如何在Python中使用多个条件高效过滤大列表?

我正在开发一个Python项目,我需要根据多个条件过滤大量字典。 这是我正在处理的数据结构的简化示例: 数据 = [ {&...

回答 1 投票 0

字体文本渲染的高效展开/折叠 CSS 动画问题

我正在尝试使用 Google 的本指南构建展开/折叠部分动画,以获得最佳性能。文章最后提到 关于这个特定变体的警告:Chrome 有...

回答 1 投票 0

为什么 unordered_map 和 map 具有相同的性能?

这是我的代码,我的 unordered_map 和 map 的行为相同,并且执行时间相同。我是否遗漏了这些数据结构的某些内容? 更新:我已经根据情况更改了我的代码...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.