草庐IT

高效化

全部标签

javascript - 高效查找和替换文档中的字符串

我有以下查询,在名称字段中查找 标记并将它们替换为空白-以摆脱它们。名称字符串可以有1到多个 标签,例如AA aaAA  aaAA   aaAA    aaAA AA aaaaaaaa……就这样。db.tests.find({'name':/.* .*/}).forEach(function(test){test.name=test.name.replace(" ","");db.tests.save(test);});db.tests.find(

c++ - 如何在 C++ 中创建高效的多线程任务调度程序?

我想用C++创建一个非常高效的任务调度系统。基本思路是这样的:classTask{public:virtualvoidrun()=0;};classScheduler{public:voidadd(Task&task,doubledelayToRun);};在Scheduler之后,应该有一个固定大小的线程池,用来运行任务(我不想为每个任务创建一个线程)。delayToRun表示task不会立即执行,而是在delayToRun秒后执行(从添加到的点开始测量调度程序)。(delayToRun当然是一个“至少”的值。如果系统已加载,或者如果我们向调度程序询问不可能,它将无法处理我们的请求.

c++ - 寻找优雅高效的 C++ 矩阵库

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭7年前。Improvethisquestion您好,谷歌搜索该主题会带来,例如,MTL,exmat,LAPACK还有here.我似乎还记得微软研究院发布了一个,但不能动手。我寻求实际使用(或开发......)其中之一的人的建议,希望在C++中获得Matlab体验(尽可能)。在此先感谢,罗比 最佳答案 看看Armadillo,文档有syntaxcon

mongodb - 数据库条目的高效唯一 key 生成

我目前正在开发注册系统原型(prototype)。它非常简单,本质上只是一个写入MongoDB的.NET表单。我坚持的是一种为每个用户生成唯一ID/key的有效方法。这些id必须是人类友好的,因此类似于7个字符长的字母数字字符串,例如A1B2C3X。到目前为止我看到的解决方案只是使用一个简单的函数来生成一个随机字符串,然后检查数据库以查看它是否是唯一的(如果不重复,直到找到一个唯一的)。随着数据库条目数量的增加,这当然会变得越来越昂贵。我的想法是预先计算唯一ID集并将其存储在另一个数据库中。然后,当我需要在用户数据库中添加一个新条目时,我可以从我的id数据库中“弹出”一个id(在恒定时

mongodb - 数据库条目的高效唯一 key 生成

我目前正在开发注册系统原型(prototype)。它非常简单,本质上只是一个写入MongoDB的.NET表单。我坚持的是一种为每个用户生成唯一ID/key的有效方法。这些id必须是人类友好的,因此类似于7个字符长的字母数字字符串,例如A1B2C3X。到目前为止我看到的解决方案只是使用一个简单的函数来生成一个随机字符串,然后检查数据库以查看它是否是唯一的(如果不重复,直到找到一个唯一的)。随着数据库条目数量的增加,这当然会变得越来越昂贵。我的想法是预先计算唯一ID集并将其存储在另一个数据库中。然后,当我需要在用户数据库中添加一个新条目时,我可以从我的id数据库中“弹出”一个id(在恒定时

python - Python中任意大小的字节 block 的高效FIFO队列

如何实现一个FIFO缓冲区,我可以有效地将任意大小的字节block添加到头部,并且我可以有效地从尾部弹出任意大小的字节block?背景:我有一个类,它以任意大小的block从类文件对象中读取字节,它本身就是一个类文件对象,客户端可以从中读取任意大小的block中的字节。我实现这个的方式是,每当客户端想要读取一个字节block时,该类将重复从底层类似文件的对象(具有适合这些对象的block大小)中读取并将字节添加到头部FIFO队列,直到队列中有足够的字节来为客户端提供请求大小的block。然后它从队列尾部弹出这些字节并将它们返回给客户端。当底层类文件对象的block大小远大于客户端从类中

python - 高效的上下文无关语法解析器,最好是 Python 友好的

我需要为我的一个项目解析一小部分英语,该项目被描述为具有(1级)特征结构(example)的上下文无关语法,我需要高效地完成。现在我正在使用NLTK的解析器产生正确的输出,但速度很慢。对于我的约450条相当模糊的非词汇规则和50万个词汇条目的语法,解析简单句子可能需要2到30秒,具体取决于结果树的数量。词法条目对性能几乎没有影响。另一个问题是,在开头加载(25MB)语法+词典可能需要一分钟。从我在文献中可以找到的,用于解析这种文法(Earley或CKY)的算法的运行时间应该与文法的大小成线性关系,并与输入标记列表的大小成三次关系。我对NLTK的经验表明,歧义对性能的影响最大,而不是语法

python - pandas 高效数据框集行

首先我预分配了以下空DataFrame:df=DataFrame(columns=range(10000),index=range(1000))然后我想用长度为10000的numpy数组作为数据逐行(有效地)更新df。我的问题是:我什至不知道应该使用哪种DataFrame方法来完成这项任务。谢谢! 最佳答案 这里有3种方法,只有100列,1000行In[5]:row=np.random.randn(100)逐行赋值In[6]:defmethod1():...:df=DataFrame(columns=range(100),index

python - 奇异矩阵的高效和pythonic检查

在这里研究一些矩阵代数。有时我需要反转一个可能是奇异或病态的矩阵。我知道简单地这样做是pythonic:try:i=linalg.inv(x)exceptLinAlgErraserr:#handleit但我不确定这样做的效率如何。这不是更好吗?iflinalg.cond(x)numpy.linalg是否只是预先执行我禁止的测试? 最佳答案 因此,根据此处的输入,我将使用显式测试标记我的原始代码块作为解决方案:iflinalg.cond(x)令人惊讶的是,numpy.linalg.inv函数不执行此测试。我检查了代码,发现它经历了所有

python - 具有 1 亿个零的高效 Python 数组?

在Python中初始化和访问大型数组元素的有效方法是什么?我想在Python中创建一个包含1亿个条目、无符号4字节整数、初始化为零的数组。我想要快速的数组访问,最好使用连续内存。奇怪的是,NumPy数组似乎执行得很慢。我可以尝试其他方法吗?有array.array模块,但我没有看到一种方法可以有效地分配一个包含1亿个条目的block。对评论的回应:我不能使用稀疏数组。这个算法太慢了,因为数组很快变得密集。我知道Python是解释型的,但肯定有办法进行快速数组操作吗?我进行了一些分析,我使用NumPy每秒获得​​大约160K的数组访问(按索引查找或更新元素)。这似乎很慢。