性能反模式

2024-02-18

我目前正在为一位客户工作石化的由于“性能原因”而更改糟糕的不可测试和不可维护的代码。显然,存在着许多误解,而且不明白原因,只是盲目相信。

我遇到的一种反模式是需要标记尽可能多的类内部密封...

*重新编辑:我看到将所有内容标记为sealed内部(在 C# 中)作为过早优化。*

我想知道人们可能知道或遇到的其他一些性能反模式是什么?


我遇到的最大的性能反模式是:

  • 不衡量绩效之前和 更改后。

收集性能数据将显示某种技术是否成功。不这样做会导致相当无用的活动,因为当一切都没有改变时,有人会“感觉”性能有所提高。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能反模式 的相关文章

  • WPF 应用程序在第一次交互(例如单击按钮)后停止/冻结

    我目前在 WPF 中遇到问题 UI 加载正常 但每当进行第一次用户交互时 例如单击按钮 应用程序似乎会停止 或者例如 如果我有两个显示 MessageBox 的按钮 则第一次单击将等待几秒钟 然后显示MessageBox 但任何后续交互都是
  • 为什么 Orchard 在执行内容项查询时如此慢?

    假设我想查询所有 Orchard 用户 ID 并且还想包括那些已被删除 也称为软删除 的用户 该数据库包含大约 1000 个用户 Option A 大约需要 2 分钟 Orchard ContentManagement IContentMa
  • 未使用的功能会产生什么后果

    我想知道在代码中使用未使用的函数会产生什么 如果有什么后果 如果您查找并删除所有未使用的函数和变量 性能是否会有明显的改进 或者删除未使用的函数和变量只是一个好习惯 未使用的功能不会损害性能 他们让维护代码的人的工作变得更加困难 现代 ID
  • jQuery .getJSON 与 .post 哪一个更快?

    Using getJSON or post 我正在尝试通过仅用于 AJAX 请求的页面发送一些参数 并获取 JSON 或 html 片段中的一些结果 我想知道哪个更快 假设 HTML 文件只是纯布尔文本 true 或 false 正如其他人
  • 如何为 CUDA 内核选择网格和块尺寸?

    这是一个关于如何确定CUDA网格 块和线程大小的问题 这是对已发布问题的附加问题here https stackoverflow com a 5643838 1292251 通过此链接 talonmies 的答案包含一个代码片段 见下文 我
  • Emacs 行编号性能

    我试过了linum and nlinum 两者对于超过 100k 行的文件的性能都很糟糕 for x in 1 100000 do echo x done gt 100k txt emacs q 100k txt M x load libr
  • java - 简单计算在多线程中比在单线程中花费更长的时间

    我试图了解如何利用多线程 我写了一个简单的程序来增加i 比方说 使用两种方式 400 000 次 单线程方式 0 到 400 000 和多线程方式 在我的例子中 4 次 0 到 100 000 线程数等于Runtime getRuntime
  • 处理 C++ 中执行时间的大量分析

    我目前正在进行一个科学计算项目 涉及海量数据和复杂算法 因此需要进行大量代码分析 我目前依靠的是
  • 为什么用scala写的代码比用java写的慢6倍?

    我不确定我在编写 scala 代码时是否犯了一些错误 问题是 The four adjacent digits in the 1000 digit number that have the greatest product are 9 9
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • 将数据从一个线程传递到另一个线程的最快可能方法

    我正在使用增强spsc queue将我的东西从一个线程移动到另一个线程 这是我的软件中的关键位置之一 所以我想尽快完成它 我写了这个测试程序 include
  • 为什么对于小数组,for-of 循​​环比标准 for 循环快,而对于大数组则慢?

    在 JavaScript 中 我注意到 ES6for of循环的性能与传统的有很大不同for start stop step loop 基准 const n 10000 const arr Array n fill map e i gt i
  • 大数组上的 SSE 性能较慢

    我是 SSE 编程新手 所以我希望有人可以帮助我 我最近使用 GCC SSE 内在函数实现了一个函数来计算 32 位整数数组的总和 下面给出了我的实现代码 int ssum const int d unsigned int len stat
  • 优化数据可视化 Web 应用程序的性能

    我正在重写 3 年前编写的数据可视化网络工具 从那时起 浏览器的 JavaScript 引擎变得更快 所以我正在考虑将部分工作从服务器转移到客户端 在页面上 数据在表格和地图 或图表 中可视化 它使用相同的数据 但以不同的方式 因此准备显示
  • 降低Python中的浮点精度以提高性能[重复]

    这个问题在这里已经有答案了 我正在树莓派上使用 python 我使用互补滤波器从陀螺仪中获得更好的值 但它消耗了太多树莓派的电量 大约为 70 我认为可以通过降低浮点精度来提高性能 现在 结果大约有 12 位小数 这超出了我的需要 有什么办
  • Android 性能:SharedPreferences 的成本

    当我的应用程序启动时 我使用分片首选项中的值填充容器类 这个想法是处理 SharedPreferences 和 PreferenceManager 一次 因为我猜它们很重 这是一个示例 SharedPreferences prefs Pre
  • 即使在急切加载之后,belongs_to 关联也会单独加载

    我有以下关联 class Picture lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many pictures end 在我的
  • IIS7 上的 ASP.NET 应用程序 - iisreset 后启动速度非常慢

    我有一个在 Windows 2008 上的 IIS7 下运行的 ASP NET 3 5 网站 当我重新启动 IIS iisreset 然后点击一个页面时 初始启动非常慢 我在 Process Explorer 中看到以下活动 w3wp ex
  • 迭代列表的奇怪速度差异

    我创建了两个重复两个不同值的长列表 在第一个列表中 值交替出现 在第二个列表中 一个值出现在另一个值之前 a1 object object 10 6 a2 a1 2 a1 1 2 然后我迭代它们 不对它们执行任何操作 for in a1 p
  • Rails Windows Vagrant 响应时间非常慢

    我在跑 Vagrant 1 7 1 Rails 4 1 4 Thin 1 6 1 Windows 7 每个静态文件的发送时间都超过一秒 在我的 PC 上加载一个页面可能需要大约 20 秒 而在同事的 Linux 机器上则只需瞬间 有一些帖子

随机推荐

  • Univocity - 解析 CSV 时检测缺失列

    我正在使用 Univocity 库来解析 CSV 它工作得很好 但我需要一种方法来检测正在解析的文件的列数是否少于所需的列数 例如 如果我期望一个 3 列文件 其中列映射到 H1 H2 H3 那么我收到一个如下所示的文件 没有标题 V1 H
  • 从启动器菜单处理应用程序关闭事件

    我想做的是知道用户何时从 Android Launcher 的菜单关闭应用程序 长按主页按钮即可打开该菜单 我想在用户关闭应用程序时执行一些操作 实际上 我希望用户每次离开应用程序时都注销 但只要他也可以关闭应用程序 我就必须处理此事件 然
  • 支持库 24.2.1 中锚定 FloatingActionButton 的错误

    我从 24 2 0 开始就遇到这个问题 但现在我使用 24 2 1 这个错误仍然存 在 它只在 我有一个锚定的 FloatingActionButton 如下所示
  • isinstance('aaa', basestring) 和 isinstance('aaa', str) 有什么区别?

    a aaaa print isinstance a basestring true print isinstance a str true 在 3 0 之前的 Python 版本中 有两种字符串 纯字符串 和 unicode 字符串 纯字符
  • HighCharts -- MVC 3 数据库

    我正在 Visual Studio 2010 中使用 DotNet Highcharts 我正在创建一个 MVC 3 Web 应用程序 我可以通过静态分配数据来使 HighCharts 工作 我希望能够将数据从数据库发送到 HighChar
  • 如何将密码编码器附加到 Silex 中的用户界面?

    因此 我尝试创建一个新的 Silex 应用程序并使用包含的安全包 为了简单起见 我将使用基本的密码编码 根据 Silex 文档http silex sensiolabs org doc providers security html htt
  • 如何在C++程序中获得debug/release条件编译

    在大型 C Qt QMake qtcreator 项目中 我想执行一些测试 但仅限于使用调试标志进行编译时 有没有办法告诉 g 代码的某些小部分只能在调试模式下编译 执行此操作的标准方法是依赖于宏NDEBUG 由宏使用assert 定义于
  • 泛型类型参数没有装箱或类型参数转换

    我有以下辅助方法 public static T CreateRequest
  • clojure:使用苹果酒时,profiles.clj 在某些项目中没有得到尊重

    我面临着最后评论中提到的同样问题https stackoverflow com a 25401281 4329629 https stackoverflow com a 25401281 4329629 作者 沉宇 我不知道为什么添加 pl
  • Python 2.X 在字符串周围添加单引号

    目前 要在字符串周围添加单引号 我想出的最佳解决方案是创建一个小型包装函数 def foo s1 return s1 有没有更简单 更Python化的方法来做到这一点 这是另一个 可能更Pythonic 选项 使用格式化字符串 https
  • 如何在执行一定次数后停止计划重复执行的 Runnable

    情况 我有一个可运行的 我有一个类 它使用 ScheduledExecutorService 来安排此 Runnable 执行固定延迟调度 http download oracle com javase 1 5 0 docs api jav
  • 格式“%s”需要“char *”类型的参数

    为了锻炼我的 C 编程技能 我尝试自己编写 strncpy 函数 在这样做的过程中 我不断地遇到错误 最终解决了其中的大部分错误 但我却没有进一步的灵感继续下去 我收到的错误是 ex2 1 c 29 3 warning format s e
  • 创建共享对象时,不能使用针对未定义符号的重定位 R_X86_64_PC32;使用 -fPIC 重新编译

    我最近将 gSOAP 从 2 8 7 升级到 2 8 76 我必须对升级进行一些小的代码调整 但升级后代码将无法像以前那样链接到计算机上 我正在尝试使用 gSOAP 在使用 g 4 9 2 的计算机上创建共享库 我压缩了代码以创建一个测试用
  • Go - formFile 用于多个文件

    formFile 函数工作完美 但是在文档中 http golang org pkg net http Request FormFile据说 FormFile 返回所提供的表单密钥的第一个文件 有没有办法获取 html 表单的多个文件 输入
  • Haskell 中惰性和 I/O 如何协同工作?

    我试图更深入地了解 Haskell 中的惰性 我今天想象了以下片段 data Image Image name String pixels String image String gt IO Image image path Image p
  • 使用卷时无法在主机上使用 mysql 套接字

    我来自这里 如何在主机网络上运行 docker compose https stackoverflow com questions 56203642 how to run docker compose with host network 我
  • 自定义 Laravel 关系?

    假设情况 假设我们有 3 个模型 User Role Permission 我们还说一下User与 具有多对多关系Role and Role与 具有多对多关系Permission 所以他们的模型可能看起来像这样 我故意让它们简短 class
  • 带分组的格式化选择

    现在有了 Formtastic 我有了简单的选择 f input category as gt select include blank gt false collection gt subcategories 这里我只显示儿童类别 我用作
  • 使用 FFTW 取消定义架构 x86_64 的符号

    Ceeloss MacBook Pro desktop ceelos gcc o prog I usr local include test c Undefined symbols for architecture x86 64 fftw
  • 性能反模式

    我目前正在为一位客户工作石化的由于 性能原因 而更改糟糕的不可测试和不可维护的代码 显然 存在着许多误解 而且不明白原因 只是盲目相信 我遇到的一种反模式是需要标记尽可能多的类内部密封 重新编辑 我看到将所有内容标记为sealed内部 在