Mercurial > vim
annotate src/testdir/test_bench_regexp.vim @ 24610:c1263588156b v8.2.2844
patch 8.2.2844: Vim9: memory leak when using searchpair()
Commit: https://github.com/vim/vim/commit/24f720998f852dd1ba861ec67d56625a507b915e
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri May 7 20:43:54 2021 +0200
patch 8.2.2844: Vim9: memory leak when using searchpair()
Problem: Vim9: memory leak when using searchpair().
Solution: Free the v_instr field.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 07 May 2021 20:45:03 +0200 |
parents | 16460964c304 |
children |
rev | line source |
---|---|
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test for benchmarking the RE engine |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 source check.vim |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 CheckFeature reltime |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 func Measure(file, pattern, arg) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 for re in range(3) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 let sstart = reltime() |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 let before = ['set re=' .. re] |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 let after = ['call search("' .. escape(a:pattern, '\\') .. '", "", "", 10000)'] |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 let after += ['quit!'] |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 let args = empty(a:arg) ? '' : a:arg .. ' ' .. a:file |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 call RunVim(before, after, args) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 let s = 'file: ' .. a:file .. ', re: ' .. re .. |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 \ ', time: ' .. reltimestr(reltime(sstart)) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 call writefile([s], 'benchmark.out', "a") |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 endfor |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 endfunc |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 func Test_Regex_Benchmark() |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 call Measure('samples/re.freeze.txt', '\s\+\%#\@<!$', '+5') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 endfunc |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 " vim: shiftwidth=2 sts=2 expandtab |