小编Ele*_*tro的帖子

deepcopy()非常慢

我在Python中有一个游戏状态,有大约1000个对象(行星系统+星星+行星),我需要复制它并在请求时应用一堆变换.但是,在大约1个请求/秒时,这占我运行时的24.63%.我怎样才能让它变得快速?请注意,复制较少不是一个选项,因为变换几乎触及所有内容.

编辑:通过明智的实施来降低到8%__deepcopy__.不过,还不够好.(足够好是1%或更少,我计划在此投掷更多的东西.)timeit说每个41.8ms deepcopy().

python optimization deep-copy

26
推荐指数
3
解决办法
1万
查看次数

C++中的异步线程安全日志记录

我正在寻找一种在我的C++项目中进行异步和线程安全日志记录的方法,如果可能的话,可以在一个文件中.我目前正在使用cerrclog执行任务,但由于它们是同步的,因此每次记录某些内容时执行都会暂停.这是一个相对图形密集的应用程序,所以这种事情非常烦人.

新的记录器应该使用异步I/O来摆脱这些暂停.线程安全也是可取的,因为我打算很快添加一些基本的多线程.

我认为每个线程一个文件的方法,但这似乎会使管理日志成为一场噩梦.有什么建议?

c++ logging asynchronous thread-safety

17
推荐指数
2
解决办法
2万
查看次数

Visual C++ 2010原子类型支持?

VC++ 2010是否支持C++ 11的可移植原子类型模板?

c++ atomic visual-c++ c++11

15
推荐指数
1
解决办法
9322
查看次数

什么是印刷品?C++指向整数的指针

所以我有以下(非常简单)的代码:

int* pInt = new int(32);

std::cout<< pInt << std::endl;  //statement A
std::cout<< *pInt << std::endl; //statement B
std::cout << &pInt << std::endl; //statement C
Run Code Online (Sandbox Code Playgroud)

所以这就是我认为我在做的事情(我已经了解到,在C++中我很少做我认为我在做的事情):

  1. 创建一个指向整数的指针并将其调用为pInt
  2. statementA打印值'32'的地址
  3. statementB打印我的指针指向的整数值(这是因为我取消引用指针,因此可以访问它所指向的内容).
  4. statementC打印指针本身的地址(不是整数值'32'的地址).

这一切都正确吗?

c++ pointers

8
推荐指数
1
解决办法
2649
查看次数

一个顶点缓冲区中有多个网格?

我是否需要为每个网格使用一个顶点缓冲区,还是可以在一个顶点缓冲区中存储多个网格?如果是的话,我应该这样做,我该怎么做?

c++ 3d direct3d vertex-buffer

7
推荐指数
1
解决办法
4145
查看次数

高效的C池分配器?

我目前正在尝试用C编写2D场景图,我需要决定存储子节点的方法.我期待很多读取和少量写入,因此由于引用的空间局部性差,链接列表是不可能的,并且realloc每次使用添加子节点都可能将空闲列表分解为遗忘.池分配器似乎是最好的解决方案,但我似乎无法找到任何实现使用.有没有人知道一个分配器能够有效地处理几百个小structs的随机分配和解除分配,或者更好的分配方案?

c arrays memory-management dynamic

6
推荐指数
1
解决办法
1657
查看次数

如何快速修剪大表?

我目前有一个大约2000万行的MySQL表,我需要修剪它.我想删除其updateTime(插入时间戳)超过一个月的每一行

前.我没有亲自对表的顺序进行任何更改,因此数据应该按插入顺序排列,并且UNIQUE在两个字段上有一个键,id并且updateTime.我如何在短时间内完成这项工作?

mysql database pruning

5
推荐指数
2
解决办法
9941
查看次数

如何重载类成员的赋值?

我正在用Django用Python编写一个Player模型类,我遇到了一个密码成员的小问题.我希望密码在分配时自动进行哈希处理,但我找不到任何关于重载赋值运算符或任何内容的信息.有没有什么方法可以重载分配,password以便自动执行hashlib.md5(password).hexdigest()它?

from django.db import models

class Player(models.Model):
    name = models.CharField(max_length=30,unique=True)
    password = models.CharField(max_length=32)
    email = models.EmailField()
Run Code Online (Sandbox Code Playgroud)

python django class variable-assignment

1
推荐指数
1
解决办法
563
查看次数