Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==== Bukkit Implementation ===
- Total Time: 12291549ns
- Average Time: 245ns
- ==== RegEx Implementation ===
- Total Time: 122944722ns
- Average Time: 2458ns
- public class ChatColorTest {
- public static void main(String[] args) {
- // Warmup, 5,000 iterations fo each
- String toTranslate = "This &e is &a a &f colored &k string &q yay";
- char altColorChar = '&';
- for (int i = 0; i < 5000; i++) {
- translateAlternateColorCodes(altColorChar, toTranslate);
- translateAlternateColorCodes2(altColorChar, toTranslate);
- }
- // Now do each one 50,000 times, add, average.
- long sTime = System.nanoTime();
- for (int i = 0; i < 50000; i++) {
- translateAlternateColorCodes(altColorChar, toTranslate);
- }
- long eTime = System.nanoTime();
- System.out.println("==== Bukkit Implementation ===");
- System.out.println("Total Time: " + (eTime - sTime) + "ns");
- System.out.println("Average Time: " + ((eTime - sTime) / 50000) + "ns");
- sTime = System.nanoTime();
- for (int i = 0; i < 50000; i++) {
- translateAlternateColorCodes2(altColorChar, toTranslate);
- }
- eTime = System.nanoTime();
- System.out.println("==== RegEx Implementation ===");
- System.out.println("Total Time: " + (eTime - sTime) + "ns");
- System.out.println("Average Time: " + ((eTime - sTime) / 50000) + "ns");
- }
- public static final char COLOR_CHAR = '\u00A7';
- public static String translateAlternateColorCodes(char altColorChar, String textToTranslate) {
- char[] b = textToTranslate.toCharArray();
- for (int i = 0; i < b.length - 1; i++) {
- if (b[i] == altColorChar && "0123456789AaBbCcDdEeFfKkLlMmNnOoRr".indexOf(b[i+1]) > -1) {
- b[i] = COLOR_CHAR;
- b[i+1] = Character.toLowerCase(b[i+1]);
- }
- }
- return new String(b);
- }
- public static String translateAlternateColorCodes2(char altColorChar, String textToTranslate) {
- return textToTranslate.replaceAll(altColorChar + "([a-fA-Fk-oK-OrR0-9])", COLOR_CHAR + "$1");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement