标签:memory-management

  • Java中内存效率最高的映射 - java

    时间:2020-9-2

    我正在使用Map接口实现类似于以下声明的树状结构: Map<String, Map<String, Map<Integer, Double>>> 目前,我正在使用HashMap实现。加载大量数据后,我看到程序消耗4GB的RAM。使用Serializable接口保留整个实体时,生成的文件大小仅为1GB。 我在这里可以使用的最 […]

  • 多线程访问内存 - java

    时间:2020-8-27

    我正在编写一个在Nehalem处理器上运行的多线程Java应用程序。但是我有一个问题,从4个线程开始,我几乎看不到应用程序的加速。 我做了一些简单的测试。我创建了一个线程,该线程仅分配一个大数组并可以访问该数组中的随机条目。因此,当我运行线程数时,运行时间不应更改(假设我没有超过可用的CPU内核数)。但是我观察到的是,运行1或2个线程几乎需要花费相同的时间, […]

  • 为什么在Python中创建类比实例化类要慢得多? - python

    时间:2020-8-26

    我发现创建类比实例化类要慢得多。 >>> from timeit import Timer as T >>> def calc(n): ... return T("class Haha(object): pass").timeit(n) <<After several these ' […]

  • .Net为每个dll和exe创建1个堆栈(以存储值类型)还是每个程序1个堆栈 - c#

    时间:2020-8-23

    我正在创建一个将由演示程序使用的服务。我正在将我的类型定义为类或结构。 .Net为每个dll和exe创建1个堆栈(以存储值类型)还是每个程序1个堆栈。我非常确定它会为每个程序创建一个托管堆,但不能确定堆栈。请帮我。 谢谢,翁卡 参考方案 首先The Stack Is An Implementation Detail。 碰巧的是,每个进程有1个堆*,一个进程中 […]

  • 在.net中分配新数组的成本很高 - c#

    时间:2020-8-21

    .Net中分配数组的O时间复杂度是多少? 我猜想,如果数组足够小以适合临时段,则应该为O(1),但是随着n变大,它将很难找到足够的内存,因此可能会改变。 同样,大对象堆可能会碎片化,因此,如果n足够大以使数组适合LOH,则它可能不会是O(1)。 参考方案 临时段中的对象(SOH;小对象堆)在该段上的最后一个已知对象之后分配。它实际上应该只是一个指向那里的指针 […]

  • 用PHP管理大型阵列 - php

    时间:2020-8-20

    我正在为某人的数百万条旧日志条目进行数据挖掘,并且真的想在此问题中使用PHP来展示将它们轻松链接到现有PHP系统的材料。 我在终端(OSX 10.8)的PHP 5.4.4中运行以下代码: // Settings ini_set('error_reporting', E_ALL); // Shows all feedback from th […]

  • 64位JVM上对象引用的内存要求 - java

    时间:2020-8-16

    对32位JVM(至少在Hotspot上)的对象的引用占用4个字节。 64位Hotspot JVM是否需要8个字节?还是正在进行一些巧妙的压缩?如果不是这样,则每个Object[]都将需要两倍的堆内存,我以某种方式认为(希望如此)并非如此。 更新/其他问题:这是否真的重要,或者这是微不足道的增加,因为大多数引用指向的对象远大于几个字节(而有人可能会认为这些对象 […]

  • 随时间保存值的方法 - c#

    时间:2020-8-16

    我有一个任务,我知道该如何编码(在C#中),但我知道简单的实现无法满足我的所有需求。因此,我正在寻找可以满足我所有需求的技巧。 我正在编写一个包含N个随时间进行交互的实体的模拟。N将在30左右开始,然后增加到数千。 a. The number of entities will change during the course of the simulatio […]

  • 在内存分配方面的Java效率比较 - java

    时间:2020-8-9

    这可能是一个重复的问题,但我找不到正在搜索的内容。如果存在,请对重复表示抱歉。 我想了解一下,以下几部分代码在内存分配方面是否相同。 //first int n = some_number; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ int a = something; } } […]

  • 用python多重处理超过了工作内存限制 - python

    时间:2020-8-8

    我正在使用Slurm来管理一些计算,但是有时作业会因内存不足错误而被杀死,即使事实并非如此。这个奇怪的问题特别是使用多处理的python作业。 这是重现此行为的最小示例 #!/usr/bin/python from time import sleep nmem = int(3e7) # this will amount to ~1GB of numbers […]