我们的服务器应用程序在热代码路径中进行了大量的整数测试,目前我们使用以下函数:
inline int IsInteger(double n)
{
return n-floor(n) < 1e-8
}
Run Code Online (Sandbox Code Playgroud)
这个功能在我们的工作量中非常热,所以我希望它尽可能快.如果可以的话,我也想删除"楼层"库调用.有什么建议?
我有以下脚本:
cat > /tmp/script.sh <<EndOfScript
#!/bin/sh
ulimit -n 8192
run_app
EndOfScript
Run Code Online (Sandbox Code Playgroud)
在本地运行顺利,总是好的.但是如果我尝试通过ssh远程运行它:
scp /tmp/script.sh user@host:/tmp/script.sh
ssh user@host "chmod 755 /tmp/script.sh; /tmp/script.sh"
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
ulimit: open files: cannot modify limit: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下命令:
ssh user@host "ulimit -n 8192"
Run Code Online (Sandbox Code Playgroud)
同样的错误.
看起来ssh远程命令执行对nofile限制强制执行1024次硬限制,但我无法找到如何修改此默认值.我试图修改/etc/security/limits.conf并重启sshd,仍然是同样的错误.