1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

15520 Commits

Author SHA1 Message Date
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
Alexander Medvednikov
f67952fe84 doc: use u8 instead of byte 2023-05-18 12:24:00 +02:00
Alexander Medvednikov
cc47c78f39 net.mbedtls: make compile with -prod 2023-05-18 11:31:53 +02:00
Felipe Pena
9d9785cc05
all: allow fixed array returns (#17931) 2023-05-18 11:30:49 +02:00
kbkpbot
c8d2098a14
net.websocket: make thread safe/concurrent (#18179) 2023-05-18 11:27:00 +02:00
Felipe Pena
1e88b1ab3e
cgen: fix missing panic message for 'option not set' on debug (#18168) 2023-05-18 11:25:19 +02:00
Felipe Pena
273f46f810
checker: fix generic argument resolution when mixed order on next call (#18192) 2023-05-18 11:24:06 +02:00
Leon Arndt
2c95b9be32
examples: removed unused line of code (#18194) 2023-05-18 11:23:37 +02:00
yuyi
2bb24ee739
fmt: implement comments inside sumtype declaration (#18189) 2023-05-18 11:22:26 +02:00
yuyi
ddb8e09fec
parser, checker: fix generic fn variable assignment in generic fn (#18180) 2023-05-17 03:06:33 +03:00
yuyi
35f2a0fb66
fmt: fix formating of fn decl with end comments (#18181) 2023-05-17 03:05:59 +03:00
Swastik Baranwal
ee7d34e650
checker: allow i32 in enum MyEnum as i32 { (#18172) 2023-05-16 08:09:13 +03:00
Felipe Pena
a7f84e79f8
cgen: fix option unwrap from ovoid function (#18173) 2023-05-14 14:38:14 +03:00
Felipe Pena
d4072bfc22
cgen: fix option with multi return assign (#18174) 2023-05-14 13:50:04 +03:00
Felipe Pena
bfb5a770b2
changelog: update CHANGELOG.md (#18175) 2023-05-14 12:57:31 +03:00
yuyi
814d6823b4
checker: check generic undefined operation (fix #18162) (#18166) 2023-05-13 06:54:08 +03:00
Alexander Medvednikov
1aadd3e59c ci: build news fetcher with -prod 2023-05-13 02:15:58 +02:00
Felipe Pena
47761a42e9
all: attr for enum fields (+ json encode/decode) (#18163) 2023-05-13 01:08:30 +02:00
yuyi
8482bc4626
ast, parser: fix generic fntype to concrete types with later generic fn definition (fix #18156) (#18157) 2023-05-12 15:52:41 +03:00
yuyi
2351856fc3
checker: clean up in struct_init() (#18154) 2023-05-12 09:34:55 +03:00
Turiiya
67e3061ea1
net: fix typos (#18164) 2023-05-12 09:31:27 +03:00
acimnotes
790afbce94
time: add new method year_day and the tests for it (#18107) 2023-05-12 09:27:20 +03:00
Swastik Baranwal
447b45ca8c
checker: disallow non-ptr elem in init ptr array (#18161) 2023-05-12 08:56:22 +03:00
Swastik Baranwal
d8cf65df1a
checker: only allow &u8 with byteptr and itself (#18146) 2023-05-11 18:28:49 +10:00
yuyi
a87f2d9d11
checker: fix generic struct init with generic struct items (#18152) 2023-05-10 19:06:34 +03:00
yuyi
492a93ecd9
vweb: make controllers of struct Controller public (#18153) 2023-05-10 18:31:43 +03:00
Felipe Pena
d62c4c9fc1
checker: add missing check for global var on assignment to shared var (#18125) 2023-05-10 18:30:57 +03:00
Mark aka walkingdevel
61a5fbea35
autofree: fix cross var assigns with strings (#18147) 2023-05-10 00:06:31 +02:00
Felipe Pena
0be74aa613
cgen: fix option ptr default struct initialization (#18141) 2023-05-09 21:40:51 +03:00
yuyi
9aa5e3fe4b
cgen: clean up in index_of_map() (#18145) 2023-05-09 21:12:29 +03:00
yuyi
89f3288fb0
cgen: fix nested map of fn call (#18142) 2023-05-09 16:19:25 +03:00
Turiiya
e2e6c9660c
net.html: add &Tag get_tag methods to find first occurrence (#18139) 2023-05-09 00:22:52 +03:00
Felipe Pena
1e56a69c02
checker, parser: save shared/atomic specifier for ast.Param (#18124) 2023-05-09 00:22:22 +03:00
Mark aka walkingdevel
6ac09e605e
orm: allow structs without the id field, more flexible primary keys (#18140) 2023-05-09 00:21:42 +03:00
yuyi
72b2f22057
cgen: fix generics array of threads with multiple types (#18137) 2023-05-08 13:24:28 +03:00
yuyi
87623b367c
parser: clean up parse_ident() (#18138) 2023-05-08 13:19:03 +03:00
l-m
3a06b55388
wasm: add basic debuginfo through name section (#18130) 2023-05-08 09:31:36 +03:00
Swastik Baranwal
5bdf94a7bc
checker: disallow mut for blank idents (#18114) 2023-05-08 01:26:36 +02:00
Alexander Medvednikov
b50dac5e9a changelog: upcoming 0.3.5 changelog 2023-05-07 19:55:27 +02:00
yuyi
a0a8b7e47a
ast, parser, checker, cgen, fmt: implement generic fn params (fix #14937) (#18126) 2023-05-07 19:53:56 +02:00
Turiiya
39ec1134fa
net.html: fix parsing of nested quoted strings in code tags (#18123) 2023-05-07 03:55:02 +03:00
Felipe Pena
1c3af091f7
cgen, json: fix option ptr declaration and dumping (#18119) 2023-05-07 03:54:43 +03:00
Jacques Supcik
a82fc5bea0
os: make SignalHandler public (#18115) 2023-05-06 14:59:06 +03:00
squidink7
787d774523
checker: warn instead of error, for unnecessary brackets on if/match (#18117) 2023-05-06 14:17:45 +03:00
Petr Makhnev
134e781965
changelog: split items into separate topics (#18112) 2023-05-04 21:24:13 +03:00
Swastik Baranwal
5bcc04e66a
checker: disallow _ = <- quit (#18104) 2023-05-04 21:23:34 +03:00
Ikko Eltociear Ashimine
43093311b6
flag: fix typo in flag.v (#18109) 2023-05-04 21:23:02 +03:00
Petr Makhnev
d27b48b7fe
changelog: mark encoding enums with their names in json as breaking and that [json_as_number] can be used to get the old behaviour (#18108) 2023-05-04 12:59:46 +03:00
Felipe Pena
5008515b03
builtin: heap memory usage api (#18103) 2023-05-03 20:33:52 +03:00
Mark aka walkingdevel
40a97aed1a
docs, orm: update examples (#18106) 2023-05-03 20:33:16 +03:00