@@ -5,7 +5,7 @@ vals = (1.0, 2.0, 3.0, 4.0)
5
5
6
6
# Fields is the default
7
7
lens = Query (; select= x -> x isa Float64, descend= x -> x isa NamedTuple)
8
- slowlens = Query (x -> x isa Float64, x -> x isa Tuple , Accessors. Properties ())
8
+ slowlens = Query (x -> x isa Float64, x -> x isa NamedTuple , Accessors. Properties ())
9
9
10
10
@code_typed lens (obj)
11
11
@code_typed slowlens (obj)
@@ -16,13 +16,15 @@ slowlens = Query(x -> x isa Float64, x -> x isa Tuple, Accessors.Properties())
16
16
println (" get" )
17
17
@btime $ lens ($ obj)
18
18
@btime $ slowlens ($ obj)
19
- @test lens (obj) == (17.0 , 6.0 )
19
+ @test lens (obj) == slowlens (obj) == (17.0 , 6.0 )
20
20
21
21
println (" set" )
22
22
# Need a wrapper so we don't have to pass in the starting iterator
23
23
@btime Accessors. set ($ obj, $ lens, $ vals)
24
- # @btime Accessors.set($obj, $slowlens, $vals)
25
- @test Accessors. set (obj, lens, vals) == (7 , (a= 1.0 , b= 2.0f0 ), (" 3" , 4 , 5.0 ), (x= 2.0 ,), )
24
+ @btime Accessors. set ($ obj, $ slowlens, $ vals)
25
+ @test Accessors. set (obj, lens, vals) ==
26
+ Accessors. set (obj, lens, vals) ==
27
+ (7 , (a= 1.0 , b= 2.0f0 ), (" 3" , 4 , 5.0 ), (x= 2.0 ,), )
26
28
27
29
# using ProfileView
28
30
# @profview for i in 1:1000000 Accessors.set(obj, lens, vals) end
0 commit comments