我有一个棘手的问题要解决。我使用系统。方法调用之前和之后的currentTimeMillis(),因为我必须测量这两条语句之间经过的时间。
waitingTime = System.currentTimeMillis(); //starts calculating time
bridge.getIn(direction); // tries to enter the bridge
waitingTime = System.currentTimeMillis() - waitingTime ;// time elapsed
我担心的是每次运行程序都会得到不同的结果。
我明白了(这很完美):
Generated cars going north: 0
Generated cars going south: 2
Waiting time for every single car:
==============================================================
A0/South:109ms
A1/South:0ms
==============================================================
Mean waiting time southbound cars : 54ms
几秒钟后,我再次运行程序,我得到(这是错误的):
Generated cars going north: 0
Generated cars going south: 2
Waiting time for every single car:
==============================================================
A0/South:0ms
A1/South:94ms
==============================================================
Mean waiting time southbound cars : 47ms
我说这个输出是错误的,因为每辆车的等待时间不应该少于100毫秒。
什么实际影响基于currentTimeMillis函数的时间计算?
为什么我会得到不同的结果?
有人可能会想:每次输入都是一样的吗?我会说是的。。输入参数
总是相同的(两个示例),但程序使用Random类生成一个
给定的线程数。
那是罪魁祸首吗?
有关该计划的一些详细信息:
一群汽车从北向南(viceversa)沿着一条双车道道路行驶。过了一会儿,他们到达了一座桥。这座桥是单向的,通行能力有限。一辆汽车需要100毫秒才能通过这座桥。不允许发生交通碰撞。
谢谢。
输出/结果没有任何错误。操作系统会暂时中断正在执行的当前程序并运行一个高优先级的程序,并且还涉及其他因素。因此时间滞后。如果您想检查程序执行所需的准确时间,请尝试System.nanoTime()
它以纳秒为单位返回时间,并运行N次并取平均次数(即使如此,我也不能向您保证执行时间将保持不变)
我的意思是尝试如下所示的一些事情。
long totalTime=0;
for(i=0;i<n;i++){ //where n is some value say 3,4,5
waitingTime = System.nanoTime(); //starts calculating time
bridge.getIn(direction); // tries to enter the bridge
waitingTime = System.nanoTime() - waitingTime ;// time elapsed
totalTime+=waitingTime;
}
long totalTimeInMillis = totalTime/(n*1000);
注意:确保每次执行时环境应保持不变。
问题内容: 我正在使用具有Spring安全性的BCryptPasswordEncoder。我的期望是,对于相同的输入,我将始终获得相同的输出。但是对于相同的输入,我得到不同的输出。您可以使用以下代码段对其进行测试: 输出:$ 2a $ 10 $ cYLM.qoXpeAzcZhJ3oXRLu9Slkb61LHyWW5qJ4QKvHEMhaxZ5qCPi 输出2:$ 2a $ 10 $ KEvYX9y
我正在使用带有Spring Security的BCryptPasswordEncoder。我的期望是,对于相同的输入,我总是得到相同的输出。但是对于相同的输入,我得到不同的输出。您可以使用下面的代码片段对其进行测试: 输出:$2A$10$CYLM.QOXPEAZCZHJ3OXRLU9SLKB61LHYWW5QJ4QKVHEMHAXZ5QCPI 输出2:$2A$10$kevyx9yjj0f1x3wl
我用python用800个样本训练了一个CNN神经网络,并用60个样本进行了测试。输出精度是50,现在每次我使用模型。预测它会给我同样的结果。 我用了keras和tensorflow。图像为224x224像素,每个像素分为两类。我对神经网络知之甚少,这是我第一次尝试把它做得这么大。我听说它可能太合适了,或者我需要一个更重要的图层,或者我的批量大小/年代/学习率是错误的。 编辑1:种子对网络培训有何
本文向大家介绍python在不同条件下的输入与输出,包括了python在不同条件下的输入与输出的使用技巧和注意事项,需要的朋友参考一下 1. 用户输入内容与打印 输入:input() 输出:print() 例1,输入字符串,并原样输出 例2,输入字符串,并判断是否是回文,打印结果 2. 文件创建、读写 打开文件:f = open('文件名', '打开模式') 读取:f.read()、f.readl
我需要我的logstash conf文件向一个kafka主题发送一条消息,以指示已处理的文档已发送到ElasticSearch。我已经准备好了logstash文件来构造发送到ElasticSearch的数据,但是我需要通过同一个logstash文件向kafka主题发布“是”或“否”消息。
问题内容: 我有非常简单的案例,可以将要完成的工作分解并分配给工人。我从这里尝试了一个非常简单的多处理示例: 上面的程序产生以下输出: 为什么要打印相同的随机数?(我的机器上有4个CPU)。这是最好/最简单的方法吗? 问题答案: 我认为您需要在函数中使用numpy.random.seed重新设置随机数生成器。 我的猜测是,当您导入模块时,随机数生成器(RNG)会被植入种子。然后,当您使用多处理时,