假设我启动了一个mongo数据库服务器:
mongo --dbpath=/some/path --port=12345 --storageEngine wiredTiger
然后我运行相同的查询10次(忽略第一个,以便它们都在暖缓存上),如下所示:
mongo query1.js
我得到的时间是(通过timemongodb记录器验证):
8137ms
8145ms
8193ms
8091ms
8152ms
8110ms
8182ms
8142ms
8133ms
8098ms
很棒 - 相当一致.所有都在彼此约100毫秒内,这是有道理的.
然后,我以下列任何一种方式关闭服务器:
pkill mongod
mongod --dbpath=/some/path --shutdown
mongo shutdown.js
其中shutdown.js包括:
db.getSiblingDB('admin').shutdownServer();
然后我使用完全相同的命令重新启动它,我得到以下时间:
8531ms
8492ms
8613ms
8555ms
8538ms
8512ms
8551ms
8511ms
8608ms
8522ms
同样,它们始终在~100ms内,但它们都处于不同的基线.
如果我这样做一次,它可能是周围8.3,8.6,8.9,或在真正之间的任何地方.没有其他用户进程打开(除了那些需要ssh进入机器).
我按如下方式进行了一项实验:
while True:
run the query 25 times and record the minimum such runtime
shutdown the server and restart it, …
问题:控制器的动作具有渲染标记而不传入模型.存在以"get"一词开头的动作.
在grails-app /视图/网站/ home.gsp:
homepage
Run Code Online (Sandbox Code Playgroud)
SiteController.groovy:
class SiteController {
def index() {
render (view: "home")
}
def getTest() {
render "getTest"
}
}
Run Code Online (Sandbox Code Playgroud)
该站点在localhost:8080/site上访问,以执行SiteController的索引操作.
预期输出:主页实际输出:getTest主页
如果index的render动作更改为:
render(view: "home", model: [:])
Run Code Online (Sandbox Code Playgroud)
产生预期的输出.
如果在操作名称中的单词get之前添加了一个字符,则会生成预期的输出.
有趣的是,getEA()在IDEA中的颜色编码为紫色.还应该注意的是,如果你有多个方法在开头有单词get,它们都是ALL执行的.
这在Grails 1.3.6中没有发生.这在一个全新的Grails 2.2.2项目中是可重现的,对我来说似乎是个错误.为什么会这样?
对于家庭作业,我不允许使用任何变量,如"int i = 0;" - 只有指针.
问题是我需要做n次 - 比如说10次 - 但我无法找到一种方法来做这个事情n次没有for循环.它正在操作指向整数的指针,它不会被零终止,但是大小总是相同的(比方说10).
有没有办法在不使用整数来控制循环的情况下执行以下操作?
int i;
for (i = 0; i < 10; i++) {
*(p + i) = 0;
}
Run Code Online (Sandbox Code Playgroud)