假设我有一个大清单
List<long> longList = new List<long>(10000000)
Run Code Online (Sandbox Code Playgroud)
我想做以下查询:
bool found = longList.Contains(4345235234524245124L);
Run Code Online (Sandbox Code Playgroud)
有没有办法使用PLinq让每个线程只搜索列表的一小部分?
我知道在这种情况下使用Dictionary或HashMap会更好.这只是我想知道的关于PLinq的东西,这个例子非常方便.
我正在寻找设置Doctrine 2的不同方式来使用MySQL的主/从连接.设置将使一个主数据库具有多个从属数据库.所有SELECT语句都应来自随机的实时从站,并且任何UPDATE,INSERT,DELETE语句都将始终委派给主连接.
有没有人以这种方式设置Doctine 2或者对如何处理它有任何想法?
我最近在几次关于Hashtables的访谈中进行了深入研究,并且何时需要覆盖GetHashCode().讨论一直在深入和深入,直到我全身心投入.
我现在正在做一些研究,以涵盖下一次准备好的一切.
我找到了这篇我想分享的优秀文章:http: //msdn.microsoft.com/en-us/library/ms379571(VS80).aspx #datastructures20_2_topic5
1)我感觉不太舒服的事实是字典是基于哈希的,但列表显然不是.这只是意味着在List <>和Array []中搜索是线性的,而在字典或散列表中搜索是不变的,因此更快?这都是它的全部吗?
2)如果我使用类作为字典中的键,我需要根据任何必需的标识字段覆盖该类的GetHashcode()以使实例唯一.但是,仍然可能发生两个ID字段相等并且将生成相同的哈希码?如果这是两个实例与相同哈希码冲突期间发生的情况?
3)如何解决碰撞?我在文章中读到了关于Hashtable和Chaining for the Dictionary的碰撞情况下的rehashing方法.但我仍然不确定它是如何工作的,因为我不是数学天才.: - \任何人都可以更好地解释它是如何工作的?
非常感谢,Kave
我正在通过其中一个处于活动状态的python配方,并找到了以下代码.我想出了以下4个问题.非常感谢任何指导和解释.
Q ::我无法弄清楚为什么在"k = long(sys.argv [2])"行的第一个位置从用户那里获取"密钥随机种子"?特别是因为,这个值'k'似乎没有在代码的后半部分使用?
其次,在加密和解密代码的部分,什么是声明"字节组[I] -random.randint(0,255)256%"的确切含义?这是否意味着每个字符的unicode值在加密期间移位或移位,并在解密时重新移回其原始值?
第三,"bytearray = map(ord,f1.read())"是否计算文件中每个字符的unicode点值?
最后,由于在加密和解密中使用随机数,因此什么因素可以保证加密文件的解密是准确的?种子价值"k"与此有什么关系?
以下是我正在研究的代码.
非常感谢您的指导,提前致谢
# encdec.py
import sys
import random
if len(sys.argv) != 5:
print "Usage: encdec.py e/d longintkey [path]filename1 [path]filename2"
sys.exit()
k = long(sys.argv[2]) # key
random.seed(k)
f1 = open( sys.argv[3], "rb")
bytearr = map (ord, f1.read () )
f2 = open( sys.argv[4], "wb" )
if sys.argv[1] == "e": # encryption
for i in range(len(bytearr)):
byt = (bytearr[i] + random.randint(0, 255)) % 256
f2.write(chr(byt))
if sys.argv[1] == "d": # …Run Code Online (Sandbox Code Playgroud) 我想在QGraphicsItem中添加信号/槽,这样我就可以从另一个线程到达QGraphicsItemObjects.我知道有两个选项:使用QGraphicsObject或从QObject和QGraphicsItem继承.
这被认为是缓慢的.根据stackoverflow 上的这个答案,QGraphicsObjects由于它们的实现而很慢.当我查看QGraphicsObjects的源代码时,我可以看到根据对象所做的更改发出了很多信号.对我来说,这似乎是QGraphicsObjects缓慢的原因,但我认为第二种解决方案可以避免这种性能上升(如果真的是一次).
当构造一个继承自QObject和QGraphicsItem的类时,你似乎得到了QGraphicsObject最有趣的功能减去性能命中:你可以在你的类中定义槽和发出信号,但是你不能继承QGraphicsObject的默认实现.你会不断发出你可能不感兴趣的变化的信号.你现在能够发出信号,但不必担心你不关心的事情会发出信号(x值变化会在QGraphicsObject中发出信号但是不在这个解决方案中).
事实上,它是Lennard Jones潜力的衍生物.其原因是,我写一个分子动力学程序和时间至少80%是在下面的函数中度过,即使是最激进的编译器选项(GCC **-O3).
double ljd(double r) /* Derivative of Lennard Jones Potential for Argon with
respect to distance (r) */
{
double temp;
temp = Si/r;
temp = temp*temp;
temp = temp*temp*temp;
return ( (24*Ep/r)*(temp-(2 * pow(temp,2))) );
}
此代码来自文件"functs.h",我将其导入到我的主文件中.我认为以这种方式使用临时变量会使函数更快,但我担心创建它们太浪费了.我应该使用静电吗?此外,代码是使用openmp并行编写的,所以我不能真正将temp声明为全局变量?
定义变量Ep和Si(使用#define).我只使用C约1个月.我试着看一下gcc生成的汇编代码,但我完全迷失了.
堆:
的Apache2
Rails 2.3.8
RedHat Linux
Ruby Enterprise 1.8.7
在我的应用程序用户的crontab中获得了以下rake任务,这意味着每15分钟将记录拉入数据库表:
*/15 * * * * app_user cd /var/www/apps/my_app/current/ && rake thing:do_stuff RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)
我可以看到cron守护程序在cron日志中运行此任务,但它应该将记录拉入的数据库表不会更改.当我在/ var/www/apps/my_app/current目录中手动运行它时,此任务正常运行,并将记录拉入表中,如我所料.
我重置了crontab中的PATH变量以反映使用REE,认为可能默认路径不会与/ opt/ruby-enterprise一起生成...
如何让这个rake任务实际与cron一起运行?
我是PHP的新手,所以我很困惑看到这些不同的运营商整天.这是我在观看视频tutorail时遇到的一些代码,如果有人可以解释一下,我会很感激:
class Email extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'username@gmail.com',
'smtp_pass' =>'password',
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('username@gmail.com', 'Jerry');
$this->email->to('username@gmail.com');
$this->email->subject('this is an email test');
$this->email->message('this is test message!');
if($this->email->send())
{
echo 'Your email was sent';
}
else
{
show_error($this->email->print_debugger());
}
}
...
Run Code Online (Sandbox Code Playgroud) 如何以这样一种方式更改项目库的名称:
1)装配信息名称
2)物理文件夹名称
3)参考名称
我尝试了正常的重构,但它不会影响所有条目.即旧库名="实用程序",新库名="DataLayer"."Datalayer"应该在任何地方替换"Utilities".
.net ×2
.net-4.0 ×1
c ×1
c# ×1
c++ ×1
cron ×1
crontab ×1
cryptography ×1
doctrine-orm ×1
encryption ×1
libraries ×1
mongodb ×1
performance ×1
php ×1
plinq ×1
python ×1
qt ×1
qt4 ×1
rake ×1
ruby ×1