Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eorm, valuer: 提供基于 unsafe 的 Value 实现 #75

Merged
merged 1 commit into from
May 30, 2022

Conversation

flycash
Copy link
Contributor

@flycash flycash commented May 30, 2022

  • 引入了 value.Creator 抽象,将来可以在 DB 层面上指定使用的 Value 实现

模糊测试结果

因为现在还无法使用 github action 来跑模糊测试,所以上传记录

命令:go test -fuzz=FuzzUnsafeValue ./internal/valuer,结果:

fuzz: elapsed: 0s, gathering baseline coverage: 0/1 completed
fuzz: elapsed: 0s, gathering baseline coverage: 1/1 completed, now fuzzing with 12 workers
fuzz: elapsed: 3s, execs: 189972 (63311/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 6s, execs: 389930 (66660/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 9s, execs: 594162 (67988/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 12s, execs: 792494 (66186/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 15s, execs: 995404 (67650/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 18s, execs: 1196691 (67088/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 21s, execs: 1397235 (66843/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 24s, execs: 1601691 (68160/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 27s, execs: 1797930 (65412/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 30s, execs: 1999533 (67196/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 33s, execs: 2200273 (66921/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 36s, execs: 2405293 (68346/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 39s, execs: 2607099 (67255/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 42s, execs: 2800033 (64322/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 45s, execs: 3001014 (66991/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 48s, execs: 3183098 (60699/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 51s, execs: 3364651 (60517/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 54s, execs: 3549693 (61675/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 57s, execs: 3753332 (67876/sec), new interesting: 1 (total: 2)
fuzz: elapsed: 1m0s, execs: 3953061 (66581/sec), new interesting: 1 (total: 2)

命令:go test -fuzz=FuzzReflectValue ./internal/valuer,结果:

fuzz: elapsed: 0s, execs: 0 (0/sec), new interesting: 0 (total: 0)
fuzz: elapsed: 3s, execs: 157661 (52543/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 6s, execs: 341487 (61272/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 9s, execs: 523685 (60724/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 12s, execs: 703516 (59961/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 15s, execs: 875543 (57316/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 18s, execs: 1058140 (60820/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 21s, execs: 1229398 (57158/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 24s, execs: 1407188 (59262/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 27s, execs: 1589141 (60644/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 30s, execs: 1769817 (60229/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 33s, execs: 1949914 (60037/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 36s, execs: 2128210 (59434/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 39s, execs: 2310727 (60820/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 42s, execs: 2489769 (59687/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 45s, execs: 2665069 (58436/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 48s, execs: 2851251 (62065/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 51s, execs: 3034770 (61176/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 54s, execs: 3206219 (57145/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 57s, execs: 3388560 (60783/sec), new interesting: 2 (total: 2)
fuzz: elapsed: 1m0s, execs: 3557462 (56300/sec), new interesting: 2 (total: 2)

@flycash flycash force-pushed the main branch 2 times, most recently from b6d55d3 to bd58e42 Compare May 30, 2022 14:23
@codecov
Copy link

codecov bot commented May 30, 2022

Codecov Report

Merging #75 (182d7eb) into main (e59081b) will increase coverage by 0.76%.
The diff coverage is 95.95%.

@@            Coverage Diff             @@
##             main      #75      +/-   ##
==========================================
+ Coverage   85.50%   86.27%   +0.76%     
==========================================
  Files          15       16       +1     
  Lines         828      918      +90     
==========================================
+ Hits          708      792      +84     
- Misses        103      107       +4     
- Partials       17       19       +2     
Impacted Files Coverage Δ
builder.go 78.18% <ø> (ø)
insert.go 82.43% <66.66%> (-7.12%) ⬇️
db.go 100.00% <100.00%> (ø)
internal/model/model.go 90.66% <100.00%> (+0.12%) ⬆️
internal/valuer/reflect.go 100.00% <100.00%> (ø)
internal/valuer/unsafe.go 100.00% <100.00%> (ø)
update.go 82.90% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e59081b...182d7eb. Read the comment docs.

@flycash flycash force-pushed the main branch 2 times, most recently from f5c5015 to 7da36d5 Compare May 30, 2022 14:48
- 引入了 value.Creator 抽象,将来可以在 DB 层面上指定使用的 Value 实现
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant