问题标签 [processing-efficiency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
155 浏览

database-agnostic - 数据库应用程序 - 即时存储或计算?

我有一个包含以下字段的采购清单表:ItemName、Quantity、UnitPrice、Amount。请注意,金额等于数量 * 单价。

我的简单问题是,我应该在检索数据时存储数量还是计算它?我应该关注什么,存储或处理?

0 投票
2 回答
49 浏览

c# - API 是做任务 X 的最佳选择?还是我自己的方法?

在 java、Groovy、C# 中有几个 API 可用。例如,假设有一个 API X 可以完成排序工作。甚至我也有自己的方法来完成 API x 的工作。

选择哪一个,API 还是我自己的方法?我的意思是,所有 API 函数都尽可能快吗?或者在某些情况下我的方法运行得比可用的 API 快?

0 投票
6 回答
15626 浏览

sql - 数据库效率 - 每个用户的表与用户表

对于有用户的网站。每个用户都可以创建任意数量的帖子,我们将其称为“帖子”:

效率方面 - 为所有帖子创建一个表,为每个帖子保存创建帖子的用户的用户 ID,或者为每个用户创建不同的单独并将创建的帖子放在那里更好由那个用户?

0 投票
1 回答
8556 浏览

c# - 多个视频源合二为一

我正在寻找一种有效的方法来执行以下操作:

使用多个源视频(长度大致相同),我需要生成一个输出视频,该视频由所有原始源组成,每个源都在自己的区域中运行(比如一堆不同大小的PIP )。因此,最终结果是所有原始文件都在并排运行,每个都在自己的区域/框中。

源和输出需要flv和我使用的平台是 Windows(在 Windows 7 64 位上开发,部署到 Windows Server 2008)。

我看过avisynth,但不幸的是它无法处理flv,而且我尝试过的插件和flv分离器都没有工作。

我当前的进程以下列方式使用ffmpeg :

  1. 使用 ffmpeg 为每个视频每秒生成 25 个 png,并根据需要调整原始大小。
  2. 使用System.Drawing命名空间将每组帧组合成一个新图像,从静态背景开始,然后将每个帧加载到一个Image并绘制到背景Graphics对象 - 这给了我组合的帧。
  3. 使用 ffmpeg 将生成的图像组合成视频。

所有这些都是非常 IO 密集型的(这是我目前的处理瓶颈),我觉得必须有一种更有效的方法来实现我的目标。我在视频处理方面没有太多经验,也不知道有什么选择。

任何人都可以提出一种更有效的处理方式吗?

0 投票
1 回答
1003 浏览

android - 自定义动画可绘制对象的电池消耗

Loooong 时间查看器,终于可以在 StackOverflow 上注册了!

经过很长时间寻找一种在 Android 中滚动 ViewGroup 的方法后,我开发了以下内容:

}

它在 Activity 中使用如下:

长话短说,basebg.jpg 图像是一个大约 1600x480 的可平铺图像。SlidingDrawable 的构造函数缩放和移动以及 yaddah yaddah。有用。

现在,问题是,这样做似乎效率很低。我似乎找不到关于这种实现的太多信息,所以我不知道在哪里可以减少 CPU 周期,或者即使我正确使用了方法调用。

我的问题包括:

  • 与使用 setTranslate() 或 postTranslate 并使用 Matrix 绘制位图相比,drawBitmap 是否更好?
  • 是使用drawBitmap,还是使用translate()、save()、restore()等canvas函数更好?
  • draw() 方法的调用速率是多少,有没有办法将其限制为 24 FPS 或限制重绘?
  • 这类事情的“何时”参数到底是什么?传入 SystemClock.uptimeMillis() 是唯一有效的方法,并试图通过添加“+ 100”或每隔 100 毫秒触发一次的东西来延迟它,这只会让它结结巴巴。

我已经尽可能多地研究了这个......我现在把它留给 StackOverflow :)

0 投票
6 回答
4355 浏览

c++ - 逐行读取文件与读取整个文件时的性能

与一次性读取整个文件相比,逐行读取一段时间是否存在明显差异(理论上)?

读取整个文件确实会对使用的内存量产生负面影响,但它工作得更快吗?

我需要读取一个文件并处理每一行。我不知道我应该一次读取一行并处理它,还是读取整个文件,处理所有,然后写入输出。

我已经将 prgm 设置为逐行读取,我想知道是否值得努力将其更改为读取整个文件(鉴于我的设置并不容易)。

谢谢,

0 投票
3 回答
725 浏览

c# - 将数组元素的出现次数置于限制之间的最快方法

例如...

  1. 我有一个整数数组,它由 1 到 1000 之间的随机值初始化
  2. 数组有 1M 个元素(它可能会有更多,但这只是示例)
  3. 每个元素的出现次数必须在 10 到 1010 之间

调整此数组元素以使其符合上述标准的最快方法是什么?

如果最大出现次数接近 array.Length (1M)/valuesSpan (1000),我的第一个解决方案就太慢了

我尝试了类似的东西(这仅用于对齐出现的最大值,下限的解决方案几乎相同):

0 投票
1 回答
231 浏览

hash - 哈希效率

我想将 pxq 字节的数据存储在哈希中。

哪个更有效率?

具有 pxq 个条目的散列每个存储一个字节或具有 p 个条目的散列每个存储 q 个字节的数据

键是稀疏的内存地址

0 投票
2 回答
11925 浏览

png - 快速写png

概括

我想尽快写一个 .png 文件,而不用担心压缩。也就是说,我不太关心文件大小,但我确实关心写操作是否发生得越快越好。

动机

我正在使用客户端的 OpenLayers 和后端的 python/C++ 制作基于 Web 的地图应用程序。当用户在地图上移动时,应用程序需要能够快速绘制动态内容。我有基于瓦片(256x256 瓦片)和基于单个图像(“单个瓦片”)的版本,但在这两种情况下,后端渲染的最慢部分实际上是将图像保存为 png 文件(无论是-磁盘或内存)。例如,我可能能够在大约 200 毫秒内生成某个视图的“raw”、“tga”或“tiff”版本,但生成 .png 版本需要 1.2 秒,因为 .png保存几乎需要一秒钟,而实际保存其他格式的时间为 100 毫秒或更短(即使“原始”文件的大小是 .png 文件的五倍)。而且这个文件保存时间也大大超过了将结果图像从服务器传输到客户端的时间。(我的应用程序的一个重要属性是,通常“后端”将与浏览器在同一台机器上运行,因此传输时间可以忽略不计,即使对于大文件也是如此。)

我想我可以通过调用使 .png 快速写入(当使用 C++ 中的 libpng 时)

在调用任何png_write_...函数之前。然而,虽然该调用似乎确实阻止了 libpng 压缩文件(生成的文件与 .raw 文件的大小大致相同),但它并没有明显加快保存 .png 的速度。

请帮忙

我需要为这些图像使用 .png,因为我需要它们成为基本地图顶部的透明叠加层,而且我需要的不仅仅是 GIF 提供的 256 种颜色。OpenLayers 只是简单地使用 html img 标签,所以我的理解是我只能使用有效的 img 格式。

我认为有一种方法可以通过不进行任何实际压缩来快速编写 .png 文件(我知道 .png 是“始终压缩的”,但我想这可能包括“空压缩”)。看起来您应该能够编写一个简单的固定页眉,然后是未压缩的数据,然后是一些固定的页脚。或者也许是同样的想法,但是以逐行的方式。关键是我可以非常快速地在 C++ 内存中对这 2.5 MB 的原始数据进行各种循环,并且可以非常快速地将其转储为各种文件格式,所以看起来我应该能够以固定的方式转储它, 未压缩的 .png 格式也很快。

听起来对吗?你知道我在哪里可以找到这样做的代码示例吗?

0 投票
2 回答
497 浏览

php - Yii 按类型获取记录

我想知道 Yii 是否有一种按类型对项目进行分组的有效方法。

假设我有以下模型:

假设有 5 种不同类型的Tags。我希望能够在我的索引中显示部分中的所有标签type_id。有没有一种 Yii 方式来完成这个?

在框架之外,我会编写一个函数,以便从数据库中获取的结果存储如下:

然后在每个部分中,我可以执行以下操作:

但是我很难弄清楚如何在 Yii 中做到这一点,而无需:

A)首先遍历整个结果集并重写它,或者,

B) 运行 5 个不同的查询。