optimization相关内容

加速 Python 中的位串/位操作?

我使用 Sieve of Eratosthenes 和 Python 3.1 编写了一个素数生成器.代码在 ideone.com 上以 0.32 秒正确且优雅地运行,以生成最多 1,000,000 的素数. # from bitstring import BitStringdef prime_numbers(limit=1000000):'''质数生成器.产量系列2, 3, 5, 7, 11, ..
发布时间:2021-12-02 17:29:29 其他开发

为什么 Swift 编译时间这么慢?

我使用的是 Xcode 6 Beta 6. 这件事一直困扰着我一段时间,但现在几乎无法使用. 我的项目开始有体面大小的 65 个 Swift 文件和一些桥接的 Objective-C 文件(这实际上不是问题的原因). 似乎对任何 Swift 文件的任何轻微修改(例如在应用中几乎不使用的类中添加一个简单的空格)都会导致指定目标的整个 Swift 文件被重新编译. 经过更深入的 ..
发布时间:2021-12-02 16:08:14 移动开发

从 SQL Server 中的 VARCHAR 中删除非数字字符的最快方法

我正在编写一个导入实用程序,它使用电话号码作为导入中的唯一键. 我需要检查我的数据库中是否不存在电话号码.问题是数据库中的电话号码可能有破折号和括号之类的东西,也可能有其他东西.我写了一个函数来删除这些东西,问题是它慢并且在我的数据库中有数千条记录并且一次导入数千条记录,这个过程可能会慢得令人无法接受.我已经将电话号码列为索引. 我尝试使用这篇文章中的脚本: T-SQL 修剪 &nb ..
发布时间:2021-12-02 15:02:20 数据库

SQL Server 索引 - 升序或降序,有什么区别?

当您在 MS SQL Server(我使用的是 2005 版)的一列或多列上创建索引时,您可以指定每列上的索引是升序还是降序.我很难理解为什么这个选择甚至在这里.使用二进制排序技术,无论哪种方式查找都不会一样快吗?我选择哪个订单有什么区别? 解决方案 这在与复合索引一起使用时很重要: CREATE INDEX ix_index ON mytable (col1, col2 DESC); ..
发布时间:2021-12-02 14:57:43 数据库

为什么 .NET/C# 不针对尾调用递归进行优化?

我发现了关于哪些语言优化了尾递归的这个问题.为什么 C# 不尽可能优化尾递归? 对于具体案例,为什么不将此方法优化为循环 (Visual Studio 2008 32 位,如果这很重要)?: private static void Foo(int i){如果(我== 1000000)返回;如果(我 % 100 == 0)Console.WriteLine(i);富(i+1);} 解决方案 ..
发布时间:2021-12-02 14:01:23 C#/.NET

优化 C#/.NET 程序的技巧

如今,优化似乎是一门失传的艺术.不是有一段时间所有程序员都从他们的代码中榨取每一盎司的效率吗?经常在雪地里步行五英里时这样做? 本着找回失落艺术的精神,您知道哪些简单(或复杂)更改以优化 C#/.NET 代码的技巧?由于这是一个如此广泛的事情,取决于人们试图完成的事情,因此为您的提示提供上下文会有所帮助.例如: 当将多个字符串连接在一起时,请改用 StringBuilder.有关这方面 ..
发布时间:2021-12-02 13:39:29 C#/.NET

C 中的 i++ 和 ++i 之间有性能差异吗?

如果不使用结果值,i++ 和 ++i 之间是否存在性能差异? 解决方案 执行摘要:No. i++ 可能比 ++i 慢,因为 i 的旧值可能需要保存以备后用,但实际上所有现代编译器会对此进行优化. 我们可以通过查看这个函数的代码来证明这一点,都带有 ++i 和 i++. $ cat i++.cextern void g(int i);无效 f(){国际我;对于 (i = 0; ..
发布时间:2021-12-02 08:09:53 其他开发

最终赋值的 C 循环优化帮助(禁用编译器优化)

因此,对于我在计算机系统课程中的最终作业,我们需要优化这些 for 循环,使其比原始循环更快. 使用我们的 linux 服务器,基本成绩在 7 秒以内,满级成绩在 5 秒以内.我在这里的这段代码大约需要 5.6 秒.我想我可能需要以某种方式使用指针来让它运行得更快,但我不太确定.任何人都可以提供我的任何提示或选项吗? 文件必须保持在 50 行或更少,我将忽略教师包含的那些注释行. # ..
发布时间:2021-12-02 08:01:57 其他开发

为什么在迭代二维数组时循环的顺序会影响性能?

下面是两个几乎相同的程序,只是我交换了 i 和 j 变量.它们都以不同的时间运行.有人可以解释为什么会发生这种情况吗? 版本 1 #include #include 主要的 () {int i,j;静态 int x[4000][4000];对于 (i = 0; i 版本 2 #include #include 主要的 () {int i,j;静态 int x[4000][4000]; ..
发布时间:2021-12-02 00:09:50 其他开发

提高 SQLite 的每秒插入性能

优化 SQLite 很棘手.C 应用程序的批量插入性能可以从每秒 85 次插入到每秒超过 96,000 次插入! 背景:我们使用 SQLite 作为桌面应用程序的一部分.我们将大量配置数据存储在 XML 文件中,这些数据会被解析并加载到 SQLite 数据库中,以便在应用程序初始化时进行进一步处理.SQLite 非常适合这种情况,因为它速度快,不需要专门的配置,并且数据库作为单个文件存储在磁 ..
发布时间:2021-12-01 23:39:06 数据库

如何在 HTML 中将一个图像放置在另一个图像的顶部?

我是 Rails 编程的初学者,尝试在页面上显示许多图像.有些图像要放在其他图像之上.为了简单起见,假设我想要一个蓝色方块,在蓝色方块的右上角有一个红色方块(但在角落处不紧).由于性能问题,我试图避免合成(使用 ImageMagick 和类似工具). 我只想相对于彼此定位重叠的图像. 举一个更困难的例子,想象一个里程表放置在一个更大的图像中.对于六位数字,我需要合成一百万张不同的图像, ..
发布时间:2021-12-01 16:57:08 前端开发

模块化算法和 NTT(有限域 DFT)优化

我想使用 NTT 进行快速平方(请参阅快速 bignum 平方计算),但即使对于非常大的数字……超过 12000 位. 所以我的问题是: 有没有办法优化我的 NTT 转换?我并不是要通过并行(线程)来加速它;这只是低级层. 有没有办法加快我的模块化算术的速度? 这是我在 C++ 中为 NTT 编写的(已经优化的)源代码(它是完整的并且 100% 在 C++ 中工作,不需要第三方 ..
发布时间:2021-12-01 15:49:06 C/C++开发

在 C++ 中测量函数的执行时间

我想了解某个函数在我的 C++ 程序中在 Linux 上执行所需的时间.之后,我想做一个速度比较.我看到了几个时间函数,但最终从 boost 得到了这个.时间: process_user_cpu_clock,捕获当前进程花费的用户-CPU时间 现在,我不清楚是否使用上述功能,我是否会获得 CPU 在该功能上花费的唯一时间? 其次,我找不到任何使用上述功能的示例.任何人都可以帮助我如何使用 ..
发布时间:2021-12-01 15:46:54 C/C++开发

设置的最低有效位的位置

我正在寻找一种有效的方法来确定设置在整数中的最低有效位的位置,例如对于 0x0FF0,它将是 4. 一个简单的实现是这样的: unsigned GetLowestBitPos(无符号值){断言(值!= 0);//单独处理无符号位置 = 0;while (!(value & 1)){值>>=1;++位置;}返回位置;} 任何想法如何从中挤出一些周期? (注意:这个问题是针对喜欢这种东 ..
发布时间:2021-12-01 15:45:23 C/C++开发

std::string 上下文中首字母缩略词 SSO 的含义

在 关于优化和的 C++ 问题中代码风格,几个答案在优化std::string 副本的上下文中提到了“SSO".在这种情况下,SSO 是什么意思? 显然不是“单点登录".“共享字符串优化",也许? 解决方案 背景/概述 对自动变量的操作(“来自堆栈",即您在不调用 malloc/new 的情况下创建的变量)通常比涉及自由存储的操作快得多(“堆",它们是使用 new 创建的变量) ..
发布时间:2021-12-01 15:11:12 C/C++开发

“好像"到底是什么?规则?

正如标题所说: 究竟什么是“as-if"?规则? 人们会得到的典型答案是: 允许任何和所有不改变程序可观察行为的代码转换的规则 有时,我们会不断从某些实现中获取行为,这归因于此规则.很多次都错了. 那么,这条规则到底是什么?标准中并没有明确将这条规则作为章节或段落提及,那么这条规则的范围究竟是什么? 对我来说,这似乎是一个标准没有详细定义的灰色区域.有人可以详细 ..
发布时间:2021-12-01 14:54:52 C/C++开发

什么是复制省略和返回值优化?

什么是复制省略?什么是(命名的)返回值优化?它们意味着什么? 它们会在什么情况下发生?什么是限制? 如果有人提到过这个问题,您可能正在寻找简介. 有关技术概述,请参阅标准参考. 请参阅常见案例此处. 解决方案 简介 有关技术概述 - 跳至此答案. 对于发生复制省略的常见情况 - 跳至此答案. 复制省略是大多数编译器实现的优化,用于在某些情况下防止额外的(可 ..
发布时间:2021-12-01 14:38:41 C/C++开发

将 JavaScript 放在 HTML 文件中的什么位置?

假设我有一个相当大的 JavaScript 文件,压缩到大约 100kb 左右.我所说的文件是指通过 链接的外部文件,而不是粘贴到 HTML 本身中. 将它放在 HTML 中的最佳位置是什么? ..
发布时间:2021-12-01 13:10:35 前端开发

获取实现接口的所有类型

使用反射,我怎样才能用最少的代码和最小化迭代获得所有用 C# 3.0/.NET 3.5 实现接口的类型? 这是我想重写的: foreach(在 this.GetType().Assembly.GetTypes() 中输入 t)if (t 是 IMyInterface);//做东西 解决方案 我的在 c# 3.0 中是这样的 :) var type = typeof(IMyInterf ..
发布时间:2021-12-01 09:29:11 C#/.NET

random.choice 的加权版本

我需要编写 random.choice 的加权版本(列表中的每个元素都有不同的被选中概率).这是我想出的: def weightedChoice(choices):"""就像random.choice,但每个元素都有不同的机会被选中.选择可以是任何包含迭代器的迭代器,每个迭代器有两个项目.从技术上讲,他们可以有两个以上的项目,其余的只是忽略.第一项是被选择的东西,第二项是它的重量.权重可以是任何 ..
发布时间:2021-11-30 23:36:38 Python