我正在尝试测试我编写的Java程序,以证明其效率。我有许多不同的测试要运行,并且我正在尝试在运行时分析中精确处理。问题在于,不同的测试可能会访问共同的磁盘上的信息。因此,为了在实验结果上“公平”,我想以某种方式通过编程来清除Java程序正在使用的内部内存,在进行实验之间。换句话说,我希望每个实验都拥有相同的“空白内存/缓存”。
我尝试在实验之间读取一个大文件。我还尝试重新启动我的机器。有趣的是,当我读取一个大文件时,时间是非常糟糕的,而当我简单地重新启动机器时(例如从40秒到5秒),时间要好得多。除了在每次实验之间重新启动机器(这是不可行的)之外,如何正确清除内部内存(即避免来自共同磁盘访问的人工加速实验)?
我尝试在实验之间读取一个大文件。我还尝试重新启动我的机器。有趣的是,当我读取一个大文件时,时间是非常糟糕的,而当我简单地重新启动机器时(例如从40秒到5秒),时间要好得多。除了在每次实验之间重新启动机器(这是不可行的)之外,如何正确清除内部内存(即避免来自共同磁盘访问的人工加速实验)?