Roman Gershman
6d1c22b64c
chore: GlobMatcher uses now reflex::Matcher regex engine ( #4528 )
...
Also consolidate benchmarking low level routines undeer dfly_core_test
```
BM_ParseFastFloat 707 ns 707 ns 4005656
BM_ParseDoubleAbsl 1460 ns 1460 ns 1927158
BM_MatchGlob/1000 121 ns 121 ns 23701780
BM_MatchGlob/10000 512 ns 512 ns 5481405
BM_MatchFindSubstr/1000 123 ns 123 ns 31114255
BM_MatchFindSubstr/10000 1126 ns 1126 ns 2522019
BM_MatchReflexFind/1000 118 ns 118 ns 22442417
BM_MatchReflexFind/10000 512 ns 512 ns 5414329
BM_MatchReflexFindStar/1000 106 ns 106 ns 26276727
BM_MatchReflexFindStar/10000 717 ns 717 ns 3719605
BM_MatchStd/1000 19782 ns 19779 ns 128020
BM_MatchStd/10000 199809 ns 199781 ns 13837
BM_MatchRedisGlob/1000 1601 ns 1601 ns 1754635
BM_MatchRedisGlob/10000 16494 ns 16493 ns 171585
BM_MatchRe2/1000 1039 ns 1039 ns 2709486
BM_MatchRe2/10000 10041 ns 10040 ns 281296
```
What's curious is that now matching `*foobar*` on string is faster than
searching for 'foobar` using string::find() (BM_MatchGlob vs BM_MatchFindSubstr)
Improvement vs Redis is 10-30 times faster (BM_MatchRedisGlob vs BM_MatchGlob).
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2025-02-05 10:29:51 +02:00
Roman Gershman
44506ad2a9
chore: remove unused code ( #4516 )
...
Move PrimeBumpPolicy definition to cc file.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2025-01-28 10:41:11 +02:00
Roman Gershman
91aff49fcd
chore: fix bugs in stream_family ( #4237 )
...
1. Use transaction time in streams code, similarly to how we do it in other commands.
Stop using mstime() and delete unused redis code.
2. Check for sequence overflow issue when passing huge sequence ids.
Add a test.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-12-02 11:57:31 +02:00
Roman Gershman
8ae71411bd
chore: reformat listpack according to valkey 8 ( #3810 )
...
Also add benchmarks for lpCompare code when list contains integers.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-09-27 09:22:08 +00:00
Roman Gershman
fa75360227
chore: get rid of object.c and robj* in cc code ( #2610 )
...
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-02-18 16:52:23 +02:00
cui fliter
4e651f8d0f
fix some typos ( #398 )
...
Signed-off-by: cui fliter <imcusg@gmail.com>
2022-10-18 14:56:17 +03:00
Roman Gershman
d37a0bbc29
fix(zset): Properly convert non-c strings to floats.
...
The old code relied on c strtod function that expected some sort of delimiter
at the end. Coincidently my unit-testing code always passed proper c strings so
strod worked as expected. EVAL passes slices to non-c string and this is why the bug was
discovered via eval call. Fixes #148 .
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-06-15 00:43:39 +03:00
Roman Gershman
b8521828e3
Add Dockerfile for prod container. Reorganize source tree to be docker-build friendly.
2022-02-25 10:03:42 +02:00