问题标签 [memory-optimization]

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 回答
1157 浏览

cuda - 共享内存优化混乱

我在 cuda 中编写了一个应用程序,它在每个块中使用 1kb 的共享内存。由于每个 SM 中只有 16kb 的共享内存,所以总共只能容纳 16 个块(我理解正确吗?),虽然一次只能调度 8 个,但是现在如果某个块忙于做内存操作,所以其他块将被调度到 gpu 上,但是所有共享内存都被其他 16 个块使用,这些块已经在那里调度,所以 cuda 不会在同一个 sm 上调度更多块,除非之前分配的块完全完成?或者它将某些块的共享内存移动到全局内存,并在那里分配其他块(在这种情况下,我们应该担心全局内存访问延迟吗?)

0 投票
4 回答
1496 浏览

java-me - 从 j2me 中的 txt 文件中读取特殊行

我有一个文本文件,例如:file.txt,我想读取一行,例如第7行,有什么方法可以直接读取第7行而不读取其他行?我想从这项工作中节省内存。

0 投票
1 回答
251 浏览

python - 如何使这个python脚本内存高效

该片段将所有文档从我的数据库中提取出来,并将它们转储到 gzip 压缩文件中。docs_to_dump 是一个 django 对象,包含所有要转储的文本文档。

不幸的是,它也消耗了太多的内存,以至于操作系统对其进行了核对。我认为通过写入“类文件对象”,压缩文件将即时生成,并且内存将保持相对较低。相反,它占用了数百 MB,然后崩溃。

我不是压缩专家,但我的印象是整个压缩文件都存储在内存中。

我应该这样做有更好的方法吗?

编辑——整个文件在这里:https ://bitbucket.org/mlissner/search-and-awareness-platform-courtlistener/src/2ca68efd8017/data-dumps/data-dumper.py

0 投票
2 回答
429 浏览

entity-framework-4.1 - 如何优化从实体框架中的查询创建的对象(对象图)

我在使用 EF4.1 时遇到了一些内存问题,问题主要发生在这种情况下:假设我有学生,可以参加一门或多门课程,并且多个用户可以参加同一门课程。所以,我有类似的东西:

想象一下,我的 BD 中有 2 名学生和 1 门课程。像这样:

安娜参加英语课程 鲍勃参加英语课程

我的对象图是这样的:

这可以。

我保存了这个,那个保存得很好,学生表上有两行,课程表上有一行。

问题是当我尝试获取这些数据时。

当我做类似的事情时:

这是结果图:

对象被复制。想象一下,当这棵树的深度更大时,有数千名学生和数千门课程,以及数百名学生参加同一门课程。

这个查询的内存使用会很大,如何解决这个引用问题?

0 投票
2 回答
837 浏览

numpy - Numpy:使用随机数据减少点积的内存占用

我有一个大型 numpy 数组,我将使用随机生成的值进行线性投影。

不幸的是,random_array占用了大量内存,我的机器开始交换。在我看来,我实际上并不需要random_array一次全部。理论上,我应该能够在点积计算期间懒惰地生成它......但我不知道如何。

如何减少计算output_arrayfrom的内存占用input_array

0 投票
2 回答
168 浏览

java - Java EE 5 中的内存占用最小化,用于类、原始数据类型和字符串

上下文是:Java EE 5。

我有一个服务器运行一些巨大的应用程序。我需要重构这些类,以使它们的内存占用低(尽可能低),以换取 CPU 时间(其中有很多)。

我已经知道使用位操作将多个布尔值、短裤或咬合填充到 int 中的方法(例如)。

我需要您提供其他优化想法,例如,我如何处理字符串、哪些集合更好用,以及您碰巧知道的任何其他内容。

Thx,你们统治!

0 投票
1 回答
1749 浏览

arrays - 构建“稀疏”查找数组,最大限度地减少内存占用

假设我想构建一个数组来执行查找以解析网络协议(如以太网类型)。由于这样的标识符是 2 字节长,如果我使用直接索引,我最终会得到一个 2^16 单元格数组:这是一种真正的浪费,因为数组很可能是稀疏的 - 即在大批。

为了最大限度地减少内存使用量,我会使用像CMPH这样的完美哈希函数生成器,这样我就可以将我的“n”个标识符映射到一个 n 大小的数组而不会发生任何冲突。这种方法的缺点是我必须依赖外部的“公开”库。

我想知道 - 就我而言 - 是否有更聪明的方法可以在保持内存使用的同时进行恒定时间查找;请记住,我对索引 16 位无符号很感兴趣,并且设置的大小非常有限。

谢谢

0 投票
3 回答
1181 浏览

c - 存储固定范围浮点数的有效方法

我正在处理一个(大)浮点数组,每个浮点数需要 4 个字节。

鉴于我的浮点数介于0 和 255 之间,有没有办法将每个浮点数存储在不到4 个字节中?

我可以对整个数组进行任意数量的计算。

我正在使用 C。

0 投票
1 回答
81 浏览

optimization - 与最小内存占用的连续项目比较

在 J(使用 J503,而不是 J6 或 7)中,通常当我想查看数组的元素是否小于其前任时,我使用以下命令:

这导致 n-1 项:

在内部,}:创建}.两个数组(一个省略最后一项,另一个省略第一项),最后允许<:比较。总内存使用量将2(n-1)用于 2 个临时数组。

另一种在直觉上效果更好的方法需要更多的内存:

(J6 处理得更好。但我坚持使用 J5)。

对于相同的操作,什么是更精简的选择?

0 投票
2 回答
1871 浏览

c# - 最少占用内存的集合?

除了滚动我自己的集合之外,我想知道哪个现有的(.NET 3.5)集合和 IDictionary 使用的内存最少。

我目前正在使用

  • List<int>,我只添加项目并稍后对其进行迭代。
  • Dictionary<int,int>,我只设置和获取键值对。

注意:我正在做成熟的优化。

编辑:我事先不知道大小,但大约,字典将增长到大约 789679 个元素,并且列表平均包含 10-20 个元素。