Created
June 30, 2011 07:21
-
-
Save nobusue/1055792 to your computer and use it in GitHub Desktop.
SPECjEnterprise2010の結果一覧をTSVファイルに書き出すGroovyスクリプト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Grab(group='net.sourceforge.nekohtml', module='nekohtml', version='1.9.14') | |
import org.cyberneko.html.parsers.SAXParser | |
def parser = new XmlParser(new SAXParser()) | |
def html = parser.parse('http://www.spec.org/jEnterprise2010/results/jEnterprise2010.html') | |
//new XmlNodePrinter().print(html) | |
def result = [] | |
def baseUrl = 'http://www.spec.org/jEnterprise2010/results/' | |
html.BODY.DIV.TABLE.TBODY.TR.each { | |
def r = [] | |
def submitter_name = it.TD.find{it.@class == 'submitter_name'}?.text() | |
if(!submitter_name) return | |
r << submitter_name | |
r << it.TD.find{it.@class == 'system_title'}?.text() | |
r << it.TD.SPAN.find{it.@class == 'disclosures'}?.text().replaceAll(/\|/, '') | |
r << baseUrl + it.TD.SPAN.A.@href[0] | |
def metric = it.TD.find{it.@class == 'result_metric'}?.text() | |
r << metric | |
r << it.TD.find{it.@class == 'system_sw_JEE_nNode'}?.text() | |
def cores = it.TD.find{it.@class == 'system_sw_JEE_nCPU'}?.text() | |
r << cores | |
r << it.TD.find{it.@class == 'system_sw_DB_nNode'}?.text() | |
r << it.TD.find{it.@class == 'system_sw_DB_nCPU'}?.text() | |
def coresNum = (cores =~ /(\d+) cores,/)[0][1] | |
def resultPerCore = metric.replaceAll(/,/,'').toDouble() / coresNum.toInteger() | |
r << coresNum | |
r << resultPerCore | |
result << r | |
} | |
//println result.size() | |
println( ['Tested By','System Name','Date','URL','Result','JEE Nodes','JEE CPU','DB Nodes','DB CPU','Cores','jops/Core'].join('\t') ) | |
result.each{ println it.join('\t') } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment