Add __attribute__((noescape)) on pointers in public API #782

Merged
goldsteinn merged 2 commits from dev into dev 2023-01-13 13:46:34 -06:00
goldsteinn commented 2023-01-06 17:19:30 -06:00 (Migrated from github.com)

LLVM only at the moment.

Without LTO its the only way to inform the compiler that the pointer does not become globally visible due to the function call.

LLVM only at the moment. Without LTO its the only way to inform the compiler that the pointer does not become globally visible due to the function call.
goldsteinn commented 2023-01-11 17:26:16 -06:00 (Migrated from github.com)

Results for 5-runs attached.

For XXH128 no regression on M1.

For xxh3 ~0-11% latency improvement on M1 and 0-3% tput improvement:

Latency for small inputs of fixed size :
Size, TPut-new,TPut-old, Tput Speedup
129,6.442E+07,6.468E+07,1.004
130,6.440E+07,6.476E+07,1.006
131,6.440E+07,6.480E+07,1.006
132,6.440E+07,6.480E+07,1.006
133,6.440E+07,6.480E+07,1.006
134,6.440E+07,6.480E+07,1.006
135,6.440E+07,6.480E+07,1.006
136,6.440E+07,6.480E+07,1.006
137,6.440E+07,6.480E+07,1.006
138,6.440E+07,6.480E+07,1.006
139,6.440E+07,6.480E+07,1.006
140,6.440E+07,6.477E+07,1.006
141,6.440E+07,6.480E+07,1.006
142,6.440E+07,6.480E+07,1.006
143,6.440E+07,6.480E+07,1.006
144,6.319E+07,6.252E+07,0.989
145,6.319E+07,6.251E+07,0.989
146,6.319E+07,6.252E+07,0.989
147,6.319E+07,6.252E+07,0.989
148,6.319E+07,6.252E+07,0.989
149,6.319E+07,6.252E+07,0.989
150,6.319E+07,6.252E+07,0.989
151,6.319E+07,6.252E+07,0.989
152,6.319E+07,6.252E+07,0.989
153,6.319E+07,6.252E+07,0.989
154,6.319E+07,6.252E+07,0.989
155,6.319E+07,6.252E+07,0.989
156,6.319E+07,6.252E+07,0.989
157,6.319E+07,6.253E+07,0.990
158,6.319E+07,6.255E+07,0.990
159,6.319E+07,6.255E+07,0.990
160,6.211E+07,5.937E+07,0.956
161,6.212E+07,5.937E+07,0.956
162,6.211E+07,5.934E+07,0.955
163,6.211E+07,5.934E+07,0.955
164,6.211E+07,5.937E+07,0.956
165,6.211E+07,5.937E+07,0.956
166,6.211E+07,5.937E+07,0.956
167,6.211E+07,5.937E+07,0.956
168,6.211E+07,5.937E+07,0.956
169,6.211E+07,5.937E+07,0.956
170,6.212E+07,5.937E+07,0.956
171,6.211E+07,5.937E+07,0.956
172,6.211E+07,5.937E+07,0.956
173,6.212E+07,5.937E+07,0.956
174,6.211E+07,5.937E+07,0.956
175,6.211E+07,5.937E+07,0.956
176,5.878E+07,5.601E+07,0.953
177,5.878E+07,5.600E+07,0.953
178,5.878E+07,5.601E+07,0.953
179,5.878E+07,5.601E+07,0.953
180,5.878E+07,5.602E+07,0.953
181,5.878E+07,5.601E+07,0.953
182,5.878E+07,5.601E+07,0.953
183,5.878E+07,5.601E+07,0.953
184,5.878E+07,5.600E+07,0.953
185,5.878E+07,5.601E+07,0.953
186,5.878E+07,5.601E+07,0.953
187,5.878E+07,5.601E+07,0.953
188,5.878E+07,5.602E+07,0.953
189,5.878E+07,5.600E+07,0.953
190,5.878E+07,5.600E+07,0.953
191,5.878E+07,5.601E+07,0.953
192,5.749E+07,5.387E+07,0.937
193,5.749E+07,5.387E+07,0.937
194,5.749E+07,5.387E+07,0.937
195,5.749E+07,5.387E+07,0.937
196,5.749E+07,5.387E+07,0.937
197,5.749E+07,5.387E+07,0.937
198,5.749E+07,5.387E+07,0.937
199,5.749E+07,5.387E+07,0.937
200,5.749E+07,5.387E+07,0.937
201,5.749E+07,5.387E+07,0.937
202,5.749E+07,5.387E+07,0.937
203,5.749E+07,5.387E+07,0.937
204,5.749E+07,5.388E+07,0.937
205,5.749E+07,5.388E+07,0.937
206,5.749E+07,5.388E+07,0.937
207,5.749E+07,5.387E+07,0.937
208,5.683E+07,5.251E+07,0.924
209,5.703E+07,5.251E+07,0.921
210,5.719E+07,5.251E+07,0.918
211,5.690E+07,5.251E+07,0.923
212,5.701E+07,5.251E+07,0.921
213,5.701E+07,5.251E+07,0.921
214,5.707E+07,5.251E+07,0.920
215,5.704E+07,5.251E+07,0.921
216,5.703E+07,5.251E+07,0.921
217,5.738E+07,5.251E+07,0.915
218,5.700E+07,5.251E+07,0.921
219,5.682E+07,5.251E+07,0.924
220,5.705E+07,5.251E+07,0.920
221,5.719E+07,5.251E+07,0.918
222,5.711E+07,5.251E+07,0.919
223,5.693E+07,5.251E+07,0.922
224,5.687E+07,5.127E+07,0.901
225,5.687E+07,5.127E+07,0.901
226,5.687E+07,5.127E+07,0.901
227,5.687E+07,5.127E+07,0.901
228,5.687E+07,5.127E+07,0.901
229,5.687E+07,5.127E+07,0.901
230,5.687E+07,5.127E+07,0.901
231,5.687E+07,5.127E+07,0.901
232,5.687E+07,5.127E+07,0.901
233,5.687E+07,5.127E+07,0.901
234,5.687E+07,5.127E+07,0.901
235,5.687E+07,5.127E+07,0.901
236,5.687E+07,5.127E+07,0.901
237,5.687E+07,5.127E+07,0.901
238,5.687E+07,5.127E+07,0.901
239,5.687E+07,5.127E+07,0.901
240,5.561E+07,4.951E+07,0.890
Throughput small inputs of fixed size (from 129 to 240 bytes):
Size, TPut-new,TPut-old, Tput Speedup
129,1.463E+08,1.463E+08,1.000
130,1.462E+08,1.462E+08,1.000
131,1.462E+08,1.462E+08,1.000
132,1.462E+08,1.462E+08,1.000
133,1.462E+08,1.462E+08,1.000
134,1.462E+08,1.462E+08,1.000
135,1.462E+08,1.462E+08,1.000
136,1.462E+08,1.462E+08,1.000
137,1.462E+08,1.462E+08,1.000
138,1.462E+08,1.462E+08,1.000
139,1.462E+08,1.462E+08,1.000
140,1.462E+08,1.462E+08,1.000
141,1.462E+08,1.462E+08,1.000
142,1.462E+08,1.462E+08,0.999
143,1.462E+08,1.462E+08,1.000
144,1.285E+08,1.280E+08,0.996
145,1.285E+08,1.280E+08,0.996
146,1.285E+08,1.280E+08,0.996
147,1.285E+08,1.280E+08,0.996
148,1.285E+08,1.280E+08,0.996
149,1.285E+08,1.280E+08,0.996
150,1.285E+08,1.280E+08,0.996
151,1.285E+08,1.280E+08,0.996
152,1.285E+08,1.280E+08,0.996
153,1.285E+08,1.280E+08,0.996
154,1.285E+08,1.280E+08,0.996
155,1.285E+08,1.280E+08,0.996
156,1.286E+08,1.280E+08,0.996
157,1.285E+08,1.280E+08,0.996
158,1.285E+08,1.280E+08,0.996
159,1.285E+08,1.280E+08,0.996
160,1.183E+08,1.180E+08,0.998
161,1.183E+08,1.180E+08,0.997
162,1.183E+08,1.180E+08,0.997
163,1.183E+08,1.180E+08,0.997
164,1.183E+08,1.180E+08,0.998
165,1.183E+08,1.180E+08,0.998
166,1.183E+08,1.180E+08,0.997
167,1.183E+08,1.180E+08,0.998
168,1.183E+08,1.180E+08,0.998
169,1.183E+08,1.180E+08,0.998
170,1.183E+08,1.180E+08,0.998
171,1.183E+08,1.180E+08,0.998
172,1.183E+08,1.180E+08,0.998
173,1.183E+08,1.180E+08,0.998
174,1.183E+08,1.180E+08,0.998
175,1.183E+08,1.180E+08,0.998
176,1.105E+08,1.101E+08,0.996
177,1.105E+08,1.101E+08,0.996
178,1.105E+08,1.101E+08,0.996
179,1.105E+08,1.101E+08,0.996
180,1.105E+08,1.101E+08,0.996
181,1.105E+08,1.101E+08,0.996
182,1.105E+08,1.101E+08,0.996
183,1.105E+08,1.101E+08,0.996
184,1.105E+08,1.101E+08,0.996
185,1.105E+08,1.101E+08,0.996
186,1.105E+08,1.101E+08,0.996
187,1.105E+08,1.101E+08,0.996
188,1.105E+08,1.101E+08,0.996
189,1.105E+08,1.101E+08,0.996
190,1.105E+08,1.101E+08,0.996
191,1.105E+08,1.101E+08,0.996
192,1.025E+08,1.019E+08,0.994
193,1.025E+08,1.019E+08,0.994
194,1.025E+08,1.019E+08,0.994
195,1.025E+08,1.019E+08,0.994
196,1.024E+08,1.019E+08,0.994
197,1.025E+08,1.019E+08,0.995
198,1.024E+08,1.019E+08,0.995
199,1.025E+08,1.019E+08,0.994
200,1.024E+08,1.019E+08,0.994
201,1.024E+08,1.019E+08,0.995
202,1.024E+08,1.019E+08,0.994
203,1.024E+08,1.019E+08,0.994
204,1.024E+08,1.019E+08,0.994
205,1.024E+08,1.019E+08,0.994
206,1.024E+08,1.019E+08,0.994
207,1.024E+08,1.019E+08,0.994
208,9.567E+07,9.581E+07,1.001
209,9.567E+07,9.584E+07,1.002
210,9.567E+07,9.584E+07,1.002
211,9.567E+07,9.581E+07,1.001
212,9.567E+07,9.580E+07,1.001
213,9.567E+07,9.581E+07,1.002
214,9.567E+07,9.581E+07,1.001
215,9.567E+07,9.581E+07,1.001
216,9.567E+07,9.581E+07,1.001
217,9.567E+07,9.580E+07,1.001
218,9.566E+07,9.580E+07,1.001
219,9.566E+07,9.580E+07,1.001
220,9.567E+07,9.580E+07,1.001
221,9.566E+07,9.581E+07,1.002
222,9.567E+07,9.584E+07,1.002
223,9.566E+07,9.581E+07,1.001
224,8.925E+07,9.014E+07,1.010
225,8.926E+07,8.997E+07,1.008
226,8.926E+07,9.011E+07,1.010
227,8.926E+07,9.012E+07,1.010
228,8.926E+07,9.014E+07,1.010
229,8.926E+07,8.997E+07,1.008
230,8.926E+07,9.011E+07,1.010
231,8.926E+07,9.014E+07,1.010
232,8.926E+07,9.014E+07,1.010
233,8.926E+07,8.986E+07,1.007
234,8.926E+07,9.011E+07,1.010
235,8.926E+07,9.011E+07,1.010
236,8.926E+07,9.015E+07,1.010
237,8.926E+07,8.996E+07,1.008
238,8.926E+07,8.997E+07,1.008
239,8.926E+07,9.011E+07,1.010
240,8.366E+07,8.451E+07,1.010
benchmarking random size inputs [1-N] :
Size, TPut-new,TPut-old, Tput Speedup
129,2.450E+08,2.453E+08,1.001
130,2.408E+08,2.408E+08,1.000
131,2.374E+08,2.389E+08,1.006
132,2.350E+08,2.351E+08,1.001
133,2.404E+08,2.401E+08,0.999
134,2.357E+08,2.355E+08,0.999
135,2.322E+08,2.323E+08,1.000
136,2.327E+08,2.328E+08,1.001
137,2.291E+08,2.287E+08,0.998
138,2.309E+08,2.307E+08,0.999
139,2.324E+08,2.322E+08,0.999
140,2.269E+08,2.269E+08,1.000
141,2.275E+08,2.291E+08,1.007
142,2.323E+08,2.322E+08,0.999
143,2.286E+08,2.290E+08,1.002
144,2.267E+08,2.261E+08,0.997
145,2.209E+08,2.227E+08,1.008
146,2.244E+08,2.242E+08,0.999
147,2.241E+08,2.242E+08,1.000
148,2.214E+08,2.221E+08,1.003
149,2.191E+08,2.189E+08,0.999
150,2.210E+08,2.209E+08,1.000
151,2.163E+08,2.168E+08,1.003
152,2.204E+08,2.207E+08,1.001
153,2.145E+08,2.153E+08,1.004
154,2.155E+08,2.169E+08,1.006
155,2.139E+08,2.137E+08,0.999
156,2.120E+08,2.117E+08,0.999
157,2.089E+08,2.104E+08,1.007
158,2.059E+08,2.061E+08,1.001
159,2.129E+08,2.128E+08,1.000
160,2.079E+08,2.079E+08,1.000
161,2.083E+08,2.082E+08,1.000
162,2.058E+08,2.062E+08,1.002
163,2.024E+08,2.028E+08,1.002
164,2.061E+08,2.059E+08,0.999
165,2.010E+08,2.015E+08,1.003
166,2.028E+08,2.030E+08,1.001
167,2.027E+08,2.028E+08,1.000
168,2.012E+08,2.011E+08,0.999
169,2.009E+08,2.008E+08,0.999
170,2.008E+08,2.007E+08,1.000
171,1.974E+08,1.974E+08,1.000
172,1.956E+08,1.956E+08,1.000
173,1.989E+08,1.987E+08,0.999
174,1.975E+08,1.988E+08,1.006
175,2.000E+08,2.000E+08,1.000
176,1.958E+08,1.957E+08,1.000
177,1.984E+08,1.983E+08,0.999
178,1.987E+08,1.987E+08,1.000
179,1.888E+08,1.890E+08,1.001
180,1.912E+08,1.910E+08,0.999
181,1.898E+08,1.900E+08,1.001
182,1.913E+08,1.912E+08,0.999
183,1.937E+08,1.937E+08,1.000
184,1.874E+08,1.883E+08,1.005
185,1.897E+08,1.896E+08,1.000
186,1.893E+08,1.893E+08,1.000
187,1.916E+08,1.916E+08,1.000
188,1.861E+08,1.871E+08,1.006
189,1.874E+08,1.878E+08,1.002
190,1.782E+08,1.783E+08,1.001
191,1.827E+08,1.832E+08,1.003
192,1.828E+08,1.827E+08,0.999
193,1.858E+08,1.857E+08,1.000
194,1.806E+08,1.804E+08,0.999
195,1.802E+08,1.800E+08,0.999
196,1.823E+08,1.823E+08,1.000
197,1.783E+08,1.782E+08,0.999
198,1.831E+08,1.830E+08,1.000
199,1.791E+08,1.790E+08,0.999
200,1.797E+08,1.795E+08,0.999
201,1.792E+08,1.790E+08,0.999
202,1.783E+08,1.781E+08,0.999
203,1.775E+08,1.772E+08,0.999
204,1.795E+08,1.795E+08,1.000
205,1.716E+08,1.715E+08,0.999
206,1.753E+08,1.751E+08,0.999
207,1.704E+08,1.702E+08,0.999
208,1.734E+08,1.733E+08,0.999
209,1.739E+08,1.737E+08,0.999
210,1.714E+08,1.713E+08,0.999
211,1.652E+08,1.652E+08,1.000
212,1.721E+08,1.723E+08,1.002
213,1.706E+08,1.705E+08,0.999
214,1.634E+08,1.634E+08,1.000
215,1.646E+08,1.644E+08,0.999
216,1.710E+08,1.711E+08,1.000
217,1.627E+08,1.624E+08,0.998
218,1.670E+08,1.668E+08,0.999
219,1.666E+08,1.665E+08,0.999
220,1.675E+08,1.673E+08,0.999
221,1.645E+08,1.643E+08,0.999
222,1.624E+08,1.623E+08,0.999
223,1.656E+08,1.657E+08,1.001
224,1.675E+08,1.673E+08,0.999
225,1.643E+08,1.641E+08,0.999
226,1.597E+08,1.595E+08,0.999
227,1.599E+08,1.597E+08,0.999
228,1.608E+08,1.606E+08,0.999
229,1.632E+08,1.634E+08,1.001
230,1.601E+08,1.608E+08,1.004
231,1.493E+08,1.492E+08,0.999
232,1.607E+08,1.606E+08,1.000
233,1.604E+08,1.603E+08,0.999
234,1.569E+08,1.568E+08,0.999
235,1.620E+08,1.621E+08,1.001
236,1.586E+08,1.586E+08,1.000
237,1.609E+08,1.609E+08,1.000
238,1.599E+08,1.598E+08,1.000
239,1.541E+08,1.542E+08,1.000
240,1.570E+08,1.574E+08,1.002
Latency for small inputs of random size [1-N] :
Size, TPut-new,TPut-old, Tput Speedup
129,8.306E+07,8.302E+07,1.000
130,8.259E+07,8.260E+07,1.000
131,8.243E+07,8.242E+07,1.000
132,8.164E+07,8.166E+07,1.000
133,8.233E+07,8.234E+07,1.000
134,8.188E+07,8.187E+07,1.000
135,8.138E+07,8.137E+07,1.000
136,8.124E+07,8.122E+07,1.000
137,8.089E+07,8.091E+07,1.000
138,8.096E+07,8.099E+07,1.000
139,8.111E+07,8.108E+07,1.000
140,8.053E+07,8.054E+07,1.000
141,8.070E+07,8.066E+07,1.000
142,8.127E+07,8.129E+07,1.000
143,8.090E+07,8.091E+07,1.000
144,8.001E+07,8.000E+07,1.000
145,7.984E+07,7.979E+07,0.999
146,7.992E+07,7.990E+07,1.000
147,8.002E+07,7.998E+07,1.000
148,7.974E+07,7.963E+07,0.999
149,7.912E+07,7.906E+07,0.999
150,7.948E+07,7.943E+07,0.999
151,7.904E+07,7.894E+07,0.999
152,7.944E+07,7.935E+07,0.999
153,7.884E+07,7.869E+07,0.998
154,7.918E+07,7.901E+07,0.998
155,7.845E+07,7.832E+07,0.998
156,7.848E+07,7.823E+07,0.997
157,7.831E+07,7.812E+07,0.998
158,7.758E+07,7.734E+07,0.997
159,7.851E+07,7.828E+07,0.997
160,7.767E+07,7.745E+07,0.997
161,7.767E+07,7.741E+07,0.997
162,7.755E+07,7.727E+07,0.996
163,7.695E+07,7.664E+07,0.996
164,7.753E+07,7.714E+07,0.995
165,7.668E+07,7.623E+07,0.994
166,7.718E+07,7.684E+07,0.996
167,7.713E+07,7.674E+07,0.995
168,7.687E+07,7.645E+07,0.995
169,7.682E+07,7.636E+07,0.994
170,7.684E+07,7.638E+07,0.994
171,7.630E+07,7.580E+07,0.993
172,7.609E+07,7.554E+07,0.993
173,7.670E+07,7.618E+07,0.993
174,7.652E+07,7.602E+07,0.993
175,7.665E+07,7.611E+07,0.993
176,7.618E+07,7.562E+07,0.993
177,7.658E+07,7.604E+07,0.993
178,7.676E+07,7.619E+07,0.993
179,7.526E+07,7.454E+07,0.990
180,7.557E+07,7.485E+07,0.991
181,7.540E+07,7.472E+07,0.991
182,7.548E+07,7.483E+07,0.991
183,7.592E+07,7.516E+07,0.990
184,7.508E+07,7.437E+07,0.991
185,7.555E+07,7.474E+07,0.989
186,7.531E+07,7.450E+07,0.989
187,7.559E+07,7.486E+07,0.990
188,7.493E+07,7.411E+07,0.989
189,7.523E+07,7.443E+07,0.989
190,7.342E+07,7.246E+07,0.987
191,7.440E+07,7.346E+07,0.987
192,7.430E+07,7.341E+07,0.988
193,7.478E+07,7.396E+07,0.989
194,7.396E+07,7.296E+07,0.987
195,7.391E+07,7.290E+07,0.986
196,7.426E+07,7.329E+07,0.987
197,7.361E+07,7.254E+07,0.986
198,7.444E+07,7.346E+07,0.987
199,7.369E+07,7.265E+07,0.986
200,7.386E+07,7.274E+07,0.985
201,7.388E+07,7.277E+07,0.985
202,7.367E+07,7.256E+07,0.985
203,7.365E+07,7.254E+07,0.985
204,7.400E+07,7.284E+07,0.984
205,7.279E+07,7.150E+07,0.982
206,7.324E+07,7.196E+07,0.983
207,7.256E+07,7.118E+07,0.981
208,7.312E+07,7.177E+07,0.982
209,7.322E+07,7.190E+07,0.982
210,7.270E+07,7.135E+07,0.982
211,7.165E+07,7.017E+07,0.979
212,7.284E+07,7.150E+07,0.982
213,7.260E+07,7.126E+07,0.982
214,7.147E+07,6.991E+07,0.978
215,7.168E+07,7.016E+07,0.979
216,7.284E+07,7.143E+07,0.981
217,7.143E+07,6.983E+07,0.978
218,7.196E+07,7.048E+07,0.979
219,7.203E+07,7.046E+07,0.978
220,7.220E+07,7.065E+07,0.979
221,7.149E+07,6.998E+07,0.979
222,7.141E+07,6.973E+07,0.977
223,7.178E+07,7.028E+07,0.979
224,7.228E+07,7.071E+07,0.978
225,7.175E+07,7.017E+07,0.978
226,7.117E+07,6.929E+07,0.974
227,7.094E+07,6.904E+07,0.973
228,7.111E+07,6.936E+07,0.975
229,7.173E+07,6.992E+07,0.975
230,7.126E+07,6.935E+07,0.973
231,6.915E+07,6.696E+07,0.968
232,7.137E+07,6.944E+07,0.973
233,7.120E+07,6.935E+07,0.974
234,7.059E+07,6.860E+07,0.972
235,7.152E+07,6.965E+07,0.974
236,7.091E+07,6.895E+07,0.972
237,7.138E+07,6.939E+07,0.972
238,7.120E+07,6.925E+07,0.973
239,7.013E+07,6.805E+07,0.970
240,7.070E+07,6.866E+07,0.971
[results.tar.gz](https://github.com/Cyan4973/xxHash/files/10396697/results.tar.gz)

Results for 5-runs attached. For XXH128 no regression on M1. For xxh3 ~0-11% latency improvement on M1 and 0-3% tput improvement: ``` Latency for small inputs of fixed size : Size, TPut-new,TPut-old, Tput Speedup 129,6.442E+07,6.468E+07,1.004 130,6.440E+07,6.476E+07,1.006 131,6.440E+07,6.480E+07,1.006 132,6.440E+07,6.480E+07,1.006 133,6.440E+07,6.480E+07,1.006 134,6.440E+07,6.480E+07,1.006 135,6.440E+07,6.480E+07,1.006 136,6.440E+07,6.480E+07,1.006 137,6.440E+07,6.480E+07,1.006 138,6.440E+07,6.480E+07,1.006 139,6.440E+07,6.480E+07,1.006 140,6.440E+07,6.477E+07,1.006 141,6.440E+07,6.480E+07,1.006 142,6.440E+07,6.480E+07,1.006 143,6.440E+07,6.480E+07,1.006 144,6.319E+07,6.252E+07,0.989 145,6.319E+07,6.251E+07,0.989 146,6.319E+07,6.252E+07,0.989 147,6.319E+07,6.252E+07,0.989 148,6.319E+07,6.252E+07,0.989 149,6.319E+07,6.252E+07,0.989 150,6.319E+07,6.252E+07,0.989 151,6.319E+07,6.252E+07,0.989 152,6.319E+07,6.252E+07,0.989 153,6.319E+07,6.252E+07,0.989 154,6.319E+07,6.252E+07,0.989 155,6.319E+07,6.252E+07,0.989 156,6.319E+07,6.252E+07,0.989 157,6.319E+07,6.253E+07,0.990 158,6.319E+07,6.255E+07,0.990 159,6.319E+07,6.255E+07,0.990 160,6.211E+07,5.937E+07,0.956 161,6.212E+07,5.937E+07,0.956 162,6.211E+07,5.934E+07,0.955 163,6.211E+07,5.934E+07,0.955 164,6.211E+07,5.937E+07,0.956 165,6.211E+07,5.937E+07,0.956 166,6.211E+07,5.937E+07,0.956 167,6.211E+07,5.937E+07,0.956 168,6.211E+07,5.937E+07,0.956 169,6.211E+07,5.937E+07,0.956 170,6.212E+07,5.937E+07,0.956 171,6.211E+07,5.937E+07,0.956 172,6.211E+07,5.937E+07,0.956 173,6.212E+07,5.937E+07,0.956 174,6.211E+07,5.937E+07,0.956 175,6.211E+07,5.937E+07,0.956 176,5.878E+07,5.601E+07,0.953 177,5.878E+07,5.600E+07,0.953 178,5.878E+07,5.601E+07,0.953 179,5.878E+07,5.601E+07,0.953 180,5.878E+07,5.602E+07,0.953 181,5.878E+07,5.601E+07,0.953 182,5.878E+07,5.601E+07,0.953 183,5.878E+07,5.601E+07,0.953 184,5.878E+07,5.600E+07,0.953 185,5.878E+07,5.601E+07,0.953 186,5.878E+07,5.601E+07,0.953 187,5.878E+07,5.601E+07,0.953 188,5.878E+07,5.602E+07,0.953 189,5.878E+07,5.600E+07,0.953 190,5.878E+07,5.600E+07,0.953 191,5.878E+07,5.601E+07,0.953 192,5.749E+07,5.387E+07,0.937 193,5.749E+07,5.387E+07,0.937 194,5.749E+07,5.387E+07,0.937 195,5.749E+07,5.387E+07,0.937 196,5.749E+07,5.387E+07,0.937 197,5.749E+07,5.387E+07,0.937 198,5.749E+07,5.387E+07,0.937 199,5.749E+07,5.387E+07,0.937 200,5.749E+07,5.387E+07,0.937 201,5.749E+07,5.387E+07,0.937 202,5.749E+07,5.387E+07,0.937 203,5.749E+07,5.387E+07,0.937 204,5.749E+07,5.388E+07,0.937 205,5.749E+07,5.388E+07,0.937 206,5.749E+07,5.388E+07,0.937 207,5.749E+07,5.387E+07,0.937 208,5.683E+07,5.251E+07,0.924 209,5.703E+07,5.251E+07,0.921 210,5.719E+07,5.251E+07,0.918 211,5.690E+07,5.251E+07,0.923 212,5.701E+07,5.251E+07,0.921 213,5.701E+07,5.251E+07,0.921 214,5.707E+07,5.251E+07,0.920 215,5.704E+07,5.251E+07,0.921 216,5.703E+07,5.251E+07,0.921 217,5.738E+07,5.251E+07,0.915 218,5.700E+07,5.251E+07,0.921 219,5.682E+07,5.251E+07,0.924 220,5.705E+07,5.251E+07,0.920 221,5.719E+07,5.251E+07,0.918 222,5.711E+07,5.251E+07,0.919 223,5.693E+07,5.251E+07,0.922 224,5.687E+07,5.127E+07,0.901 225,5.687E+07,5.127E+07,0.901 226,5.687E+07,5.127E+07,0.901 227,5.687E+07,5.127E+07,0.901 228,5.687E+07,5.127E+07,0.901 229,5.687E+07,5.127E+07,0.901 230,5.687E+07,5.127E+07,0.901 231,5.687E+07,5.127E+07,0.901 232,5.687E+07,5.127E+07,0.901 233,5.687E+07,5.127E+07,0.901 234,5.687E+07,5.127E+07,0.901 235,5.687E+07,5.127E+07,0.901 236,5.687E+07,5.127E+07,0.901 237,5.687E+07,5.127E+07,0.901 238,5.687E+07,5.127E+07,0.901 239,5.687E+07,5.127E+07,0.901 240,5.561E+07,4.951E+07,0.890 Throughput small inputs of fixed size (from 129 to 240 bytes): Size, TPut-new,TPut-old, Tput Speedup 129,1.463E+08,1.463E+08,1.000 130,1.462E+08,1.462E+08,1.000 131,1.462E+08,1.462E+08,1.000 132,1.462E+08,1.462E+08,1.000 133,1.462E+08,1.462E+08,1.000 134,1.462E+08,1.462E+08,1.000 135,1.462E+08,1.462E+08,1.000 136,1.462E+08,1.462E+08,1.000 137,1.462E+08,1.462E+08,1.000 138,1.462E+08,1.462E+08,1.000 139,1.462E+08,1.462E+08,1.000 140,1.462E+08,1.462E+08,1.000 141,1.462E+08,1.462E+08,1.000 142,1.462E+08,1.462E+08,0.999 143,1.462E+08,1.462E+08,1.000 144,1.285E+08,1.280E+08,0.996 145,1.285E+08,1.280E+08,0.996 146,1.285E+08,1.280E+08,0.996 147,1.285E+08,1.280E+08,0.996 148,1.285E+08,1.280E+08,0.996 149,1.285E+08,1.280E+08,0.996 150,1.285E+08,1.280E+08,0.996 151,1.285E+08,1.280E+08,0.996 152,1.285E+08,1.280E+08,0.996 153,1.285E+08,1.280E+08,0.996 154,1.285E+08,1.280E+08,0.996 155,1.285E+08,1.280E+08,0.996 156,1.286E+08,1.280E+08,0.996 157,1.285E+08,1.280E+08,0.996 158,1.285E+08,1.280E+08,0.996 159,1.285E+08,1.280E+08,0.996 160,1.183E+08,1.180E+08,0.998 161,1.183E+08,1.180E+08,0.997 162,1.183E+08,1.180E+08,0.997 163,1.183E+08,1.180E+08,0.997 164,1.183E+08,1.180E+08,0.998 165,1.183E+08,1.180E+08,0.998 166,1.183E+08,1.180E+08,0.997 167,1.183E+08,1.180E+08,0.998 168,1.183E+08,1.180E+08,0.998 169,1.183E+08,1.180E+08,0.998 170,1.183E+08,1.180E+08,0.998 171,1.183E+08,1.180E+08,0.998 172,1.183E+08,1.180E+08,0.998 173,1.183E+08,1.180E+08,0.998 174,1.183E+08,1.180E+08,0.998 175,1.183E+08,1.180E+08,0.998 176,1.105E+08,1.101E+08,0.996 177,1.105E+08,1.101E+08,0.996 178,1.105E+08,1.101E+08,0.996 179,1.105E+08,1.101E+08,0.996 180,1.105E+08,1.101E+08,0.996 181,1.105E+08,1.101E+08,0.996 182,1.105E+08,1.101E+08,0.996 183,1.105E+08,1.101E+08,0.996 184,1.105E+08,1.101E+08,0.996 185,1.105E+08,1.101E+08,0.996 186,1.105E+08,1.101E+08,0.996 187,1.105E+08,1.101E+08,0.996 188,1.105E+08,1.101E+08,0.996 189,1.105E+08,1.101E+08,0.996 190,1.105E+08,1.101E+08,0.996 191,1.105E+08,1.101E+08,0.996 192,1.025E+08,1.019E+08,0.994 193,1.025E+08,1.019E+08,0.994 194,1.025E+08,1.019E+08,0.994 195,1.025E+08,1.019E+08,0.994 196,1.024E+08,1.019E+08,0.994 197,1.025E+08,1.019E+08,0.995 198,1.024E+08,1.019E+08,0.995 199,1.025E+08,1.019E+08,0.994 200,1.024E+08,1.019E+08,0.994 201,1.024E+08,1.019E+08,0.995 202,1.024E+08,1.019E+08,0.994 203,1.024E+08,1.019E+08,0.994 204,1.024E+08,1.019E+08,0.994 205,1.024E+08,1.019E+08,0.994 206,1.024E+08,1.019E+08,0.994 207,1.024E+08,1.019E+08,0.994 208,9.567E+07,9.581E+07,1.001 209,9.567E+07,9.584E+07,1.002 210,9.567E+07,9.584E+07,1.002 211,9.567E+07,9.581E+07,1.001 212,9.567E+07,9.580E+07,1.001 213,9.567E+07,9.581E+07,1.002 214,9.567E+07,9.581E+07,1.001 215,9.567E+07,9.581E+07,1.001 216,9.567E+07,9.581E+07,1.001 217,9.567E+07,9.580E+07,1.001 218,9.566E+07,9.580E+07,1.001 219,9.566E+07,9.580E+07,1.001 220,9.567E+07,9.580E+07,1.001 221,9.566E+07,9.581E+07,1.002 222,9.567E+07,9.584E+07,1.002 223,9.566E+07,9.581E+07,1.001 224,8.925E+07,9.014E+07,1.010 225,8.926E+07,8.997E+07,1.008 226,8.926E+07,9.011E+07,1.010 227,8.926E+07,9.012E+07,1.010 228,8.926E+07,9.014E+07,1.010 229,8.926E+07,8.997E+07,1.008 230,8.926E+07,9.011E+07,1.010 231,8.926E+07,9.014E+07,1.010 232,8.926E+07,9.014E+07,1.010 233,8.926E+07,8.986E+07,1.007 234,8.926E+07,9.011E+07,1.010 235,8.926E+07,9.011E+07,1.010 236,8.926E+07,9.015E+07,1.010 237,8.926E+07,8.996E+07,1.008 238,8.926E+07,8.997E+07,1.008 239,8.926E+07,9.011E+07,1.010 240,8.366E+07,8.451E+07,1.010 benchmarking random size inputs [1-N] : Size, TPut-new,TPut-old, Tput Speedup 129,2.450E+08,2.453E+08,1.001 130,2.408E+08,2.408E+08,1.000 131,2.374E+08,2.389E+08,1.006 132,2.350E+08,2.351E+08,1.001 133,2.404E+08,2.401E+08,0.999 134,2.357E+08,2.355E+08,0.999 135,2.322E+08,2.323E+08,1.000 136,2.327E+08,2.328E+08,1.001 137,2.291E+08,2.287E+08,0.998 138,2.309E+08,2.307E+08,0.999 139,2.324E+08,2.322E+08,0.999 140,2.269E+08,2.269E+08,1.000 141,2.275E+08,2.291E+08,1.007 142,2.323E+08,2.322E+08,0.999 143,2.286E+08,2.290E+08,1.002 144,2.267E+08,2.261E+08,0.997 145,2.209E+08,2.227E+08,1.008 146,2.244E+08,2.242E+08,0.999 147,2.241E+08,2.242E+08,1.000 148,2.214E+08,2.221E+08,1.003 149,2.191E+08,2.189E+08,0.999 150,2.210E+08,2.209E+08,1.000 151,2.163E+08,2.168E+08,1.003 152,2.204E+08,2.207E+08,1.001 153,2.145E+08,2.153E+08,1.004 154,2.155E+08,2.169E+08,1.006 155,2.139E+08,2.137E+08,0.999 156,2.120E+08,2.117E+08,0.999 157,2.089E+08,2.104E+08,1.007 158,2.059E+08,2.061E+08,1.001 159,2.129E+08,2.128E+08,1.000 160,2.079E+08,2.079E+08,1.000 161,2.083E+08,2.082E+08,1.000 162,2.058E+08,2.062E+08,1.002 163,2.024E+08,2.028E+08,1.002 164,2.061E+08,2.059E+08,0.999 165,2.010E+08,2.015E+08,1.003 166,2.028E+08,2.030E+08,1.001 167,2.027E+08,2.028E+08,1.000 168,2.012E+08,2.011E+08,0.999 169,2.009E+08,2.008E+08,0.999 170,2.008E+08,2.007E+08,1.000 171,1.974E+08,1.974E+08,1.000 172,1.956E+08,1.956E+08,1.000 173,1.989E+08,1.987E+08,0.999 174,1.975E+08,1.988E+08,1.006 175,2.000E+08,2.000E+08,1.000 176,1.958E+08,1.957E+08,1.000 177,1.984E+08,1.983E+08,0.999 178,1.987E+08,1.987E+08,1.000 179,1.888E+08,1.890E+08,1.001 180,1.912E+08,1.910E+08,0.999 181,1.898E+08,1.900E+08,1.001 182,1.913E+08,1.912E+08,0.999 183,1.937E+08,1.937E+08,1.000 184,1.874E+08,1.883E+08,1.005 185,1.897E+08,1.896E+08,1.000 186,1.893E+08,1.893E+08,1.000 187,1.916E+08,1.916E+08,1.000 188,1.861E+08,1.871E+08,1.006 189,1.874E+08,1.878E+08,1.002 190,1.782E+08,1.783E+08,1.001 191,1.827E+08,1.832E+08,1.003 192,1.828E+08,1.827E+08,0.999 193,1.858E+08,1.857E+08,1.000 194,1.806E+08,1.804E+08,0.999 195,1.802E+08,1.800E+08,0.999 196,1.823E+08,1.823E+08,1.000 197,1.783E+08,1.782E+08,0.999 198,1.831E+08,1.830E+08,1.000 199,1.791E+08,1.790E+08,0.999 200,1.797E+08,1.795E+08,0.999 201,1.792E+08,1.790E+08,0.999 202,1.783E+08,1.781E+08,0.999 203,1.775E+08,1.772E+08,0.999 204,1.795E+08,1.795E+08,1.000 205,1.716E+08,1.715E+08,0.999 206,1.753E+08,1.751E+08,0.999 207,1.704E+08,1.702E+08,0.999 208,1.734E+08,1.733E+08,0.999 209,1.739E+08,1.737E+08,0.999 210,1.714E+08,1.713E+08,0.999 211,1.652E+08,1.652E+08,1.000 212,1.721E+08,1.723E+08,1.002 213,1.706E+08,1.705E+08,0.999 214,1.634E+08,1.634E+08,1.000 215,1.646E+08,1.644E+08,0.999 216,1.710E+08,1.711E+08,1.000 217,1.627E+08,1.624E+08,0.998 218,1.670E+08,1.668E+08,0.999 219,1.666E+08,1.665E+08,0.999 220,1.675E+08,1.673E+08,0.999 221,1.645E+08,1.643E+08,0.999 222,1.624E+08,1.623E+08,0.999 223,1.656E+08,1.657E+08,1.001 224,1.675E+08,1.673E+08,0.999 225,1.643E+08,1.641E+08,0.999 226,1.597E+08,1.595E+08,0.999 227,1.599E+08,1.597E+08,0.999 228,1.608E+08,1.606E+08,0.999 229,1.632E+08,1.634E+08,1.001 230,1.601E+08,1.608E+08,1.004 231,1.493E+08,1.492E+08,0.999 232,1.607E+08,1.606E+08,1.000 233,1.604E+08,1.603E+08,0.999 234,1.569E+08,1.568E+08,0.999 235,1.620E+08,1.621E+08,1.001 236,1.586E+08,1.586E+08,1.000 237,1.609E+08,1.609E+08,1.000 238,1.599E+08,1.598E+08,1.000 239,1.541E+08,1.542E+08,1.000 240,1.570E+08,1.574E+08,1.002 Latency for small inputs of random size [1-N] : Size, TPut-new,TPut-old, Tput Speedup 129,8.306E+07,8.302E+07,1.000 130,8.259E+07,8.260E+07,1.000 131,8.243E+07,8.242E+07,1.000 132,8.164E+07,8.166E+07,1.000 133,8.233E+07,8.234E+07,1.000 134,8.188E+07,8.187E+07,1.000 135,8.138E+07,8.137E+07,1.000 136,8.124E+07,8.122E+07,1.000 137,8.089E+07,8.091E+07,1.000 138,8.096E+07,8.099E+07,1.000 139,8.111E+07,8.108E+07,1.000 140,8.053E+07,8.054E+07,1.000 141,8.070E+07,8.066E+07,1.000 142,8.127E+07,8.129E+07,1.000 143,8.090E+07,8.091E+07,1.000 144,8.001E+07,8.000E+07,1.000 145,7.984E+07,7.979E+07,0.999 146,7.992E+07,7.990E+07,1.000 147,8.002E+07,7.998E+07,1.000 148,7.974E+07,7.963E+07,0.999 149,7.912E+07,7.906E+07,0.999 150,7.948E+07,7.943E+07,0.999 151,7.904E+07,7.894E+07,0.999 152,7.944E+07,7.935E+07,0.999 153,7.884E+07,7.869E+07,0.998 154,7.918E+07,7.901E+07,0.998 155,7.845E+07,7.832E+07,0.998 156,7.848E+07,7.823E+07,0.997 157,7.831E+07,7.812E+07,0.998 158,7.758E+07,7.734E+07,0.997 159,7.851E+07,7.828E+07,0.997 160,7.767E+07,7.745E+07,0.997 161,7.767E+07,7.741E+07,0.997 162,7.755E+07,7.727E+07,0.996 163,7.695E+07,7.664E+07,0.996 164,7.753E+07,7.714E+07,0.995 165,7.668E+07,7.623E+07,0.994 166,7.718E+07,7.684E+07,0.996 167,7.713E+07,7.674E+07,0.995 168,7.687E+07,7.645E+07,0.995 169,7.682E+07,7.636E+07,0.994 170,7.684E+07,7.638E+07,0.994 171,7.630E+07,7.580E+07,0.993 172,7.609E+07,7.554E+07,0.993 173,7.670E+07,7.618E+07,0.993 174,7.652E+07,7.602E+07,0.993 175,7.665E+07,7.611E+07,0.993 176,7.618E+07,7.562E+07,0.993 177,7.658E+07,7.604E+07,0.993 178,7.676E+07,7.619E+07,0.993 179,7.526E+07,7.454E+07,0.990 180,7.557E+07,7.485E+07,0.991 181,7.540E+07,7.472E+07,0.991 182,7.548E+07,7.483E+07,0.991 183,7.592E+07,7.516E+07,0.990 184,7.508E+07,7.437E+07,0.991 185,7.555E+07,7.474E+07,0.989 186,7.531E+07,7.450E+07,0.989 187,7.559E+07,7.486E+07,0.990 188,7.493E+07,7.411E+07,0.989 189,7.523E+07,7.443E+07,0.989 190,7.342E+07,7.246E+07,0.987 191,7.440E+07,7.346E+07,0.987 192,7.430E+07,7.341E+07,0.988 193,7.478E+07,7.396E+07,0.989 194,7.396E+07,7.296E+07,0.987 195,7.391E+07,7.290E+07,0.986 196,7.426E+07,7.329E+07,0.987 197,7.361E+07,7.254E+07,0.986 198,7.444E+07,7.346E+07,0.987 199,7.369E+07,7.265E+07,0.986 200,7.386E+07,7.274E+07,0.985 201,7.388E+07,7.277E+07,0.985 202,7.367E+07,7.256E+07,0.985 203,7.365E+07,7.254E+07,0.985 204,7.400E+07,7.284E+07,0.984 205,7.279E+07,7.150E+07,0.982 206,7.324E+07,7.196E+07,0.983 207,7.256E+07,7.118E+07,0.981 208,7.312E+07,7.177E+07,0.982 209,7.322E+07,7.190E+07,0.982 210,7.270E+07,7.135E+07,0.982 211,7.165E+07,7.017E+07,0.979 212,7.284E+07,7.150E+07,0.982 213,7.260E+07,7.126E+07,0.982 214,7.147E+07,6.991E+07,0.978 215,7.168E+07,7.016E+07,0.979 216,7.284E+07,7.143E+07,0.981 217,7.143E+07,6.983E+07,0.978 218,7.196E+07,7.048E+07,0.979 219,7.203E+07,7.046E+07,0.978 220,7.220E+07,7.065E+07,0.979 221,7.149E+07,6.998E+07,0.979 222,7.141E+07,6.973E+07,0.977 223,7.178E+07,7.028E+07,0.979 224,7.228E+07,7.071E+07,0.978 225,7.175E+07,7.017E+07,0.978 226,7.117E+07,6.929E+07,0.974 227,7.094E+07,6.904E+07,0.973 228,7.111E+07,6.936E+07,0.975 229,7.173E+07,6.992E+07,0.975 230,7.126E+07,6.935E+07,0.973 231,6.915E+07,6.696E+07,0.968 232,7.137E+07,6.944E+07,0.973 233,7.120E+07,6.935E+07,0.974 234,7.059E+07,6.860E+07,0.972 235,7.152E+07,6.965E+07,0.974 236,7.091E+07,6.895E+07,0.972 237,7.138E+07,6.939E+07,0.972 238,7.120E+07,6.925E+07,0.973 239,7.013E+07,6.805E+07,0.970 240,7.070E+07,6.866E+07,0.971 [results.tar.gz](https://github.com/Cyan4973/xxHash/files/10396697/results.tar.gz) ```
Cyan4973 (Migrated from github.com) reviewed 2023-01-11 17:56:30 -06:00
@ -743,6 +743,18 @@ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canoni
# define XXH_FALLTHROUGH /* fallthrough */
Cyan4973 (Migrated from github.com) commented 2023-01-11 17:56:30 -06:00

nit: NOESCAPE

nit: `NOESCAPE`
Cyan4973 commented 2023-01-11 18:01:14 -06:00 (Migrated from github.com)

Interesting. I did not know the noescape attribute.
I wonder if it's somehow implied when employing the restrict qualifier.

Interesting. I did not know the `noescape` attribute. I wonder if it's somehow implied when employing the `restrict` qualifier.
goldsteinn commented 2023-01-11 20:19:13 -06:00 (Migrated from github.com)

Interesting. I did not know the noescape attribute. I wonder if it's somehow implied when employing the restrict qualifier.

I don't think so: https://godbolt.org/z/dYeshYbaz

> Interesting. I did not know the `noescape` attribute. I wonder if it's somehow implied when employing the `restrict` qualifier. I don't think so: https://godbolt.org/z/dYeshYbaz
goldsteinn (Migrated from github.com) reviewed 2023-01-11 20:19:27 -06:00
@ -743,6 +743,18 @@ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canoni
# define XXH_FALLTHROUGH /* fallthrough */
goldsteinn (Migrated from github.com) commented 2023-01-11 20:19:26 -06:00

Fixed in V2.

Fixed in V2.
Cyan4973 (Migrated from github.com) reviewed 2023-01-11 22:59:24 -06:00
@ -743,6 +743,18 @@ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canoni
# define XXH_FALLTHROUGH /* fallthrough */
Cyan4973 (Migrated from github.com) commented 2023-01-11 22:59:24 -06:00

nit: almost there ... :)

nit: almost there ... :)
Cyan4973 (Migrated from github.com) approved these changes 2023-01-11 22:59:56 -06:00
goldsteinn (Migrated from github.com) reviewed 2023-01-11 23:41:38 -06:00
@ -743,6 +743,18 @@ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canoni
# define XXH_FALLTHROUGH /* fallthrough */
goldsteinn (Migrated from github.com) commented 2023-01-11 23:41:38 -06:00

oof... fixed in v3...

oof... fixed in v3...
Sign in to join this conversation.
No description provided.