1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib
Petr Makhnev a39c26507c
builtin: speed up string concatenation and repeat() method with vmemcpy instead of for loop for copying data (#18206)
These changes almost do not speed up the program with the `-prod` flag,
since modern С compilers can do such optimization on their own, but in
normal mode, the performance gain is from 1.6 (concatenation) to 1.8 (repeat) times.

Concatenation:
Old (`for` loop):
Time (mean):          3.699 s +- 0.071 s  [User: 3.629 s, System: 0.069 s]
Range (min ... max):  3.548 s ... 3.741 s  10 runs

New (vmemcpy):
Time (mean):          2.305 s +- 0.065 s  [User: 2.263 s, System: 0.041 s]
Range (min ... max):  2.172 s ... 2.355 s  10 runs

`vmemcpy version` ran 1.60 +- 0.05 times faster than 'for loop version'
2023-05-19 16:18:23 +03:00
..
arrays
benchmark
bitfield bitfield: add [inline] for very commonly used simple methods 2023-03-30 11:53:02 +03:00
builtin builtin: speed up string concatenation and repeat() method with vmemcpy instead of for loop for copying data (#18206) 2023-05-19 16:18:23 +03:00
cli cli: fix a panic and an infinite loop, when command flag descriptions have multiple lines (#17981) 2023-04-18 12:37:26 +03:00
clipboard
compress
context
crypto crypto.pem: fix typo in decode.v (#17896) 2023-04-06 12:12:45 +03:00
datatypes fmt: remove redundant parenthesis in the complex infix expr (#17873) 2023-04-04 13:47:48 +03:00
db cgen: fix option unwrap from ovoid function (#18173) 2023-05-14 14:38:14 +03:00
dl
dlmalloc checker: disallow struct int to ptr outside unsafe (#17923) 2023-04-13 07:38:21 +02:00
encoding leb128: make decoding return the number of decoded bytes, in addition to the decoded value (#17912) 2023-04-09 10:32:49 +03:00
eventbus
flag flag: fix typo in flag.v (#18109) 2023-05-04 21:23:02 +03:00
fontstash
gg gg: make create_image() return !Image 2023-03-29 19:04:41 +02:00
gx
hash all: 2023 copyright 2023-03-28 22:55:57 +02:00
io checker: check option fn returning error (fix #17423) (#17438) 2023-03-02 15:49:50 +02:00
js
json json: skip via the "-" attribute 2023-05-02 16:41:32 +02:00
log all: 2023 copyright 2023-03-28 22:55:57 +02:00
maps
math math: add maxof[T]() and minof[T]() (#17905) 2023-04-07 15:48:37 +03:00
mssql
mysql
net net.mbedtls: make compile with -prod 2023-05-18 11:31:53 +02:00
orm orm: allow structs without the id field, more flexible primary keys (#18140) 2023-05-09 00:21:42 +03:00
os os: make SignalHandler public (#18115) 2023-05-06 14:59:06 +03:00
pg
picoev all: 2023 copyright 2023-03-28 22:55:57 +02:00
picohttpparser all: 2023 copyright 2023-03-28 22:55:57 +02:00
rand rand: update documentation for normal and normal_pair (#17898) 2023-04-06 17:52:09 +03:00
readline readline: README.md change '?' to '!' (#17868) 2023-04-04 02:51:30 +03:00
regex regex: remove outdated examples in README.md (#17971) 2023-04-16 13:17:24 +03:00
runtime all: 2023 copyright 2023-03-28 22:55:57 +02:00
semver V 0.3.4 2023-05-01 00:58:10 +03:00
sokol sokol: enable VALIDATE_NON_FATAL 2023-03-30 00:10:49 +02:00
sqlite cgen: fix option unwrap from ovoid function (#18173) 2023-05-14 14:38:14 +03:00
stbi all: 2023 copyright 2023-03-28 22:55:57 +02:00
strconv strconv.atoi: optimization (#17913) 2023-04-09 05:54:38 +02:00
strings strings: simplify Builder.drain_builder; add test (#17846) 2023-04-02 00:03:00 +03:00
sync all: 2023 copyright 2023-03-28 22:55:57 +02:00
szip
term term.ui: cleanup of meaningless comment 2023-04-14 11:13:50 +03:00
time time: add new method year_day and the tests for it (#18107) 2023-05-12 09:27:20 +03:00
toml toml: fix multiline array bool scanner, add test (#18068) 2023-04-28 01:30:47 +03:00
v all: allow fixed array returns (#17931) 2023-05-18 11:30:49 +02:00
vweb vweb: make controllers of struct Controller public (#18153) 2023-05-10 18:31:43 +03:00
wasm wasm: add basic debuginfo through name section (#18130) 2023-05-08 09:31:36 +03:00
x cgen: fix comptimeselector option propagation (#18092) 2023-05-03 08:31:48 +03:00
.vdocignore doc: ignore builtin/wasm (#17480) 2023-03-03 12:35:21 +02:00
README.md

vlib Documentation

vlib is the term for all modules included by default with V and maintained as part of the V source code repository.

Some included modules depend on third party libraries, and these are kept separate in the thirdparty directory at the root level of the source repository.