aboutsummaryrefslogtreecommitdiffstats
path: root/perf/data/jsonParserPayload.rb
blob: 48079198c5c856a6713154d40d05f617bac67f44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
def generate_object(f, objName, iterations)
  f.write("var #{objName}='[");
 
  iterations.times do |i| 
    f.write('{')

    f.write('"simpleStringProperty":')     #23
    f.write('"some string value ' + ('%07d' % i) + '"')  #27
    f.write(',')
    
    f.write('"stringWithQuotes":')         #19
    f.write('"some string with \\\\"quotes\\\\" ' + ('%07d' % i) + '"')  #36
    f.write(',')
 
    f.write('"stringWithUnicode":')
    f.write('"short string with \\u1234 unicode \\u2345 chars ' +  ('%07d' % i) + '"')
    f.write(',')

    f.write('"aNumber":')  #10
    f.write(i)  #?
    f.write(',')
   
    f.write('"smallArray":')
    f.write('["a",23,"b",42,' + i.to_s + ']')
    f.write(',')

    f.write('"smallObj":')
    f.write('{"foo":"bar","baz":543,"num":' + i.to_s + ',"fuz":"fuz buz huz duz ' + i.to_s + '"}')
    f.write(',')

    f.write('"timeStamp":')
    f.write('"2010-12-22T04:58:01.' + ("%03d" % (i%1000)) + '"')

    f.write('},')
  end

  f.write('"just a padding string"]\';' + "\n\n");
end

file_path = File.join(File.dirname(__FILE__), 'jsonParserPayload.js')

File.open(file_path, 'w') do |f|
  generate_object(f, 'superTinyJsonString', 1)  #~300b
  generate_object(f, 'tinyJsonString', 3)       #~1kb
  generate_object(f, 'smallJsonString', 30)     #~10kb
  generate_object(f, 'mediumJsonString', 600)   #~200kb
  generate_object(f, 'largeJsonString', 2000)   #~650kb
end