Advertisement
Guest User

Untitled

a guest
Dec 4th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Vala 2.45 KB | None | 0 0
  1. //  var builder = new StringBuilder();
  2. //  builder.append("qwertyuiopйцукне");
  3. //  strChunk.insert("qwer");
  4.  
  5.  
  6. using Gee;
  7.  
  8. class Tests : Object {
  9.     public static double[] arr = {};
  10.     public static void concat_StringChunk_reserve () {
  11.         var results = new ArrayList<double?>();
  12.         for (int i = 0; i < 16; i++) {
  13.                 var strChunk = new StringChunk(130000000*4);
  14.                 var t = new Timer();
  15.                 for (int j = 0; j < 130000000; j++) {
  16.                     strChunk.insert("qwer");
  17.             }
  18.             results.add(t.elapsed());
  19.         }
  20.         arr += results.min(Functions.get_compare_func_for(typeof(double) ) );
  21.     }
  22.    
  23.     public static void concat_StringBuilder_reserve () {
  24.         var results = new ArrayList<double?>();
  25.         for (int i = 0; i < 16; i++) {
  26.                 var builder = new StringBuilder.sized(130000000*4);
  27.                 var t = new Timer();
  28.                 for (int j = 0; j < 130000000; j++) {
  29.                     builder.append("qwer");
  30.             }
  31.             results.add(t.elapsed());
  32.         }
  33.         arr += results.min(Functions.get_compare_func_for(typeof(double) ) );
  34.     }
  35.     public static void concat_StringBuilder_noreserve () {
  36.         var results = new ArrayList<double?>();
  37.         for (int i = 0; i < 16; i++) {
  38.                 var builder = new StringBuilder();
  39.                 var t = new Timer();
  40.                 for (int j = 0; j < 130000000; j++) {
  41.                     builder.append("qwer");
  42.             }
  43.             results.add(t.elapsed());
  44.         }
  45.         arr += results.min(Functions.get_compare_func_for(typeof(double) ) );
  46.     }
  47. }
  48.  
  49.  
  50.  
  51. void main(string[] args) {
  52.     Test.init (ref args);
  53.     Test.add_func ("/concat/StringChunk/reserve",Tests.concat_StringChunk_reserve);
  54.     Test.add_func ("/concat/StringBuilder/reserve",Tests.concat_StringBuilder_reserve);
  55.     Test.add_func ("/concat/StringBuilder/noreserve",Tests.concat_StringBuilder_noreserve);
  56.     Test.run ();
  57.     print(@"StringChunk/reserve $(Tests.arr[0])\n");
  58.     print(@"StringBuilder/reserve $(Tests.arr[1])\n");
  59.     print(@"StringBuilder/noreserve $(Tests.arr[2])\n");
  60. }
  61. //valac v.vala --cc=clang -X -Ofast --pkg gee-0.8  -o clangvala
  62. //valac v.vala -X -Ofast --pkg gee-0.8  -o clangvala
  63.  
  64. //valac -X -Ofast --disable-assert -X -funroll-loops -X -ffast-math -X -fomit-frame-pointer -X -ftracer -X -lm -X -msse -X -msse2 -X -mfpmath=sse+387 v.vala -o vala
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement