Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- --------------------------------------------------------------------------------
- COMPARISON OF PERFORMANCE OF STRING.CONCAT AND STRINGBUILDER.APPEND FOR STRING
- CONCATENATION.
- --------------------------------------------------------------------------------
- Findings:
- - String.Concat is sometimes quicker than StringBuilder.Append.
- - Results generally favor StringBuilder.
- */
- open System
- open System.Collections.Generic
- open System.Diagnostics
- open System.IO
- open System.Text
- open System.Threading
- type ConcatMethod =
- | None = 0
- | StringBuilderAppend = 1
- | StringConcat = 2
- type TestResult =
- { ConcatMethod : ConcatMethod
- StringLength : int
- Concatenations : int
- Iterations : int
- Ticks : int64 }
- override this.ToString() =
- String.Format(@"""{0}"",""{1}"",""{2}"",""{3}"",""{4}""",
- this.ConcatMethod,
- this.StringLength,
- this.Concatenations,
- this.Iterations,
- this.Ticks)
- [<EntryPoint>]
- let main argv =
- Thread.CurrentThread.Priority <- ThreadPriority.Highest
- let sw, sb, results, output, score =
- new Stopwatch(),
- new StringBuilder(),
- List<TestResult>(),
- new StringBuilder(),
- new Dictionary<ConcatMethod, int>()
- let resultFile, outputFile =
- @"r:\result.csv",
- @"r:\output.txt"
- score.Add(ConcatMethod.None, 0)
- score.Add(ConcatMethod.StringBuilderAppend, 0)
- score.Add(ConcatMethod.StringConcat, 0)
- let inline (~~) s =
- output.AppendLine(s) |> ignore
- let TestStringConcat count length iterations =
- let s = new String('*', length)
- let a = Array.create count s
- sw.Restart()
- for n = 1 to iterations do
- String.Concat(a) |> ignore
- sw.Stop()
- results.Add(
- { ConcatMethod = ConcatMethod.StringConcat
- StringLength = length
- Concatenations = count
- Iterations = iterations
- Ticks = sw.ElapsedTicks })
- sw.ElapsedTicks
- let TestStringBuilder count length iterations =
- let s = new String('*', length)
- let a = Array.create count s
- sw.Restart()
- for n = 1 to iterations do
- sb.Length <- 0
- for str in a do
- sb.Append(str) |> ignore
- sb.ToString() |> ignore
- sw.Stop()
- results.Add(
- { ConcatMethod = ConcatMethod.StringBuilderAppend
- StringLength = length
- Concatenations = count
- Iterations = iterations
- Ticks = sw.ElapsedTicks })
- sw.ElapsedTicks
- let minLen, maxLen, lenInc = 2, 8, 2 // chars in string
- let minNum, maxNum, numInc = 2, 8, 1 // strings to concat
- let minPow, maxPow, powInc = 1, 6, 1 // iterations
- for length in [minLen..lenInc..maxLen] do
- for count in [minNum..numInc..maxNum] do
- let m = length * (count + 1)
- if m > sb.Capacity then
- sb.Capacity <- m
- for iterations in
- [
- for i in [minPow..powInc..maxPow] do
- yield Math.Pow(10., float i) |> int
- ]
- do
- let bticks = TestStringBuilder count length iterations
- let cticks = TestStringConcat count length iterations
- let dticks = Math.Abs(bticks-cticks)
- let mutable winner = String.Empty
- if bticks < cticks then
- winner <- "BUILDER"
- score.[ConcatMethod.StringBuilderAppend] <- score.[ConcatMethod.StringBuilderAppend] + 1
- elif bticks > cticks then
- winner <- "CONCAT"
- score.[ConcatMethod.StringConcat] <- score.[ConcatMethod.StringConcat] + 1
- else
- winner <- "TIED!"
- score.[ConcatMethod.None] <- score.[ConcatMethod.None] + 1
- let current =
- String.Format(
- "Length: {0}, \
- Count: {1}, \
- Iterations: {2}, \
- Builder: {3}, \
- Concat: {4}, \
- Difference: {5}, \
- Winner: {6}",
- length,
- count,
- iterations,
- bticks,
- cticks,
- dticks,
- winner)
- ~~ current
- ~~ String.Empty
- let bw = "Builder Win: " + score.[ConcatMethod.StringBuilderAppend].ToString()
- let cw = " Concat Win: " + score.[ConcatMethod.StringConcat].ToString()
- let tw = " Tied: " + score.[ConcatMethod.None].ToString()
- output.Insert(0,
- bw + Environment.NewLine +
- cw + Environment.NewLine +
- tw + Environment.NewLine +
- Environment.NewLine) |> ignore
- ~~ bw
- ~~ cw
- ~~ tw
- File.WriteAllText(outputFile, output.ToString())
- sb.Length <- 0
- sb.AppendLine(String.Format("\"ConcatMethod\",\"StringLength\",\"Concatenations\",\"Iterations\",\"Ticks\"")) |> ignore
- for result in results do
- sb.AppendLine(result.ToString()) |> ignore
- File.WriteAllText(resultFile, sb.ToString())
- 0
- /* RESULTS!
- --> Release, AnyCPU, Optimize Code
- --> Run from the command line, not from within Visual Studio Hosting Process
- Builder Win: 135
- Concat Win: 24
- Tied: 9
- Length: 2, Count: 2, Iterations: 10, Builder: 16, Concat: 9, Difference: 7, Winner: CONCAT
- Length: 2, Count: 2, Iterations: 100, Builder: 13, Concat: 14, Difference: 1, Winner: BUILDER
- Length: 2, Count: 2, Iterations: 1000, Builder: 92, Concat: 127, Difference: 35, Winner: BUILDER
- Length: 2, Count: 2, Iterations: 10000, Builder: 906, Concat: 1370, Difference: 464, Winner: BUILDER
- Length: 2, Count: 2, Iterations: 100000, Builder: 8818, Concat: 10477, Difference: 1659, Winner: BUILDER
- Length: 2, Count: 2, Iterations: 1000000, Builder: 74462, Concat: 113628, Difference: 39166, Winner: BUILDER
- Length: 2, Count: 3, Iterations: 10, Builder: 3, Concat: 3, Difference: 0, Winner: TIED!
- Length: 2, Count: 3, Iterations: 100, Builder: 9, Concat: 12, Difference: 3, Winner: BUILDER
- Length: 2, Count: 3, Iterations: 1000, Builder: 89, Concat: 122, Difference: 33, Winner: BUILDER
- Length: 2, Count: 3, Iterations: 10000, Builder: 903, Concat: 1218, Difference: 315, Winner: BUILDER
- Length: 2, Count: 3, Iterations: 100000, Builder: 9154, Concat: 12461, Difference: 3307, Winner: BUILDER
- Length: 2, Count: 3, Iterations: 1000000, Builder: 95296, Concat: 138524, Difference: 43228, Winner: BUILDER
- Length: 2, Count: 4, Iterations: 10, Builder: 5, Concat: 3, Difference: 2, Winner: CONCAT
- Length: 2, Count: 4, Iterations: 100, Builder: 16, Concat: 27, Difference: 11, Winner: BUILDER
- Length: 2, Count: 4, Iterations: 1000, Builder: 168, Concat: 245, Difference: 77, Winner: BUILDER
- Length: 2, Count: 4, Iterations: 10000, Builder: 1455, Concat: 1789, Difference: 334, Winner: BUILDER
- Length: 2, Count: 4, Iterations: 100000, Builder: 11091, Concat: 15674, Difference: 4583, Winner: BUILDER
- Length: 2, Count: 4, Iterations: 1000000, Builder: 115609, Concat: 171761, Difference: 56152, Winner: BUILDER
- Length: 2, Count: 5, Iterations: 10, Builder: 2, Concat: 1, Difference: 1, Winner: CONCAT
- Length: 2, Count: 5, Iterations: 100, Builder: 15, Concat: 17, Difference: 2, Winner: BUILDER
- Length: 2, Count: 5, Iterations: 1000, Builder: 134, Concat: 173, Difference: 39, Winner: BUILDER
- Length: 2, Count: 5, Iterations: 10000, Builder: 1340, Concat: 1821, Difference: 481, Winner: BUILDER
- Length: 2, Count: 5, Iterations: 100000, Builder: 13638, Concat: 17684, Difference: 4046, Winner: BUILDER
- Length: 2, Count: 5, Iterations: 1000000, Builder: 135560, Concat: 175093, Difference: 39533, Winner: BUILDER
- Length: 2, Count: 6, Iterations: 10, Builder: 2, Concat: 2, Difference: 0, Winner: TIED!
- Length: 2, Count: 6, Iterations: 100, Builder: 16, Concat: 20, Difference: 4, Winner: BUILDER
- Length: 2, Count: 6, Iterations: 1000, Builder: 151, Concat: 199, Difference: 48, Winner: BUILDER
- Length: 2, Count: 6, Iterations: 10000, Builder: 1590, Concat: 1938, Difference: 348, Winner: BUILDER
- Length: 2, Count: 6, Iterations: 100000, Builder: 15130, Concat: 20913, Difference: 5783, Winner: BUILDER
- Length: 2, Count: 6, Iterations: 1000000, Builder: 152329, Concat: 201839, Difference: 49510, Winner: BUILDER
- Length: 2, Count: 7, Iterations: 10, Builder: 2, Concat: 2, Difference: 0, Winner: TIED!
- Length: 2, Count: 7, Iterations: 100, Builder: 17, Concat: 23, Difference: 6, Winner: BUILDER
- Length: 2, Count: 7, Iterations: 1000, Builder: 163, Concat: 320, Difference: 157, Winner: BUILDER
- Length: 2, Count: 7, Iterations: 10000, Builder: 1645, Concat: 2222, Difference: 577, Winner: BUILDER
- Length: 2, Count: 7, Iterations: 100000, Builder: 17120, Concat: 23480, Difference: 6360, Winner: BUILDER
- Length: 2, Count: 7, Iterations: 1000000, Builder: 172656, Concat: 233056, Difference: 60400, Winner: BUILDER
- Length: 2, Count: 8, Iterations: 10, Builder: 3, Concat: 5, Difference: 2, Winner: BUILDER
- Length: 2, Count: 8, Iterations: 100, Builder: 18, Concat: 25, Difference: 7, Winner: BUILDER
- Length: 2, Count: 8, Iterations: 1000, Builder: 181, Concat: 249, Difference: 68, Winner: BUILDER
- Length: 2, Count: 8, Iterations: 10000, Builder: 1885, Concat: 2758, Difference: 873, Winner: BUILDER
- Length: 2, Count: 8, Iterations: 100000, Builder: 19000, Concat: 26211, Difference: 7211, Winner: BUILDER
- Length: 2, Count: 8, Iterations: 1000000, Builder: 190201, Concat: 261162, Difference: 70961, Winner: BUILDER
- Length: 4, Count: 2, Iterations: 10, Builder: 2, Concat: 1, Difference: 1, Winner: CONCAT
- Length: 4, Count: 2, Iterations: 100, Builder: 9, Concat: 10, Difference: 1, Winner: BUILDER
- Length: 4, Count: 2, Iterations: 1000, Builder: 80, Concat: 92, Difference: 12, Winner: BUILDER
- Length: 4, Count: 2, Iterations: 10000, Builder: 896, Concat: 1059, Difference: 163, Winner: BUILDER
- Length: 4, Count: 2, Iterations: 100000, Builder: 8563, Concat: 9752, Difference: 1189, Winner: BUILDER
- Length: 4, Count: 2, Iterations: 1000000, Builder: 82629, Concat: 95327, Difference: 12698, Winner: BUILDER
- Length: 4, Count: 3, Iterations: 10, Builder: 2, Concat: 3, Difference: 1, Winner: BUILDER
- Length: 4, Count: 3, Iterations: 100, Builder: 10, Concat: 12, Difference: 2, Winner: BUILDER
- Length: 4, Count: 3, Iterations: 1000, Builder: 109, Concat: 117, Difference: 8, Winner: BUILDER
- Length: 4, Count: 3, Iterations: 10000, Builder: 1089, Concat: 1300, Difference: 211, Winner: BUILDER
- Length: 4, Count: 3, Iterations: 100000, Builder: 11143, Concat: 12957, Difference: 1814, Winner: BUILDER
- Length: 4, Count: 3, Iterations: 1000000, Builder: 113748, Concat: 123950, Difference: 10202, Winner: BUILDER
- Length: 4, Count: 4, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 4, Count: 4, Iterations: 100, Builder: 14, Concat: 15, Difference: 1, Winner: BUILDER
- Length: 4, Count: 4, Iterations: 1000, Builder: 136, Concat: 149, Difference: 13, Winner: BUILDER
- Length: 4, Count: 4, Iterations: 10000, Builder: 1464, Concat: 1490, Difference: 26, Winner: BUILDER
- Length: 4, Count: 4, Iterations: 100000, Builder: 13774, Concat: 15073, Difference: 1299, Winner: BUILDER
- Length: 4, Count: 4, Iterations: 1000000, Builder: 136729, Concat: 149945, Difference: 13216, Winner: BUILDER
- Length: 4, Count: 5, Iterations: 10, Builder: 2, Concat: 1, Difference: 1, Winner: CONCAT
- Length: 4, Count: 5, Iterations: 100, Builder: 16, Concat: 18, Difference: 2, Winner: BUILDER
- Length: 4, Count: 5, Iterations: 1000, Builder: 180, Concat: 170, Difference: 10, Winner: CONCAT
- Length: 4, Count: 5, Iterations: 10000, Builder: 1728, Concat: 1696, Difference: 32, Winner: CONCAT
- Length: 4, Count: 5, Iterations: 100000, Builder: 16131, Concat: 17884, Difference: 1753, Winner: BUILDER
- Length: 4, Count: 5, Iterations: 1000000, Builder: 160597, Concat: 177490, Difference: 16893, Winner: BUILDER
- Length: 4, Count: 6, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 4, Count: 6, Iterations: 100, Builder: 19, Concat: 21, Difference: 2, Winner: BUILDER
- Length: 4, Count: 6, Iterations: 1000, Builder: 183, Concat: 201, Difference: 18, Winner: BUILDER
- Length: 4, Count: 6, Iterations: 10000, Builder: 1819, Concat: 1957, Difference: 138, Winner: BUILDER
- Length: 4, Count: 6, Iterations: 100000, Builder: 18452, Concat: 20126, Difference: 1674, Winner: BUILDER
- Length: 4, Count: 6, Iterations: 1000000, Builder: 183935, Concat: 206827, Difference: 22892, Winner: BUILDER
- Length: 4, Count: 7, Iterations: 10, Builder: 4, Concat: 4, Difference: 0, Winner: TIED!
- Length: 4, Count: 7, Iterations: 100, Builder: 21, Concat: 22, Difference: 1, Winner: BUILDER
- Length: 4, Count: 7, Iterations: 1000, Builder: 202, Concat: 222, Difference: 20, Winner: BUILDER
- Length: 4, Count: 7, Iterations: 10000, Builder: 2177, Concat: 2899, Difference: 722, Winner: BUILDER
- Length: 4, Count: 7, Iterations: 100000, Builder: 21183, Concat: 23716, Difference: 2533, Winner: BUILDER
- Length: 4, Count: 7, Iterations: 1000000, Builder: 214112, Concat: 240613, Difference: 26501, Winner: BUILDER
- Length: 4, Count: 8, Iterations: 10, Builder: 3, Concat: 4, Difference: 1, Winner: BUILDER
- Length: 4, Count: 8, Iterations: 100, Builder: 23, Concat: 26, Difference: 3, Winner: BUILDER
- Length: 4, Count: 8, Iterations: 1000, Builder: 231, Concat: 259, Difference: 28, Winner: BUILDER
- Length: 4, Count: 8, Iterations: 10000, Builder: 2362, Concat: 2712, Difference: 350, Winner: BUILDER
- Length: 4, Count: 8, Iterations: 100000, Builder: 24309, Concat: 27940, Difference: 3631, Winner: BUILDER
- Length: 4, Count: 8, Iterations: 1000000, Builder: 238219, Concat: 263220, Difference: 25001, Winner: BUILDER
- Length: 6, Count: 2, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 6, Count: 2, Iterations: 100, Builder: 9, Concat: 10, Difference: 1, Winner: BUILDER
- Length: 6, Count: 2, Iterations: 1000, Builder: 90, Concat: 93, Difference: 3, Winner: BUILDER
- Length: 6, Count: 2, Iterations: 10000, Builder: 1011, Concat: 937, Difference: 74, Winner: CONCAT
- Length: 6, Count: 2, Iterations: 100000, Builder: 9249, Concat: 9457, Difference: 208, Winner: BUILDER
- Length: 6, Count: 2, Iterations: 1000000, Builder: 90435, Concat: 96055, Difference: 5620, Winner: BUILDER
- Length: 6, Count: 3, Iterations: 10, Builder: 2, Concat: 1, Difference: 1, Winner: CONCAT
- Length: 6, Count: 3, Iterations: 100, Builder: 12, Concat: 12, Difference: 0, Winner: TIED!
- Length: 6, Count: 3, Iterations: 1000, Builder: 118, Concat: 119, Difference: 1, Winner: BUILDER
- Length: 6, Count: 3, Iterations: 10000, Builder: 1138, Concat: 1178, Difference: 40, Winner: BUILDER
- Length: 6, Count: 3, Iterations: 100000, Builder: 11980, Concat: 12030, Difference: 50, Winner: BUILDER
- Length: 6, Count: 3, Iterations: 1000000, Builder: 117333, Concat: 124298, Difference: 6965, Winner: BUILDER
- Length: 6, Count: 4, Iterations: 10, Builder: 2, Concat: 1, Difference: 1, Winner: CONCAT
- Length: 6, Count: 4, Iterations: 100, Builder: 15, Concat: 15, Difference: 0, Winner: TIED!
- Length: 6, Count: 4, Iterations: 1000, Builder: 141, Concat: 152, Difference: 11, Winner: BUILDER
- Length: 6, Count: 4, Iterations: 10000, Builder: 1414, Concat: 1633, Difference: 219, Winner: BUILDER
- Length: 6, Count: 4, Iterations: 100000, Builder: 13922, Concat: 15112, Difference: 1190, Winner: BUILDER
- Length: 6, Count: 4, Iterations: 1000000, Builder: 141526, Concat: 158098, Difference: 16572, Winner: BUILDER
- Length: 6, Count: 5, Iterations: 10, Builder: 3, Concat: 3, Difference: 0, Winner: TIED!
- Length: 6, Count: 5, Iterations: 100, Builder: 16, Concat: 18, Difference: 2, Winner: BUILDER
- Length: 6, Count: 5, Iterations: 1000, Builder: 164, Concat: 180, Difference: 16, Winner: BUILDER
- Length: 6, Count: 5, Iterations: 10000, Builder: 1649, Concat: 1886, Difference: 237, Winner: BUILDER
- Length: 6, Count: 5, Iterations: 100000, Builder: 16688, Concat: 19168, Difference: 2480, Winner: BUILDER
- Length: 6, Count: 5, Iterations: 1000000, Builder: 168085, Concat: 185004, Difference: 16919, Winner: BUILDER
- Length: 6, Count: 6, Iterations: 10, Builder: 3, Concat: 25, Difference: 22, Winner: BUILDER
- Length: 6, Count: 6, Iterations: 100, Builder: 19, Concat: 20, Difference: 1, Winner: BUILDER
- Length: 6, Count: 6, Iterations: 1000, Builder: 180, Concat: 196, Difference: 16, Winner: BUILDER
- Length: 6, Count: 6, Iterations: 10000, Builder: 1901, Concat: 2108, Difference: 207, Winner: BUILDER
- Length: 6, Count: 6, Iterations: 100000, Builder: 19037, Concat: 21093, Difference: 2056, Winner: BUILDER
- Length: 6, Count: 6, Iterations: 1000000, Builder: 192310, Concat: 213582, Difference: 21272, Winner: BUILDER
- Length: 6, Count: 7, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 6, Count: 7, Iterations: 100, Builder: 21, Concat: 22, Difference: 1, Winner: BUILDER
- Length: 6, Count: 7, Iterations: 1000, Builder: 205, Concat: 223, Difference: 18, Winner: BUILDER
- Length: 6, Count: 7, Iterations: 10000, Builder: 2334, Concat: 2269, Difference: 65, Winner: CONCAT
- Length: 6, Count: 7, Iterations: 100000, Builder: 21574, Concat: 23561, Difference: 1987, Winner: BUILDER
- Length: 6, Count: 7, Iterations: 1000000, Builder: 221312, Concat: 247530, Difference: 26218, Winner: BUILDER
- Length: 6, Count: 8, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 6, Count: 8, Iterations: 100, Builder: 25, Concat: 26, Difference: 1, Winner: BUILDER
- Length: 6, Count: 8, Iterations: 1000, Builder: 238, Concat: 375, Difference: 137, Winner: BUILDER
- Length: 6, Count: 8, Iterations: 10000, Builder: 2376, Concat: 2734, Difference: 358, Winner: BUILDER
- Length: 6, Count: 8, Iterations: 100000, Builder: 24489, Concat: 27129, Difference: 2640, Winner: BUILDER
- Length: 6, Count: 8, Iterations: 1000000, Builder: 241470, Concat: 275563, Difference: 34093, Winner: BUILDER
- Length: 8, Count: 2, Iterations: 10, Builder: 3, Concat: 1, Difference: 2, Winner: CONCAT
- Length: 8, Count: 2, Iterations: 100, Builder: 10, Concat: 9, Difference: 1, Winner: CONCAT
- Length: 8, Count: 2, Iterations: 1000, Builder: 253, Concat: 235, Difference: 18, Winner: CONCAT
- Length: 8, Count: 2, Iterations: 10000, Builder: 973, Concat: 984, Difference: 11, Winner: BUILDER
- Length: 8, Count: 2, Iterations: 100000, Builder: 9445, Concat: 9905, Difference: 460, Winner: BUILDER
- Length: 8, Count: 2, Iterations: 1000000, Builder: 93467, Concat: 98951, Difference: 5484, Winner: BUILDER
- Length: 8, Count: 3, Iterations: 10, Builder: 2, Concat: 1, Difference: 1, Winner: CONCAT
- Length: 8, Count: 3, Iterations: 100, Builder: 12, Concat: 12, Difference: 0, Winner: TIED!
- Length: 8, Count: 3, Iterations: 1000, Builder: 116, Concat: 122, Difference: 6, Winner: BUILDER
- Length: 8, Count: 3, Iterations: 10000, Builder: 1313, Concat: 1523, Difference: 210, Winner: BUILDER
- Length: 8, Count: 3, Iterations: 100000, Builder: 12116, Concat: 12796, Difference: 680, Winner: BUILDER
- Length: 8, Count: 3, Iterations: 1000000, Builder: 123029, Concat: 128049, Difference: 5020, Winner: BUILDER
- Length: 8, Count: 4, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 8, Count: 4, Iterations: 100, Builder: 15, Concat: 16, Difference: 1, Winner: BUILDER
- Length: 8, Count: 4, Iterations: 1000, Builder: 146, Concat: 156, Difference: 10, Winner: BUILDER
- Length: 8, Count: 4, Iterations: 10000, Builder: 1547, Concat: 1551, Difference: 4, Winner: BUILDER
- Length: 8, Count: 4, Iterations: 100000, Builder: 15031, Concat: 15743, Difference: 712, Winner: BUILDER
- Length: 8, Count: 4, Iterations: 1000000, Builder: 147404, Concat: 157996, Difference: 10592, Winner: BUILDER
- Length: 8, Count: 5, Iterations: 10, Builder: 3, Concat: 1, Difference: 2, Winner: CONCAT
- Length: 8, Count: 5, Iterations: 100, Builder: 18, Concat: 19, Difference: 1, Winner: BUILDER
- Length: 8, Count: 5, Iterations: 1000, Builder: 195, Concat: 229, Difference: 34, Winner: BUILDER
- Length: 8, Count: 5, Iterations: 10000, Builder: 1784, Concat: 1999, Difference: 215, Winner: BUILDER
- Length: 8, Count: 5, Iterations: 100000, Builder: 17386, Concat: 18998, Difference: 1612, Winner: BUILDER
- Length: 8, Count: 5, Iterations: 1000000, Builder: 175296, Concat: 189133, Difference: 13837, Winner: BUILDER
- Length: 8, Count: 6, Iterations: 10, Builder: 3, Concat: 2, Difference: 1, Winner: CONCAT
- Length: 8, Count: 6, Iterations: 100, Builder: 20, Concat: 22, Difference: 2, Winner: BUILDER
- Length: 8, Count: 6, Iterations: 1000, Builder: 198, Concat: 215, Difference: 17, Winner: BUILDER
- Length: 8, Count: 6, Iterations: 10000, Builder: 2087, Concat: 2183, Difference: 96, Winner: BUILDER
- Length: 8, Count: 6, Iterations: 100000, Builder: 20087, Concat: 21833, Difference: 1746, Winner: BUILDER
- Length: 8, Count: 6, Iterations: 1000000, Builder: 201399, Concat: 219362, Difference: 17963, Winner: BUILDER
- Length: 8, Count: 7, Iterations: 10, Builder: 3, Concat: 3, Difference: 0, Winner: TIED!
- Length: 8, Count: 7, Iterations: 100, Builder: 23, Concat: 25, Difference: 2, Winner: BUILDER
- Length: 8, Count: 7, Iterations: 1000, Builder: 224, Concat: 245, Difference: 21, Winner: BUILDER
- Length: 8, Count: 7, Iterations: 10000, Builder: 2251, Concat: 2548, Difference: 297, Winner: BUILDER
- Length: 8, Count: 7, Iterations: 100000, Builder: 22795, Concat: 25432, Difference: 2637, Winner: BUILDER
- Length: 8, Count: 7, Iterations: 1000000, Builder: 229532, Concat: 249295, Difference: 19763, Winner: BUILDER
- Length: 8, Count: 8, Iterations: 10, Builder: 4, Concat: 3, Difference: 1, Winner: CONCAT
- Length: 8, Count: 8, Iterations: 100, Builder: 26, Concat: 28, Difference: 2, Winner: BUILDER
- Length: 8, Count: 8, Iterations: 1000, Builder: 251, Concat: 273, Difference: 22, Winner: BUILDER
- Length: 8, Count: 8, Iterations: 10000, Builder: 2510, Concat: 2831, Difference: 321, Winner: BUILDER
- Length: 8, Count: 8, Iterations: 100000, Builder: 25220, Concat: 27881, Difference: 2661, Winner: BUILDER
- Length: 8, Count: 8, Iterations: 1000000, Builder: 255338, Concat: 287110, Difference: 31772, Winner: BUILDER
- Builder Win: 135
- Concat Win: 24
- Tied: 9
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement