-
Notifications
You must be signed in to change notification settings - Fork 35
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
all: consider using type-params #868
Comments
for |
Move and generalize code from sliceop/f64s into sliceop. name old time/op new time/op delta Take/Len=2-8 2.69ns ± 1% 2.71ns ± 2% +0.75% (p=0.043 n=18+18) Take/Len=4-8 3.18ns ± 1% 3.23ns ± 3% +1.27% (p=0.005 n=19+20) Take/Len=8-8 3.83ns ± 1% 3.73ns ± 1% -2.69% (p=0.000 n=20+19) Take/Len=128-8 44.1ns ± 4% 35.9ns ± 2% -18.61% (p=0.000 n=20+20) Take/Len=1024-8 337ns ± 2% 280ns ± 6% -16.73% (p=0.000 n=19+20) Take/Len=1048576-8 1.37ms ± 3% 1.31ms ± 5% -3.97% (p=0.000 n=19+20) name old alloc/op new alloc/op delta Take/Len=2-8 0.00B 0.00B ~ (all equal) Take/Len=4-8 0.00B 0.00B ~ (all equal) Take/Len=8-8 0.00B 0.00B ~ (all equal) Take/Len=128-8 0.00B 0.00B ~ (all equal) Take/Len=1024-8 0.00B 0.00B ~ (all equal) Take/Len=1048576-8 0.00B 0.00B ~ (all equal) name old allocs/op new allocs/op delta Take/Len=2-8 0.00 0.00 ~ (all equal) Take/Len=4-8 0.00 0.00 ~ (all equal) Take/Len=8-8 0.00 0.00 ~ (all equal) Take/Len=128-8 0.00 0.00 ~ (all equal) Take/Len=1024-8 0.00 0.00 ~ (all equal) Take/Len=1048576-8 0.00 0.00 ~ (all equal) Updates go-hep#868.
Move and generalize code from sliceop/f64s into sliceop. name old time/op new time/op delta Take/Len=2-8 2.69ns ± 1% 2.71ns ± 2% +0.75% (p=0.043 n=18+18) Take/Len=4-8 3.18ns ± 1% 3.23ns ± 3% +1.27% (p=0.005 n=19+20) Take/Len=8-8 3.83ns ± 1% 3.73ns ± 1% -2.69% (p=0.000 n=20+19) Take/Len=128-8 44.1ns ± 4% 35.9ns ± 2% -18.61% (p=0.000 n=20+20) Take/Len=1024-8 337ns ± 2% 280ns ± 6% -16.73% (p=0.000 n=19+20) Take/Len=1048576-8 1.37ms ± 3% 1.31ms ± 5% -3.97% (p=0.000 n=19+20) name old alloc/op new alloc/op delta Take/Len=2-8 0.00B 0.00B ~ (all equal) Take/Len=4-8 0.00B 0.00B ~ (all equal) Take/Len=8-8 0.00B 0.00B ~ (all equal) Take/Len=128-8 0.00B 0.00B ~ (all equal) Take/Len=1024-8 0.00B 0.00B ~ (all equal) Take/Len=1048576-8 0.00B 0.00B ~ (all equal) name old allocs/op new allocs/op delta Take/Len=2-8 0.00 0.00 ~ (all equal) Take/Len=4-8 0.00 0.00 ~ (all equal) Take/Len=8-8 0.00 0.00 ~ (all equal) Take/Len=128-8 0.00 0.00 ~ (all equal) Take/Len=1024-8 0.00 0.00 ~ (all equal) Take/Len=1048576-8 0.00 0.00 ~ (all equal) Updates go-hep#868.
Just be aware that Go 1.18 generics are not faster for all types. See this detailed analysis: https://planetscale.com/blog/generics-can-make-your-go-code-slower |
yep. for example, I am not too sure about the |
|
What is the status of the |
all the packages in for API changes, it's best to discuss changes on the mailing list before actually doing the work. |
Type parameters (a.k.a. "generics") may land in Go-1.18.
we might want to consider using those for:
groot/rhist.TH1{I,F,D}
groot/rcont.Array{C,D,F,I,L,L64,S}
groot/rtree
?fmom.P4
sliceop/f64s
(and use the newslices
package from stdlib)fwk.Store
hbook.H1D
,hbook.H2D
, ...The text was updated successfully, but these errors were encountered: