From 0549b1e5a8a3132005e275d6026db8003cb067d2 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 26 Oct 2021 11:32:46 +0800 Subject: *rename folder --- Data/DefaultContent/Libraries/lbase64/bench.lua | 76 +++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 Data/DefaultContent/Libraries/lbase64/bench.lua (limited to 'Data/DefaultContent/Libraries/lbase64/bench.lua') diff --git a/Data/DefaultContent/Libraries/lbase64/bench.lua b/Data/DefaultContent/Libraries/lbase64/bench.lua new file mode 100644 index 0000000..d24c1bf --- /dev/null +++ b/Data/DefaultContent/Libraries/lbase64/bench.lua @@ -0,0 +1,76 @@ +local base64 = require'base64' +local N = 10000000 +local st = {} +local letters = ' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' + .. 'абвгдеёжзийклмнопрстуфхцшщчъыьэюя' + .. 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦШЩЧЪЫЬЭЮЯ' +local nletters = #letters +for i = 1, N do + local j = math.random( nletters ) + st[i] = letters:sub( j, j ) +end +local s = table.concat( st ) +local t = os.clock() +local encoded = base64.encode( s ) +local encodetime = os.clock() - t + +t = os.clock() +local decoded = base64.decode( encoded ) +local decodetime = os.clock() - t + +assert( s == decoded ) +print('Common text') +print(('Encoding: %d bytes/sec'):format( math.floor(N/encodetime))) +print(('Decoding: %d bytes/sec'):format( math.floor(N/decodetime))) +collectgarbage() + +t = os.clock() +encoded = base64.encode( s, nil, true ) +encodetime = os.clock() - t + +t = os.clock() +decoded = base64.decode( encoded, nil, true ) +assert( s == decoded ) +decodetime = os.clock() - t +print('Common text (cache)') +print(('Encoding: %d bytes/sec'):format( math.floor(N/encodetime))) +print(('Decoding: %d bytes/sec'):format( math.floor(N/decodetime))) +collectgarbage() + +local lt = {} +for i = 0, 255 do + lt[i] = string.char(i) +end +nletters = #lt +for i = 1, N do + local j = math.random( nletters ) + st[i] = lt[j] +end +s = table.concat( st ) + +t = os.clock() +encoded = base64.encode( s, nil ) +encodetime = os.clock() - t + +t = os.clock() +decoded = base64.decode( encoded ) +decodetime = os.clock() - t + +assert( s == decoded ) +print('Binary') +print(('Encoding: %d bytes/sec'):format( math.floor(N/encodetime))) +print(('Decoding: %d bytes/sec'):format( math.floor(N/decodetime))) +collectgarbage() + +t = os.clock() +encoded = base64.encode( s, nil, true ) +encodetime = os.clock() - t + +t = os.clock() +decoded = base64.decode( encoded, nil, true ) +assert( s == decoded ) +decodetime = os.clock() - t +print('Binary (cache)') +print(('Encoding: %d bytes/sec'):format( math.floor(N/encodetime))) +print(('Decoding: %d bytes/sec'):format( math.floor(N/decodetime))) +collectgarbage() -- cgit v1.1-26-g67d0