12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- local n = require('test.functional.testnvim')()
- local clear = n.clear
- local exec_lua = n.exec_lua
- describe('extmark perf', function()
- before_each(function()
- clear()
- exec_lua([[
- out = {}
- function start()
- ts = vim.uv.hrtime()
- end
- function stop(name)
- out[#out+1] = ('%14.6f ms - %s'):format((vim.uv.hrtime() - ts) / 1000000, name)
- end
- ]])
- end)
- after_each(function()
- for _, line in ipairs(exec_lua([[return out]])) do
- print(line)
- end
- end)
- it('repeatedly calling nvim_buf_clear_namespace #28615', function()
- exec_lua([[
- vim.api.nvim_buf_set_lines(0, 0, -1, true, { 'foo', 'bar' })
- local ns0 = vim.api.nvim_create_namespace('ns0')
- local ns1 = vim.api.nvim_create_namespace('ns1')
- for _ = 1, 10000 do
- vim.api.nvim_buf_set_extmark(0, ns0, 0, 0, {})
- end
- vim.api.nvim_buf_set_extmark(0, ns1, 1, 0, {})
- start()
- for _ = 1, 10000 do
- vim.api.nvim_buf_clear_namespace(0, ns1, 0, -1)
- end
- stop('nvim_buf_clear_namespace')
- ]])
- end)
- end)
|