问题标签 [dacapo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
file - 如何递归地将文件从嵌套文件夹结构中提取到父文件夹中
我有一个问题,其中我有一个名为 psp (级别 0)的目录,里面有一堆文件夹(级别 1),每个文件夹包含两个或三个文件夹(级别 4) 包含几个 .pseudo 文件(它们只是文本文件)和一个 .tar.gz 文件。
我要运行的程序(dacapo)需要在 psp 目录中包含所有这些 .pseudo 文件。
因此,我需要以某种方式将所有 .pseudo 文件放入该目录。
我应该注意到整个文件结构以 .tar.gz 文件开始。你可以在这里找到它:http ://wiki.fysik.dtu.dk/dacapo-files/campos-dacapo-pseudopotentials-1.tar.gz
aop - 将相同的方面编织到多个罐子中
我一直在用 AspectJ (ajc) 正确编织这个项目时遇到问题。情况如下:
我正在使用一个名为 DaCapo Benchmarks 的基准测试库,在其中我试图拦截对 Iterator.HasNext() 和 Next() [学术研究] 的所有调用。这似乎是在真空中工作的,但是 DaCapo 的工作方式是它自己的 jar 包含其他 jar,它根据我想要运行的基准及其依赖项并运行它来提取这些 jar。
我想拦截所有具有相同方面的 HasNext()s 和 Next()s,以便在所有 jar 文件中而不是在每个单独的 jar 文件中跟踪我的总数。
我希望我的理解足够清楚。我完全可以回答您可能遇到的任何问题,以便能够帮助我解决这个奇怪的问题。
PS 我有一种奇怪的感觉,它实际上并不可行,但是在 eclipse 中使用 AJDT 进行的测试(我使用 raw aspectj 和 ajc 进行 DaCapo Benchmarks 编织)暗示了这种可能性。
cobertura - 如何使用 Cobertura 测试基准 Dacapo 的覆盖率?
最近,我正在使用一个新的基准测试:Dacapo(这里是网站:http://dacapobench.org/)。
我的老师告诉我使用 Cobertura 来测试 Dacapo 中 11 个基准的分支覆盖率。与此同时,我正在学习 Cobertura。我发现 Cobertura 仪器 .class 文件,然后运行它们以获取一些报告。Dacapo 是一个 .jar 文件,其中包含许多文件。我只是不知道如何用 Cobertura 测试它们。
如果您能提供一些有用的建议,我们将不胜感激。谢谢!
java - Java 在 CentOS 最小安装上运行非常慢,但在正常安装上运行很快
使用 CentOS 6.2,这两个安装都在同一台服务器上:
完成“最小”安装后,Java 程序运行速度非常慢。完成“软件开发工作站”安装后,Java 程序以正常速度运行。
到目前为止收集的一些信息:
启用最小安装中不存在的服务,例如,
irqbalance
没有cpuspeed
帮助已经使用Phoronix套件进行了基准测试,以测试 CPU/RAM/HD 速度。这些测试在两个安装中都运行良好。
使用DaCapo套件(使用 Java)完成了基准测试。这些测试在最小安装时都运行得非常糟糕(即慢 5-50 倍)。
尝试过多个版本的 JRE:OpenJDK 6、Sun Java 6、Sun Java 7
已经用 yum 更新到最新的软件包
已经在两台不同的服务器上多次验证了这种减速。
两台服务器都使用 Xeon 双核处理器,并拥有 16GB 或更多的 RAM
任何人都知道可能导致这种情况的原因吗?
bash - Unix time 命令会干扰正在运行的程序吗?
从Time Unix 命令的这个答案中,我得到了关于时间如何工作的基本概念。它派生一个新进程并在该新进程中执行命令。但是,我遇到了我无法理解的行为。
我正在尝试分析lusearch,这是DaCapo 基准套件的基准。我想以不同的配置(线程数和迭代次数)启动它,忽略基准输出并使用时间来记录真实、用户和系统时间。对于绝大多数配置,我的脚本运行良好,启动基准测试并记录时间。
对于一种特定的配置(大型数据集、两个线程和十次迭代),基准测试有时不会终止(80% 的情况,几乎 100 次尝试)。这是我用来启动它的命令:
但是,如果我不预先设置时间,则基准测试只会终止 100% 的时间(也有大约 100 次尝试):
此行为仅在此基准测试和此配置中发生,而如果配置其他基准测试或使用不同数量的线程或不同数量的迭代,我看不到同样的事情发生。我的猜测是,它与时间正在做的干扰基准的事情有关。
我看不到 fork+exec 如何改变基准行为。有什么具体的原因会导致这种情况吗?例如:时间是否在使用基准测试也想要使用的某些资源?启动基准测试时我做错了什么?
windows - Windows 批处理脚本:将所有输出重定向到文件
我正在运行各种 Java 基准测试并希望将结果存档。我像这样执行(dacapo)基准测试:
我通过参数传递基准的类型,这就是 %arg1% 是什么。
您可以看到我将输出重定向到文本文件。不幸的是,输出的第一行和最后一行仍然打印在控制台中,而不是文本文件中:
特别是最后一行在文本文件中很重要:)
有没有办法强迫这种行为?
java - 使用 BCEL 在现有方法中注入代码
对于我的论文研究,我需要将一段代码注入到我没有源代码的测试套件中的可定义方法(在本例中为 DaCapo 基准测试套件,http: //dacapobench.org/ )。我论文的这一部分所基于的先前研究为此使用了字节码注入,这导致我也这样做。
我使用 Apache 的 BCEL 库 ( http://commons.apache.org/proper/commons-bcel/ ) 构建了一个小程序,使我能够在其他语句之前将斐波那契算法注入方法体中。
现在,我做了这个,但它不能正常工作。我注入的一些方法运行良好(因为斐波那契代码它们速度较慢),并且运行 DaCapo 框架运行良好,而其他注入的方法会破坏代码。
问题是,我不知道为什么,即使我知道哪些方法发生故障以及哪些方法成功了,我也无法在损坏的方法中找到重复出现的模式。
- 字节码似乎很好,到目前为止我可以看到,但我离专家还很远。当我比较注入前后的字节码时,我看到斐波那契算法后面跟着其余的方法,唯一的区别是增加的堆栈位置(因为注入的代码也使用堆栈空间)。
- 成功的方法包含公共方法和私有方法。带参数和不带参数。
- 一些失败的方法包含异常,而另一些则没有。有些人尝试过,有些人没有。等等等等
我可以粘贴一些失败的方法,但这会使这篇文章比现在更长。所以我想知道,有什么我没有考虑或忽略的事情吗?
下面你会找到一个示例 java 文件,它的结果和我编写的 BCEL 程序。
一个简单的例子,我有一个名为 DemoClass.java 的 java 文件:
在我的 shell 中调用以下 java 命令后:
javac DemoClass.java; java -cp bcel-5.2.jar:. InjectCodeBCEL DemoClass test 123456789 ; java DemoClass
(bcel-5.2.jar文件可以在前面提到的apache网站上找到)
该程序将如下所示:
这是 InjectCodeBCEL.java 的代码:
更新
下面你可以看到 net.sourceforge.pmd.AbstractRuleChainVisitor 中的 visitAll 方法注入失败后的完整错误
该方法的代码(由JD-GUI生成):
这是一个与我的代码错过“insertCodeInMethod”中的堆栈位置增加部分时得到的错误相当的错误。这导致参数和非静态时 this 与斐波那契代码中定义的变量发生冲突。
eclipse - 在 Clojure 中重定向输入
我想在我的 Clojure 基准测试中重定向标准输入。我已将文件作为参数传递,我试图在 java 中找到等效代码: System.setIn(new FileInputStream(filename)); 但是对于Clojure。
主要问题是我使用 DaCapo 套件来计算 Benchmark 的性能,并且与 cmd 相比,加载基准测试的方法无法识别像“<”这样的特殊字符(直接从 cmd 运行基准测试的 jar ..)。
这就是我想要做的..但仍然不起作用..我认为 br 具有来自 in 的标准输入,并且它被程序的其余部分使用。当我在 args 中有所需的路径时,如何更改 in,以便我可以正确运行基准测试?这是我对“系统/设置”的努力
java - 从 Linux 终端加载 Java 类
我正在尝试使用适当的基准 Java 类(cnf.files)加载我的 java Harness 类(DaCapo Benchmark 套件)。在 Windows 中,命令“java Harness 工作得非常好。但是,由于我是 Linux 新手,当我尝试加载我的 java 线束类时,我会收到消息“未知基准”。请注意,“java Harness -l”显示所有可用的基准这个 java Harness 类的。
您知道如何像在 Windows 中那样加载我的 java Harness 类吗?
java - 运行蜡染时的 InvocationTargetException/NoClassDefFoundError/ClassNotFoundException(DaCapo-9.12-bach 基准测试)
我自己构建OpenJDK 9并在我的 Linux 服务器(64 位,64 核,126GB 内存)(Ubuntu 17.10)上运行Dacapo基准测试。
我有InvocationTargetException
//当我运行 batik NoClassDefFoundError
( ClassNotFoundException
DaCapo-9.12-bach benchmark) 和其他一些基准时。
问题:如何解决它以及为什么会出现这些异常?
蜡染
基于 Apache Batik 中的单元测试生成许多可缩放矢量图形 (SVG) 图像
但是,如果我使用 Oracle 的 JDK8,蜡染可以工作。
java版本“1.8.0_144”
Java(TM) SE 运行时环境 (build 1.8.0_144-b01)
Java HotSpot(TM) 64 位服务器 VM(内部版本 25.144-b01,混合模式)
结果: