2017-03-03 6 views
0

Ich habe einen Benchmark in sbt-jmh, das ist ein "Wrapper" für jmh, für die ich einen Parameter habe, der Nicht-ASCII-Zeichen enthält. Es sieht wie folgt aus:Param Wertcodierung

@Param(Array("1000", "1000")) 

Das ist das Äquivalent mit einer vollen Breite ein Zeichen, Codepunkt

@Param({"1000", "1000"}) 

Beachten Sie, dass die zweite Zeichenfolge "1000" beginnt für Java ist + uFF11

Diese Datei ist codierter in UTF8. Meine Plattform ist Windows-8.1, und die Plattform Kodierung cp1252

Mein build.sbt enthält scalacOptions ++= List("encoding", "UTF8")

Ich erwarte, dass sehr ähnliche Benchmark-Ergebnisse für beide params, aber ich sehe drastisch unterschiedliche Ergebnisse, die dass die zweite zu implizieren scheinen Die Zeichenfolge wird nicht ordnungsgemäß verarbeitet.

Wie kann ich sicherstellen, dass der Benchmark die richtige Zeichenfolge als Parameter verwendet?

+0

Können Sie Benchmark-Ergebnisse liefern? – ZhekaKozlov

+0

@ZhekaKozlov Ja, aber es ist nicht mehr relevant, es war ein Fehler, und ist jetzt behoben. Ich habe das als Antwort gepostet. Siehe http://mail.openjdk.java.net/pipermail/jmh-dev/2017-March/002508.html – Martijn

Antwort

0

Dies war ein Fehler in 1.17, und ist in 1.18 behoben