allocation

    4热度

    1回答

    编程游戏时,我用来将所有游戏对象存储在具有初始化和固定大小的std :: vector中。最近我觉得需要在游戏对象类中进行一些继承。 所以我们假设我有40个类从我的敌人派生出来。如果我想将这些类的对象/实例存储在一个向量中,我只能选择将它们存储为向量Enemy *对吗?所以连续分配的唯一东西就是指针,对吧?所以当这些需要被解除引用时,我仍然会有很多缓存未命中,对吧? 是否有任何“最佳实践”的方式,

    0热度

    2回答

    我正在面对一个相当期待的问题,而我正在恼怒地运行下面的代码,它为指定的序列创建所有可能的组合,然后将它们存储在final.grid变量中。事情是,不仅有一个序列,而是大约数十万个序列,每个序列可以有足够的组合。 for()... combs = get.all.combs(sequence) final.grid = rbind(final.grid, combs) 反正。

    -1热度

    3回答

    #include <stdio.h> #include <stdlib.h> char* findNumber(int arr_size, int* arr, int k); char* findNumber(int arr_size, int* arr, int k) { char *result =malloc(sizeof(char)*4); int i;

    0热度

    1回答

    我目前正在读的书黑客:开发的由Jon埃里克森艺术。我通过这本书,努力迫使我研究的机器,32位和64个系统之间的差异,以加强我的理解提供了一个64位的Ubuntu 16.04.2系统上的练习,而不是虚拟机一起以下。我现在正朝着本书的开始,学习堆栈框架组装,但是我对在机器上运行这些结果感到困惑。当使用GCC编译代码: void test_function(int a, int b, int c, in

    2热度

    2回答

    我的代码中的一行将一个数组分配给一个未分配的数组。我认为这是一个错误,但令我惊讶的是它工作得很好。 program test implicit none real, allocatable :: x(:,:) real :: y(2,2) y = 1. x = y print*, x end program test 如何在内存方面工作

    0热度

    1回答

    我一直的印象是动态内存分配比静态内存分配慢下,我再读到内存池,但我很困惑 当我们比较分配,我们正在讨论使用malloc vs初始化一个变量。但是如果有人用malloc分配一个大数组并访问它,我们是否会得到与静态分配它相同的性能?比方说,你有: int i[100]; j = malloc(sizeof(int) * 100); // Would these two lines yield t

    5热度

    1回答

    与其他语言不同,Chapel中没有allocate或new语法用于在堆上分配数组,而是使用通常的“声明”类语法。例如,在下面的代码,I“声明”两个阵列在功能A和B基于正式(虚设)参数: proc test(n, D) { var A: [1..n] real; // local array var B: [D] real; // local array writ

    3热度

    2回答

    我确实认为自己在Java方面非常有经验,但仍然存在一些我不太确定的小问题。 我总是尝试写出可维护,易读的代码,并以最高的效率为目标。 例如,我只在真正需要时才调用“新”操作符。 这是因为我不想不必要地分配内存。 但支持变量呢? 很多人都倾向于来声明一个String刚分配这样一些长期的屁股方法调用: 字符串帮手= Class.method1()方法2(PARAM).getter(); 我总是怀疑这是

    0热度

    1回答

    时,我有一个生成一个随机int64并将它作为一个interface{}这样的功能: func Val1(rnd rand.Source) interface{} { return rnd.Int63() } 现在考虑这个功能,做同样的事情,但回报一个int64 func Val2(rnd rand.Source) int64 { return rnd.Int63() } 我为基准的

    3热度

    1回答

    一些天前我开始处理缓存友好代码,并推出了一些不同的结构来determin性能是如何改变,如果我把变量在堆栈或堆和如何不同的内存布局与线性任务扩展像迭代和搜索。 我没有处理分配时间,正好与处理性能。 这些测试并不准确,但至少应该给出一些相关数字,表现可能会有所不同。 首先我比较了的矢量的表现一个std ::阵列之间的性能。 用于阵列测试代码: int main() { std::arra