我要参加麻省理工学院的战斗密码竞赛。参赛者编写程序来控制互相战斗的机器人。问题是你的机器人被限制在一个回合中执行一定数量的字节码(去年是每回合 10000 个字节码)。现在,一个简单的循环
(int i=0; i<100; i++){
// do nothing
}
根据他们的软件,使用大约 400 个字节码(大概类似于(2 个字节码用于增加 i 加上 2 个字节码用于检查 i<100)* 100 = 400 个字节码)所以我们必须编写非常紧凑的代码。因此,当我尝试一些不同的导航算法时,重要的是我能够弄清楚我的代码使用了多少字节码——我该怎么做?
(有可能——他们做到了,我只是不知道怎么做!另外,他们必须阻止 JIT 以某种方式发挥作用。我知道每个机器人都在单独的线程中运行,所以我确定答案涉及某种我不知道的线程诡计。)