Advertisement
Drakia

Untitled

Mar 25th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. ==== Bukkit Implementation ===
  2. Total Time: 12291549ns
  3. Average Time: 245ns
  4. ==== RegEx Implementation ===
  5. Total Time: 122944722ns
  6. Average Time: 2458ns
  7.  
  8.  
  9.  
  10.  
  11. public class ChatColorTest {
  12. public static void main(String[] args) {
  13. // Warmup, 5,000 iterations fo each
  14. String toTranslate = "This &e is &a a &f colored &k string &q yay";
  15. char altColorChar = '&';
  16. for (int i = 0; i < 5000; i++) {
  17. translateAlternateColorCodes(altColorChar, toTranslate);
  18. translateAlternateColorCodes2(altColorChar, toTranslate);
  19. }
  20.  
  21. // Now do each one 50,000 times, add, average.
  22. long sTime = System.nanoTime();
  23. for (int i = 0; i < 50000; i++) {
  24. translateAlternateColorCodes(altColorChar, toTranslate);
  25. }
  26. long eTime = System.nanoTime();
  27. System.out.println("==== Bukkit Implementation ===");
  28. System.out.println("Total Time: " + (eTime - sTime) + "ns");
  29. System.out.println("Average Time: " + ((eTime - sTime) / 50000) + "ns");
  30.  
  31. sTime = System.nanoTime();
  32. for (int i = 0; i < 50000; i++) {
  33. translateAlternateColorCodes2(altColorChar, toTranslate);
  34. }
  35. eTime = System.nanoTime();
  36. System.out.println("==== RegEx Implementation ===");
  37. System.out.println("Total Time: " + (eTime - sTime) + "ns");
  38. System.out.println("Average Time: " + ((eTime - sTime) / 50000) + "ns");
  39. }
  40.  
  41. public static final char COLOR_CHAR = '\u00A7';
  42.  
  43. public static String translateAlternateColorCodes(char altColorChar, String textToTranslate) {
  44. char[] b = textToTranslate.toCharArray();
  45. for (int i = 0; i < b.length - 1; i++) {
  46. if (b[i] == altColorChar && "0123456789AaBbCcDdEeFfKkLlMmNnOoRr".indexOf(b[i+1]) > -1) {
  47. b[i] = COLOR_CHAR;
  48. b[i+1] = Character.toLowerCase(b[i+1]);
  49. }
  50. }
  51. return new String(b);
  52. }
  53.  
  54. public static String translateAlternateColorCodes2(char altColorChar, String textToTranslate) {
  55. return textToTranslate.replaceAll(altColorChar + "([a-fA-Fk-oK-OrR0-9])", COLOR_CHAR + "$1");
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement