This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local fun = require 'fun' | |
| local l337 = function(s) | |
| return (s:lower():gsub('.', { | |
| a = 'a', b = '8', c = 'c', d = 'd', e = 'e', f = 'f', | |
| g = '6', h = '4', i = '9', j = '7', k = '0', l = '1', | |
| m = '44', n = '11', o = '0', p = '17', q = '9', r = '12', | |
| s = '5', t = '7', u = '4', v = '5', w = '22', x = '8', y = '7', z = '5', | |
| })) | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package main | |
| import ( | |
| "flag" | |
| "fmt" | |
| "io" | |
| "net/http" | |
| "time" | |
| gzip "github.com/klauspost/compress/gzip" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require'fiber'.self().storage.console.prompt = nil | |
| getmetatable(require'fiber'.self().storage.console).__index.prompt = nil | |
| local c = require 'clock' local f = require 'fiber' do | |
| local eval = getmetatable(f.self().storage.console).__index.eval | |
| local function timeit(s, ...) | |
| f.self().storage.cmd_time=c.time()-s | |
| return ... | |
| end | |
| local my_eval = function(...) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local fun = require 'fun' local iter = fun.iter local wrap = fun.wrap local sleep = require 'fiber'.sleep local function yield_gen_x(i, state_x, ...) if state_x == nil then return nil end return {i, state_x}, ... end local function yield_gen(param, state) local n, no, gen_x, param_x = param[1], param[2], param[3], param[4] local i, state_x = state[1], state[2] if i % n == 0 then sleep(no) end return yield_gen_x(i+1, gen_x(param_x, state_x)) end local function yield1(n, no, gen, param, state) assert(n >= 0, "invalid first argument to yield") assert(no >= 0, "invalid second argument to yield") return wrap(yield_gen, { n, no, gen, param }, { 0, state }) end local function method_yield(self, n, no) return yield1(n, no or 0, self.gen, self.param, self.state) end getmetatable(iter{}).__index.yield = method_yield getmetatable(iter{}).__index.sleep = method_yield local function export_yield(n, no, gen, param, state) return yield1(n, no or 0, iter(gen, param, state)) end fun.yield = export_yield fun.sleep = export_yie |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local workdir = './.tnt/' | |
| require('fio').mkdir(workdir) | |
| default_cfg = { | |
| pid_file = workdir, | |
| wal_dir = workdir, | |
| snap_dir = workdir, | |
| vinyl_dir = workdir, | |
| logger = workdir, | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| > tarantool -l fiber -l clock -e 'fiber.create(function() while true do while clock.time() < fiber.time()+0.1 do end fiber.sleep(0.01) end end)' test.lua | |
| entering the event loop | |
| e:100.011µs p:0.017µs t:99.998µs | |
| e:100.042µs p:0.010µs t:100.035µs | |
| e:100.013µs p:0.015µs t:100.004µs | |
| e:100.005µs p:0.006µs t:99.994µs | |
| e:100.007µs p:0.004µs t:99.996µs | |
| e:100.010µs p:0.009µs t:99.993µs | |
| e:100.012µs p:0.016µs t:100.000µs | |
| e:100.009µs p:0.050µs t:99.999µs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local ffi = require 'ffi' | |
| local ip = "127.1.2.3" | |
| local p = ffi.cast('const uint8_t *', ip) | |
| local ffi_string = ffi.string | |
| local tonumber = tonumber | |
| local getaddr_ffi = function(ip) | |
| local prev = 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local record fun | |
| record iterator<T> | |
| sum: function(iterator<number>): number | |
| reduce: function<R>(iterator<T>, (function(R, T): R), R): R | |
| end | |
| iter: function<T>({T}): iterator<T> | |
| sum: function({number}): number | |
| reduce: function<T,R>({T}, (function(R,T):R), R): R |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env tarantool | |
| local uuid = require 'uuid' | |
| local fun = require 'fun' | |
| local fiber = require 'fiber' | |
| local instance_name = assert(arg[1], "instance_name is required") | |
| local config = { | |
| replication = {'127.0.0.1:3301', '127.0.0.1:3302', '127.0.0.1:3303'}, | |
| replication_connect_quorum = 2, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| mkdir "$HOME/tarantool"; | |
| git clone --recurse-submodules https://github.com/tarantool/tarantool.git && cd tarantool; | |
| for tag in $(git tag | sort | perl -lnE '$h{$mj}=$_ if (($mj) = $_=~m{^(1\.10|2\.\d+)\.\d+$});}{say join " ", sort keys %h'); do | |
| echo "================== Installing $tag ================"; | |
| git clean -xdf .; | |
| git checkout "$tag" \ | |
| && git clean -xdf . \ | |
| && git pull origin "$tag" \ | |
| && git reset --hard "origin/$tag" \ | |
| && git submodule update --init --recursive --force \ |