fork(2) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.concurrent.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. int loopCount = 1000000;
  14. int i;
  15.  
  16. //Benchmark variables
  17. long startTime;
  18. long totalStringTime = 0;
  19. long totalRunnableTime = 0;
  20.  
  21.  
  22. //Perform warm up, make some objects
  23. for (i = 0; i < 1000; i++) {
  24. String warm = "log" + i;
  25. final int j = i;
  26. Runnable up = () -> { String log = "log" + j; };
  27. long time = System.nanoTime();
  28. }
  29.  
  30. //Measure string time
  31. startTime = System.nanoTime();
  32. for (i = 0; i < loopCount; i++) {
  33. String test = "log" + i;
  34. }
  35. totalStringTime = System.nanoTime() - startTime;
  36.  
  37. //Measure Runnable time
  38. startTime = System.nanoTime();
  39. for (i = 0; i < loopCount; i++) {
  40. final int j = i;
  41. Runnable up = () -> { String log = "log" + j; };
  42. }
  43. totalRunnableTime = System.nanoTime() - startTime;
  44.  
  45.  
  46. System.out.println("String Time: \t" + totalStringTime);
  47. System.out.println("Runnable Time: \t" + totalRunnableTime);
  48. }
  49. }
Success #stdin #stdout 0.41s 320640KB
stdin
Standard input is empty
stdout
String Time: 	173341275
Runnable Time: 	27338650