restored checksum validation for xxh3 & xxh128

triggered when starting `xxhsum` in benchmark mode.
This commit is contained in:
Yann Collet 2020-02-29 19:19:23 -08:00
parent 1141783b29
commit 6f82266eca
12 changed files with 170 additions and 56 deletions

26
tests/bench/maxs512.csv Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
=== benchmarking 1 hash functions ===
benchmarking large inputs : from 512 bytes (log9) to 128 MB (log27)
XXH128 , 13641.1, 16161.5, 18472.0, 19754.7, 20483.1, 20778.1, 20696.8, 20981.1, 20981.9, 20608.6, 20523.5, 20566.9, 20592.4, 20579.1, 20140.9, 16911.7, 16589.6, 16483.7, 16396.3
Throughput small inputs of fixed size :
XXH128 ,299237566.3,299239371.5,298699392.3,299178833.2,299182907.5,299031078.4,299137206.0,299177073.3,276136918.5,276136303.5,276131430.7,276124870.0,276126558.0,276140782.3,276129191.6,276142185.7,275900000.0,275904061.0,275860648.7,275906491.9,275885394.3,275906491.9,275903855.4,275902841.9,275887421.7,275908114.9,275900609.4,275902636.4,275898986.5,275904868.9,275900205.3,275904868.9,179518235.2,179572536.0,179601513.0,179599543.5,179588835.6,179422238.4,179599543.5,179596374.3,179590036.2,179596374.3,179597743.4,179593661.4,179599543.5,179594261.5,179585811.0,179594717.8,179600000.0,179594717.8,179601056.5,179587323.2,179599856.5,179592605.0,179595774.2,179594717.8,179600600.0,179579929.3,179599400.0,179581441.3,179598487.1,179583098.1,179598943.5,179592148.8,143359646.1,143352077.5,143358823.5,143357116.4,143361332.7,143350391.2,143360489.4,143560454.6,143195788.4,143194131.5,143184852.7,143184866.2,143194437.1,143195816.2,143194960.0,143578189.4,143356375.9,143359708.2,143352920.8,143358000.9,143358802.9,143359666.8,143361353.4,143579034.1,143341156.5,143346215.6,143347922.3,143347058.8,143341156.5,143344549.3,143341999.7,143444887.2,119621671.5,119627047.9,119628004.4,119627300.7,119624936.8,119626597.0,119627443.9,119686123.2,119607543.3,119611314.7,119612721.8,119619307.6,119618097.4,119618350.7,119616690.1,119683307.2,119514390.1,119521162.4,119520014.1,119520014.1,119520459.3,119511578.3,119519053.2,119681648.9,119513170.7,119476990.4,119489975.4,119502626.3,119504476.4,119508508.2,119508952.7
benchmarking random size inputs [1-N] :
XXH128 ,299209495.5,299215377.2,299238257.7,237519286.4,213686516.0,212159304.5,198898948.0,209253417.5,226026834.9,227724229.7,226231878.0,221868177.3,217751813.8,218052133.0,202768077.0,207991200.6,226537330.0,230515473.7,232065510.4,240188919.2,238383120.0,249385973.7,250693196.6,245085673.5,247959720.4,241056323.5,252948510.7,246638773.0,242908590.4,250035851.7,248341515.8,251074868.5,247440059.6,247053304.8,238803749.4,235694261.2,229156819.1,232318470.8,226425509.4,231981571.7,221827365.9,227492425.8,220151027.1,211577139.8,217682130.6,213598292.8,211368653.4,211862947.1,206133163.3,202136319.2,205400687.6,199182875.9,209884949.5,203803510.9,200972276.0,201428045.7,202280195.7,200366871.4,191045007.5,195361200.6,191330193.6,191550538.0,193242963.9,193400376.8,191153351.0,199543236.9,200693872.8,199815494.9,194858290.8,200231181.1,198431344.6,198706006.9,197168210.2,195073868.4,196128750.6,194760873.9,199615792.8,195082818.2,196543831.7,193126737.9,187942760.0,194336535.3,189595824.7,190389083.3,195471805.1,192517435.9,193307740.3,192722847.4,186191211.3,194198975.0,188954103.8,184890339.8,186150291.3,183611675.7,184799360.0,186459581.1,187115859.4,185151830.9,184635157.2,178797515.0,181975777.4,180063211.1,179010964.4,174862423.1,179743736.1,179951527.0,177522455.2,176896377.8,171431936.6,170544735.2,169124760.4,168340554.8,169851405.1,171528354.4,172404840.7,171265870.5,165423405.5,167760301.9,169050676.9,161866451.2,166238737.4,165770862.8,167935285.7,163982741.1,159844953.0,164082939.1,162434005.8
Latency for small inputs of fixed size :
XXH128 ,147957292.9,147884962.7,147963415.0,113907222.4,113513100.2,112806545.9,113092787.1,113876617.0,120650307.0,119750123.5,118272675.4,108385540.8,118601395.3,117745322.4,119988941.1,121273079.1,102050055.0,114981000.2,115992070.7,120822818.7,113200665.9,116949501.5,112920776.6,114135805.4,114361342.3,111299980.0,114693738.3,118316951.1,114138330.6,110707878.7,114452091.1,114612927.7,104379025.4,105314549.6,107057564.0,105275541.0,105179573.4,104219602.9,103011764.7,105575521.6,106252205.6,105135294.1,104065930.2,105191642.5,105255727.8,104160048.9,105526396.3,104343170.5,104019246.3,104040564.5,105127858.2,103524138.4,102467574.5,101238721.5,104126592.0,101662607.2,104337135.4,104072185.3,104245582.7, 99047058.8,101052284.9,104979265.3,111598030.6,101362320.9, 94454378.6, 94852941.2, 94533069.8, 93584381.8, 94630284.3, 92326244.9, 92866344.7, 94868657.9, 94181798.9, 93861584.2, 95026460.0, 95656010.1, 95565830.2, 94865565.9, 94884886.4, 94741733.8, 94641565.4, 99038846.1, 95162191.6, 98637275.3, 95465829.0, 94093358.1, 95028293.8, 94585534.0, 94351053.4, 94202131.4, 92164082.5, 95405591.4, 93418970.8, 94461066.4, 94094258.9, 93896879.3, 82663247.1, 80964873.1, 81620648.7, 82077919.0, 83062243.7, 81407319.0, 81681872.5, 81138790.0, 82141659.7, 81855244.3, 82150125.3, 82228444.4, 80952941.2, 81427974.8, 81351505.6, 81684871.8, 82419939.7, 81916201.5, 81690273.4, 81585959.1, 81561347.5, 82050527.9, 81903372.5, 81811176.0, 81121143.5, 81767702.3, 81449800.6, 82223045.7, 84171519.3, 81593637.7, 81996131.0
Latency for small inputs of random size [1-N] :
XXH128 ,147940757.8,147827877.3,147796115.7,137980729.6,131164508.4,129962879.5,126774478.1,125773766.1,125198573.8,124256770.7,124186812.5,123328764.9,122757995.9,122543570.2,121323897.1,121378409.9,121143327.6,121481307.2,121462014.4,121127986.7,121009293.0,120512895.9,120547027.0,120280189.1,119175616.7,119684715.2,119259525.1,119183241.1,119717191.4,118687834.2,118592042.9,118859765.2,118189892.0,118148226.6,117212628.0,116719892.3,116891597.7,115895071.7,115640496.2,115061801.1,115100335.4,115450254.8,114388125.1,114135873.0,114338293.7,113861793.9,113098112.2,112993387.2,112621815.2,112454783.4,112723779.9,112249453.7,112685174.8,111938849.4,111670257.0,112022629.2,111723951.2,111462008.9,110914405.7,110805753.0,110897447.2,110638823.2,110758265.4,110723447.3,110030935.0,109893859.9,109840153.4,109945703.6,109357065.9,108995481.1,108856338.1,108235750.8,108761009.4,108895859.0,107290330.9,108378093.8,107590060.3,107353572.7,108034039.2,106550290.3,106469200.9,106777448.5,106711298.8,106042155.7,106399623.6,105973240.4,106314383.7,106041807.5,104637686.3,106262830.7,105749885.3,105293501.7,105291341.5,104563509.6,104841840.3,104663066.1,104662450.4,104763473.4,104769410.8,103661693.4,103649102.6,102929928.8,102618558.8,101598267.6,102663631.9,101882906.7,102192272.6,101035004.2,100602023.2,100075917.6,100278813.7, 99634057.4, 99859394.4,100057041.0,100144198.2, 99741626.4, 98603233.6, 99107368.8, 99035324.3, 98445260.8, 98364517.6, 97841988.7, 98405038.0, 97340648.1, 96775143.1, 97053736.4, 96680935.2

View File

11
tests/bench/xxh3_1024.txt Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

11
tests/bench/xxh3_dev.txt Normal file
View File

@ -0,0 +1,11 @@
=== benchmarking 1 hash functions ===
benchmarking large inputs : from 32 bytes (log5) to 128 MB (log27)
xxh3 , 8818.3, 12093.4, 15378.1, 13719.7, 18015.4, 20386.9, 22268.5, 23338.1, 23922.1, 24121.6, 24067.0, 24155.1, 24024.0, 23449.7, 23014.6, 22997.0, 23010.0, 23005.2, 22363.9, 18231.8, 17511.0, 17251.9, 17135.6
Throughput small inputs of fixed size :
xxh3 ,326239257.4,326245139.7,326239257.4,397811764.7,397781346.1,397804744.6,397788365.4,397797724.8,398498805.9,398482486.8,398504776.2,398507120.3,398519817.2,398518753.8,398522335.6,398515128.2,275592079.7,275588420.4,275339406.4,275556811.2,275587818.3,275344261.1,275588837.4,275591060.7,275588837.4,275571005.9,275585595.1,275585780.1,275588837.4,275592079.7,275589856.4,275590041.6,188950068.2,188946272.5,188947058.8,188949743.2,188883727.2,188912743.0,188935619.5,188948170.3,188941501.7,188945622.2,188944049.7,188948495.3,188931825.3,188947058.8,188946272.5,188949606.8,188948495.3,188949606.8,188932611.0,188948495.3,188949606.8,188948495.3,188937381.6,188948495.3,188945947.4,188950718.2,188948956.7,188949606.8,188755303.3,188949606.8,188949743.2,188950718.2,144155324.7,144170642.3,144162269.3,144162956.1,144163804.1,144165500.0,144162108.1,146087243.0,144784135.6,144784828.6,144782352.9,144771282.2,144784828.6,144784056.3,144773836.8,146078056.5,143011752.0,143005029.0,143010910.8,143013440.8,143014275.5,143014282.0,143013434.3,146088102.3,143456267.3,143440284.7,143453760.5,143454555.1,143455423.5,143457954.9,143403992.6,146058296.3,120509849.4,120505099.2,120510060.6,120509651.6,120509351.8,120515520.3,120517149.1,122727566.8,120590276.6,120600000.0,120601418.8,120600502.4,120600709.4,120596245.8,120599290.6,122741898.5,119106437.0,119116669.5,119114567.4,119114844.4,119116946.4,119077020.8,119106349.2,122741070.2,119389375.8,119390342.2,119386830.7,119386830.7,119393590.0,119390606.2,119387533.0,122741176.5, 63924147.4, 63925275.4, 63925033.5, 63925651.4, 63922267.5, 63925275.4, 63924523.4, 63920763.7, 63924523.4, 63871551.7, 63925033.5, 63922267.5, 63923771.4, 63915258.0, 63923395.4, 63935535.1, 63901747.5, 63902499.3, 63902499.3, 63902123.4, 63902499.3, 63902499.3, 63900995.8, 63904754.6, 63904754.6, 63904378.7, 63905506.4, 63899116.6, 63853424.6, 63905130.5, 63901879.5, 63938679.1, 63927155.5, 63926913.8, 63927531.5, 63925651.4, 63926403.5, 63925651.4, 63927531.5, 63926161.7, 63926027.4, 63926403.5, 63925275.4, 63926027.4, 63923771.4, 63925033.5, 63924147.4, 63927478.2, 63935159.0, 63933654.9, 63923503.5, 63935535.1, 63933037.7, 63933789.8, 63934541.9, 63937550.7, 63936933.8, 63936422.4, 63935458.4, 63936075.7, 63932661.6, 63936046.3, 63935670.2, 62961416.1, 54380113.8, 54380433.6, 54378032.1, 54376595.4, 54380753.5, 54378514.5, 54377235.1, 54379474.0, 54380000.6, 54378032.4, 54379200.6, 54373387.8, 54376585.2, 54376594.0, 54378500.3, 54406707.9, 54399435.3, 54396128.9, 54404183.1, 54404197.4, 54401727.9, 54406425.9, 54405855.0, 54404910.1, 54405006.7, 54421840.3, 54422104.5, 54435659.9, 54434728.9, 54433528.1, 54433991.8, 54441291.2, 54439777.6, 54440235.5, 54440473.2, 54440204.0, 54439277.2, 54438967.6, 54438913.9, 54438789.7, 54435648.8, 54436657.8, 54436827.6, 54431809.0, 54436078.7, 54434873.7, 54434661.6, 54435773.3, 54432471.9, 54427094.4, 54430593.9, 54430647.8, 54430146.0, 54432018.4, 54432000.0, 54430737.0, 54431120.2, 54419422.0, 54429771.4, 54429473.9, 54429145.4, 54429544.6, 54428981.5, 54441000.0, 47517721.1, 47508900.3, 47524797.7, 47519290.9
benchmarking random size inputs [1-N] :
xxh3 ,326243220.7,326241301.6,326237463.6,258938309.4,233666758.9,244871364.0,243210879.2,256420912.2,302199354.8,325008868.4,318511828.9,327533536.2,325058701.1,326715936.3,311273283.7,317055328.6,357620901.3,343410839.0,342873842.1,339263687.3,340613366.4,327869438.1,332493209.8,332962923.8,330761693.4,324887971.7,320383662.0,317778707.5,317589643.7,315706188.0,317151989.5,311097506.4,311138628.5,296887221.3,299643916.9,287011689.3,290910908.2,285999564.1,275992427.4,274888366.6,270298133.0,269579525.8,263849533.9,261198120.8,264260988.0,256472539.5,253779856.9,252810323.9,248705860.1,248405120.2,243884926.0,246993859.9,250276170.9,246223591.8,243862096.6,243762757.0,244987280.9,238125916.1,237356406.7,236392965.8,233381592.6,233510368.9,235757776.0,232119456.3,230596360.8,227242399.4,226713170.7,230871061.7,223745554.0,217379199.2,223278401.5,211408565.3,217892351.6,213663843.1,208823442.6,214404183.6,209163169.8,211598272.5,212752064.3,203037858.0,203142132.9,202992654.5,200658476.0,202115359.7,203654825.9,193604747.6,201032879.4,196456811.8,192759255.0,199830546.6,195183463.3,191847073.7,188766914.4,189687784.5,190764188.5,189894895.6,192205757.6,194187364.2,190283784.6,186413902.1,188212368.1,184871415.9,189117883.7,181117545.2,186505063.0,185321684.3,187064700.1,180577858.6,177774488.6,174041995.1,178406749.4,176723959.7,178476608.7,179276793.9,177231786.9,178074102.1,176139372.3,175818990.4,175051778.2,171092698.8,174589445.3,168848761.1,171872148.3,169619387.8,168484912.7,169588085.8,169692009.7,175018975.8,170876890.8,164730026.9,162267983.1,158765510.7,161606833.0,157113113.4,154705244.8,153501717.4,148813908.9,148886062.8,150541809.3,147580312.4,149104851.8,149999409.9,146718260.4,144602312.8,138806621.8,139925175.0,141953813.4,139847205.9,134896496.4,138202161.4,134137510.8,135766449.2,133869951.5,135201590.6,130931164.1,127805993.2,127549281.2,123838389.8,130146942.0,124645559.0,125887361.1,123913951.4,121578356.7,125000736.6,118582820.8,121405939.3,120954985.2,120812278.3,120404763.4,120067773.1,117287329.5,115865988.3,118066850.5,117079743.9,118154316.1,115786690.2,119268860.7,119793384.5,110877933.5,113113837.6,112018628.6,112662624.4,115271028.7,110220275.7,112035294.1,112173513.0,113780976.9,111172051.0,111691458.9,104073596.7,108135142.5,107242979.6,110272161.3,106456657.7,104918225.7,108551393.1,103788400.1,107414309.0,104870327.0,105707386.0,104888334.9,105080927.7,104989854.8,106250502.4, 98814980.7,102105767.9, 98119833.6,101364503.9,101406209.6, 99673760.9, 95681860.5,100171562.5, 99927962.5, 93935528.3, 95876333.2,100098540.2, 94624345.3, 96799186.3, 97359534.7, 97725210.4, 95462922.1, 93745481.1, 95407452.5, 97852073.7, 96207278.9, 93206329.5, 92074582.4, 93538099.2, 95447680.5, 94113633.1, 86138842.9, 94599541.2, 93704123.8, 92140840.2, 94986825.1, 92201769.8, 95547825.5, 93917727.0, 89777544.5, 92038466.1, 92771800.2, 87752521.1, 89449013.4, 88656242.1, 89566766.7, 88151621.5, 89659891.6, 89298654.5, 89098960.6, 86541326.5, 87927876.0, 87344107.9, 86763274.9, 89161895.2, 89184497.7, 88981574.7, 84044935.3, 87551644.2, 84191044.7, 86533186.7
Latency for small inputs of fixed size :
xxh3 ,148527024.2,144665216.6,148677740.4,136075949.4,131326796.5,135567398.4,138108515.1,134201145.8,135914163.2,128252941.2,142483191.1,142481530.3,139521888.0,136566571.6,135908853.0,130157292.3,118563008.1,126510949.4,123483877.0,119126608.8,120309109.2,119867062.7,126547058.8,117542910.3,119687327.2,113857047.9,118000329.4,124788989.2,117268556.6,113064602.5,117283406.0,117302466.7,103003887.9, 98745390.1,105242106.3,101334619.5,104899711.8,102688235.3,101662216.1,105000000.0,105290401.5,104328543.4,103135109.7,104002447.1,104117647.1,102802693.9,103847058.8,103082352.9,101725821.4,102484764.3,103707102.4,101974187.3,101133509.4, 98296330.3,102602108.0,100890609.2,102834689.2,103512982.5,101750650.0, 96283346.3, 99641176.5,103455375.4,111914398.0, 99312973.5, 93783270.3, 92770588.2, 94350388.8, 93901104.7, 93661773.0, 92005341.1, 93379606.5, 94989352.8, 94259932.5, 93564534.1, 94984324.2, 95650127.9, 94595866.3, 93668205.7, 95036020.3, 94984324.2, 93602028.2, 93568214.6, 94876772.0, 98170226.0, 94970325.4, 94145397.4, 95097203.0, 93834552.9, 94980972.0, 94641491.7, 93558101.8, 94956624.0, 93712685.8, 95435562.6, 93860841.0, 94087681.8, 87239284.7, 86498051.5, 87143739.5, 86835541.3, 86938876.3, 85895814.3, 86379519.3, 84460731.3, 86547058.8, 85748572.0, 86390268.0, 87062145.2, 85464705.9, 87453455.6, 86839133.2, 86489030.1, 86760865.0, 86559841.9, 86382352.9, 86528677.2, 86220477.1, 87168807.9, 86472179.7, 86632746.1, 86387511.5, 86354759.8, 86063693.4, 86175256.2, 87657792.3, 86610514.4, 86742976.8, 87019946.2, 51041654.4, 51477508.0, 51235450.2, 51482352.9, 51839651.8, 51400440.0, 52375574.9, 51894248.8, 52068444.2, 51795031.7, 51435294.1, 51653548.9, 51475691.4, 51581863.4, 51519589.7, 51562582.7, 51466652.6, 51624553.0, 51669980.4, 51492300.3, 51561672.8, 51369681.7, 51680224.9, 51238765.2, 51534687.8, 51479930.4, 50915288.1, 51306030.5, 51254301.1, 51412203.4, 51792594.3, 51431058.6, 51378424.0, 52120463.5, 51348569.1, 51650814.4, 51320062.1, 51314024.9, 51561672.8, 51510249.7, 51292307.3, 51525774.7, 51416134.8, 51628804.4, 51846231.7, 51383469.0, 51272851.3, 51552455.3, 52052393.5, 51394558.2, 51337250.7, 51488968.8, 51490483.0, 51518074.6, 51294721.1, 51445545.7, 51338760.5, 51476296.9, 51209053.6, 51576588.5, 51345088.4, 51418690.0, 51411325.9, 52452652.6, 46419910.1, 46609297.2, 46373742.7, 46628040.4, 46418887.5, 46382352.9, 46442960.9, 46382505.7, 46384707.7, 46271148.8, 46384580.1, 46360676.9, 46868759.1, 46427111.9, 46482618.3, 46397167.4, 46351116.9, 46434486.0, 46326047.6, 46464911.7, 46328367.0, 46395270.9, 46448418.0, 46426086.8, 46251314.7, 46354909.9, 46597048.3, 46532570.2, 46587144.7, 46425815.3, 46471599.2, 46481909.4, 46414074.6, 46502232.3, 46343779.8, 46399444.7, 46438334.9, 46588789.2, 46458254.7, 46481139.9, 46442672.9, 46400923.4, 46412314.9, 46476549.0, 46374226.5, 46587289.4, 46360513.1, 46458159.3, 46316702.7, 46174430.2, 46359329.1, 46428016.8, 46568178.2, 46499373.5, 46303684.1, 46396115.4, 46379434.6, 46359401.5, 46440566.1, 46453422.6, 46436908.5, 46472626.7, 46569753.1, 46896910.3, 41750716.1, 41639402.9, 41621083.3, 41588450.8
Latency for small inputs of random size [1-N] :
xxh3 ,148521548.9,146801564.7,146835130.3,144376408.0,142084692.5,140859905.0,139680840.4,139129259.1,140244691.5,139873093.9,139869642.5,139167465.6,139496717.7,138569949.6,138580083.5,138700000.0,137092267.4,136152140.3,135406006.3,133927731.3,133552883.1,132399651.8,131964257.4,131265070.9,130871081.8,129987410.1,129957527.9,129296245.3,129663943.2,128243744.9,128611518.0,128121690.0,127442041.0,126411831.1,125597783.6,123938510.0,124341052.4,124055682.4,122637013.5,122337202.4,121885937.8,121723375.2,121732429.8,119476884.4,120572716.0,118757791.7,118220683.3,118689141.9,118043140.8,117478864.0,117523856.6,117623522.4,117877857.4,115900078.8,116642548.7,116799228.2,116267714.6,115378506.7,114439830.1,114806185.1,114403887.8,114130754.5,114688022.2,114512978.6,113427410.1,113386308.1,113179462.1,113385687.8,112243817.5,111196743.1,111758234.6,110867915.2,111162730.5,111528711.5,110015415.6,110939835.0,109811049.9,109860116.0,110645032.2,108411907.6,108418502.4,108933422.7,108572739.7,107898685.0,108273028.2,107981082.6,108733218.9,107688868.8,106904218.5,108414315.6,107762347.6,106511414.7,106665882.2,106479194.6,106941993.2,106761649.6,106534967.8,106329918.0,106751288.1,105565134.5,105994577.7,105314254.1,104957228.8,103626759.9,104677702.1,104517746.2,104506361.9,103795069.8,102756567.9,102079439.5,103161015.9,102196865.0,102678177.4,102953720.5,102998941.6,102575710.4,101290011.5,102435525.9,102002624.7,100617709.2,101493678.3,100438632.6,101264780.8,100863383.0,100061795.6,100823674.8,100074076.7,101516130.9,100164696.2, 98656105.1, 98194482.8, 97003247.4, 97279147.6, 96063446.1, 95134397.1, 94908374.3, 93267692.5, 93297293.5, 93801458.5, 92555545.1, 93257085.0, 93387365.2, 92069698.6, 91064361.1, 89327030.1, 90129487.9, 90206685.7, 89315874.7, 88022162.9, 88876082.7, 87017605.7, 88453910.4, 87311997.5, 88055531.0, 85830421.5, 84685628.2, 84922591.7, 83457307.0, 85657979.9, 83247071.0, 83710340.7, 83389208.5, 81804587.4, 83431900.4, 81210509.6, 82212090.0, 81962872.5, 82170515.3, 81338896.4, 81275139.4, 80566178.9, 79299588.0, 80608982.9, 79960925.8, 80276755.5, 79704558.2, 80723926.5, 81253641.1, 77345790.9, 78336431.9, 77826664.9, 77866393.8, 78740018.5, 76883670.5, 78066061.3, 77462633.9, 78539888.1, 77686699.3, 77180004.4, 73837428.2, 75759180.2, 75896560.9, 77024044.3, 75121044.4, 74563803.8, 75866329.4, 73974472.9, 75866209.9, 74069059.7, 74230771.5, 74283568.9, 74164160.3, 74590357.8, 74752471.1, 71142684.0, 73328289.4, 70887409.3, 72475070.8, 72426915.4, 71643009.6, 68993070.2, 72473338.8, 71650203.0, 69442037.9, 69950674.7, 71825417.9, 69059446.2, 70543514.2, 70480258.5, 71453987.6, 69338864.9, 68453777.0, 69491752.0, 70956556.3, 70103205.6, 68592302.4, 68483201.3, 68513495.1, 69527290.5, 69003846.1, 64504220.5, 69051987.0, 68967630.5, 67521982.7, 69232176.2, 68480045.2, 69754158.5, 68826000.3, 66617522.3, 68054698.3, 68275839.8, 65388841.8, 66125372.2, 66381343.1, 66394654.4, 65851373.2, 66760205.4, 66182049.4, 66146748.0, 64829687.5, 65674836.3, 65410316.1, 65043230.8, 66109856.5, 66459011.5, 66418920.9, 63774723.4, 65483863.8, 63492076.3, 64945162.9

View File

@ -0,0 +1,11 @@
=== benchmarking 1 hash functions ===
benchmarking large inputs : from 512 bytes (log9) to 128 MB (log27)
xxh3 , 18259.2, 20643.9, 22407.2, 23426.5, 23963.0, 24123.3, 24113.2, 24134.0, 24259.9, 23615.6, 23119.6, 23126.1, 23154.5, 23108.1, 22475.8, 18190.1, 17686.4, 17435.1, 17309.9
Throughput small inputs of fixed size :
xxh3 ,299179435.9,299168274.4,299193515.2,326433373.9,326435537.6,326435415.8,326279209.2,326361850.5,326329659.0,326325696.3,326331578.5,326331578.5,326333498.0,326320061.6,326320061.6,326334923.6,275552941.2,275530851.1,275532052.6,275249142.1,275551921.5,275555163.4,275548679.7,275551685.8,275547241.3,275552522.8,275552941.2,275553542.4,275551320.3,275551685.8,275553725.3,275553542.4,188836404.9,188828597.7,188790543.1,188836859.1,188835419.8,188832744.1,188821636.8,188836859.1,188838298.3,188840848.3,188837187.4,188837187.4,188837515.7,188838626.6,188811970.3,188834965.7,188837515.7,188839409.1,188840848.3,188838626.6,188818633.6,188839409.1,188824640.1,188836076.6,188836404.9,188837844.0,188823789.2,188817523.1,188814973.0,188831961.8,188835294.1,188833401.0,149004635.6,148960318.0,149005005.9,149003506.0,149001029.9,148994875.8,149004129.4,149374176.5,148992617.4,148988859.2,148990612.0,148988235.3,148988235.3,148816029.1,148988859.2,149386477.8,149084727.4,149073328.0,149084727.4,149082609.3,149082973.5,149083229.9,149081219.7,149374176.5,149184725.1,149182092.5,149180337.5,149182970.0,149182092.5,149183491.0,149178582.6,149380326.9,122584743.5,122584629.9,122581745.7,122586793.1,122567441.2,122582466.7,122581631.9,123555189.6,122510440.6,122506837.6,122493868.8,122508278.8,122511044.1,122508161.5,122501073.4,123556711.0,121602145.9,121604771.3,121605167.0,121604056.0,121545335.2,121608188.0,121609057.4,123561730.9,122302327.6,122303724.1,122308552.6,122296021.3,122303004.6,122305162.9,122303724.1
benchmarking random size inputs [1-N] :
xxh3 ,299199397.6,299198748.1,299195275.2,245437023.3,216159409.1,201730856.5,223425360.5,234609161.2,252348163.8,241095451.1,235935134.6,230550967.4,216464028.2,223277180.4,219595069.6,220810162.1,259431030.6,259123096.9,267292215.7,276240043.2,274849911.7,280688516.9,281114503.7,274408092.0,275161326.5,272895879.8,273556374.4,262074039.2,273060176.5,269045004.2,265121745.8,268215511.0,265857967.3,260926062.0,265704833.9,254283613.8,254644003.9,256028808.4,251751091.9,251235788.4,249858753.7,250995945.4,246668474.9,246814373.3,244320612.1,242720397.1,239098832.9,238251508.0,241187537.2,236278549.6,235000792.9,233739563.1,233552631.6,233905110.6,232108340.1,232594516.4,231846808.6,229123754.1,220331083.6,230200471.7,227345698.4,220661336.9,225502283.9,228223201.9,221192029.5,218135399.2,221089374.8,221260212.8,217528414.3,213890698.1,218355960.8,206917614.7,217017185.7,213889003.7,209040778.3,212763701.3,207064111.2,211139598.6,209471055.4,203098859.7,201914687.9,207788167.5,204162204.8,201702896.2,200494917.9,199945804.6,202835994.0,198447644.9,195576999.0,200925653.0,198759415.2,195237450.2,194220773.5,192930928.5,193945350.4,195064678.5,191300563.9,195088781.1,193094817.0,190624429.9,190133856.3,187821617.4,188264015.3,180794225.5,186325210.2,182506579.6,183879390.8,180291906.2,178320571.3,177050147.5,178401536.4,176833972.3,177872821.1,177049915.1,176746088.7,175371962.5,173187231.7,175735029.7,174501634.7,169060075.3,173459285.5,167044394.9,173176875.9,167317615.9,166975454.3,170032238.6,168420680.9
Latency for small inputs of fixed size :
xxh3 ,148498485.2,148444439.2,148530519.1,116001623.6,112759486.8,112914326.0,113202552.9,113071814.7,136025129.7,128252788.1,142602537.5,142604215.1,139644726.8,136634746.6,136056702.5,130184406.3,105292567.6,119170161.6,123857312.6,119786366.8,123905205.0,121308023.1,116922153.9,118323911.3,120275763.1,105506475.8,118883751.6,125419840.6,118256041.0,114652941.2,118577168.1,118372989.0,105254799.5, 96287668.9,107525174.1,104113972.4,106576083.8,103964067.9,102976901.2,102046097.5,106007399.7,106951682.9,114388734.6,106480337.8,101569301.0,105423529.4,107047903.6,105282661.5,105639891.5,104359437.4,106436167.7,104453293.6,103390468.6,100379422.9,105230649.8,102815559.1,105747748.2,105361302.6,104109943.5,101582073.8,102306018.0,105717361.5,114373779.4,100555274.5, 97759841.9, 97601722.4, 98585915.6, 97910036.9, 98153518.6, 98750617.6, 97065276.9, 98377818.8, 98450136.8, 97165444.2, 98708204.9, 99188998.6, 98292961.3, 97347631.5, 98333460.8, 98545813.9, 98084196.5,101894467.1, 98266269.9,100857043.7, 98863609.6, 97681476.5, 98378302.1, 98275415.9, 98405397.3, 98904137.0, 97856647.1, 98930056.6, 98792445.3, 97435867.3, 98214285.7, 97892062.3, 88794776.8, 87121724.6, 87605065.5, 88226471.5, 89798487.2, 87421986.7, 88474388.8, 88542371.3, 87784800.8, 87456630.4, 88180620.3, 88682352.9, 87478750.9, 87908145.0, 87823729.1, 87866256.5, 87972658.2, 87840143.1, 88321283.8, 88616083.2, 87608370.9, 87892566.6, 88195506.4, 88288754.6, 90392522.5, 88024047.2, 87357795.8, 90078643.8, 89927295.8, 87596178.7, 88649290.9
Latency for small inputs of random size [1-N] :
xxh3 ,148503494.2,147925061.0,147564992.4,137855168.0,130882508.6,128682352.9,125993383.3,124670386.6,127042575.0,127990212.5,128425634.5,128983682.9,130035327.4,129695817.3,129983647.6,130404344.1,130530166.7,130815390.0,129691387.4,129143199.8,128685207.4,127382352.9,126761640.4,126969285.3,126593892.6,126416780.3,126010234.7,126370523.7,125830774.8,125312472.4,125380158.2,125280142.1,125197790.6,124257396.6,123036202.7,121942898.8,122815376.9,121977188.1,121091589.5,120872204.5,121042261.0,120330778.8,119213010.6,118604487.0,119365422.8,118387850.1,118160111.0,118381271.7,117159463.9,117653979.0,117346968.8,117136621.2,117672664.8,116170468.0,116639218.9,116312724.3,115874071.2,115783403.4,114723821.7,115591603.4,115567633.1,114753905.5,115255653.1,114792091.9,114094630.8,114250064.7,113658958.4,113839837.2,113309532.4,112180599.8,113189456.9,111810449.3,112340125.3,112546830.8,111304010.1,111656795.3,111044446.0,111356411.2,112130461.1,110392397.8,109842292.8,110106520.6,110393965.8,110241272.3,110631862.6,109491928.3,109913311.5,109958091.0,108815913.4,110042722.5,109532668.5,108411259.0,108842817.2,108232649.3,108325783.3,108504881.8,108227628.5,108113833.8,108648416.3,107908247.4,107938526.0,106652941.2,106597940.6,105738438.4,106629242.6,106297033.4,106024209.9,105309245.6,104351765.8,104642815.1,104725813.4,103644472.7,104141169.3,104284764.0,104227803.9,103908635.7,103328102.9,103551322.7,103640022.6,101511624.5,102910976.0,101862507.9,102473062.0,101646044.6,100684641.4,101909256.0,101272168.6

View File

@ -0,0 +1,3 @@
=== benchmarking 1 hash functions ===
benchmarking large inputs : from 512 bytes (log9) to 128 MB (log27)
xxh3 , 18250.9

11
tests/bench/xxh3_mid.txt Normal file
View File

@ -0,0 +1,11 @@
=== benchmarking 1 hash functions ===
benchmarking large inputs : from 32 bytes (log5) to 128 MB (log27)
xxh3 , 8790.2, 12039.7, 15276.1, 13723.3, 18323.9, 20392.9, 22316.1, 23344.3, 23917.9, 24115.7, 24204.1, 23938.8, 24211.5, 23546.2, 23177.6, 23230.2, 23248.3, 23239.9, 22659.9, 18534.6, 17946.2, 17832.3, 17733.2
Throughput small inputs of fixed size :
xxh3 ,311897787.0,311586197.2,311900000.0,326328917.3,326308297.7,326323034.6,326321733.6,326319814.1,357905448.7,357889412.4,357922725.8,357912959.5,357915975.5,357920186.4,357546232.9,357890712.3,274947502.2,274967940.8,274951767.0,274971763.4,274949119.4,274946915.2,274947058.8,274971175.8,274950149.7,274958236.3,274946915.2,274962645.7,274592619.6,274905318.6,274649666.6,274949562.7,188148801.6,188172106.3,188157654.8,188167615.6,188157654.8,188149908.2,188157654.8,188174256.8,188156548.1,188173497.7,187985168.0,188172802.0,188159868.2,188162081.7,188157654.8,188172390.9,188172454.2,188171695.1,188161037.2,188175363.7,188172106.3,188174668.1,188174668.1,188175775.0,188160141.3,188167615.6,188172454.2,188173149.9,188173561.1,188172043.0,188170303.4,188176470.6,142799155.2,142800002.4,142799157.6,142798320.0,142790755.1,142799938.8,142794057.9,142882351.9,142605043.5,142611774.8,142610915.7,142610946.1,142604204.7,142610936.0,142605043.5,142868906.0,141595731.5,141595835.4,141597501.2,141592556.0,141595731.5,141585061.0,141596668.3,142880671.0,141561928.9,141711859.0,141711764.7,141715099.2,141708525.0,141711025.5,141717694.0,142881511.5,117925943.4,117972106.2,117932547.8,117919700.7,117931492.9,117928718.1,117926304.1,119397013.3,118411458.9,118411068.2,118400621.1,118403482.5,118428558.8,118398917.7,118410061.5,119253169.1,118242885.5,118226890.7,118281151.6,118235930.7,118242885.5,118237321.6,118248072.1,119349526.6,118025284.0,118018304.2,118020386.7,118016221.7,118024299.1,117910579.4,118024223.7,119349260.7,105412401.5,105405564.4,105412703.2,105411161.2,105409904.5,105408982.6,105408044.4,105508985.6,105413306.5,105405262.3,105416725.5,105413139.0,105415786.8,105415485.3,105409586.3, 94498796.9, 94498656.0, 94501344.2, 94495931.4, 94504679.9, 94494997.3, 94499444.1, 94497544.3, 94498656.0, 94498979.5, 94496988.5, 94497544.3, 94498656.0, 94501435.2, 94498100.2, 94506761.4, 85501005.9, 85492609.0, 85499147.0, 85498491.2, 85500655.9, 85501005.9, 85459273.7, 85412871.0, 85497988.3, 85497485.4, 85499497.1, 85493462.3, 85499650.0, 85488083.2, 85497988.3, 85488936.7, 79602867.9, 79596049.9, 79598390.7, 79598390.7, 79603541.1, 79525888.7, 79604272.5, 79602341.2, 79596049.9, 79523949.5, 79601463.3, 79602809.5, 79605209.0, 79645184.8, 79641852.9, 79646330.1, 74361885.5, 74334658.9, 74339709.2, 74371416.0, 74370346.0, 74372728.2, 74374330.8, 74367135.2, 74397425.6, 74310610.3, 74312469.9, 74309397.9, 74248743.9, 74301372.4, 74319733.7, 74315909.3, 68709839.5, 68708154.2, 68719277.9, 68722806.5, 68727944.4, 68727795.8, 68722340.5, 68726471.7, 68731583.7, 68746232.5, 68741334.6, 68745694.3, 68723972.3, 68742802.0, 68741693.7, 68672782.1, 64919954.4, 64923411.7, 64925232.2, 64922521.3, 64921880.5, 64920661.8, 64914451.7, 64921092.4, 64917905.9, 64920658.5, 64919964.0, 64919010.5, 64919567.3, 64915439.3, 64917198.0, 64917458.3, 61622981.8, 53597047.4, 53549559.8, 53599407.1, 53598428.3, 53599060.0, 53598560.0, 53586828.7, 53597780.1, 53545822.6, 53598215.2, 53593658.5, 53598724.7, 53588718.3, 53597905.9, 53595972.2, 53638706.9, 47143392.4, 47148569.7, 47148620.7, 47146647.1
benchmarking random size inputs [1-N] :
xxh3 ,311590838.3,311898165.3,311852013.2,242789580.0,193894231.0,199756986.6,197750972.9,209009073.0,248198389.1,237341418.8,233340400.0,231080081.6,226524406.4,222240013.3,217779910.1,218353985.6,248199110.1,253920192.3,256723386.5,258277556.3,268889301.3,266750675.1,266818322.0,259118554.5,259111936.1,261779042.6,258800711.6,249136490.3,258768376.7,254856163.0,251249276.4,258337836.0,255517588.9,259542982.0,266716956.7,247687218.8,251361015.7,256073405.9,244911093.1,241610657.4,234500032.3,240256238.6,225965032.5,223474632.8,214828610.6,217366675.7,216058783.4,215183761.0,212335077.5,208237905.0,198478354.2,198400124.8,210679903.6,208727602.5,203109164.5,206550352.4,208735154.4,199185053.0,195680183.2,207691173.4,196852067.2,186973292.9,195316654.7,199115933.3,195197682.9,200079464.9,196957808.8,195164923.5,188324933.3,191392549.1,190522983.5,195578362.3,190078242.4,184747717.3,187019460.2,190061442.0,186817867.2,181592766.3,184576150.4,183829862.5,173853484.6,178911002.2,183891520.4,176111425.7,182776047.5,177364994.5,177836208.9,177861405.9,174187986.8,175758293.1,173100188.3,170899658.1,172615181.1,168934132.9,171176279.5,165824076.6,173571910.4,166088659.3,172655627.4,171451687.7,165870088.6,168174089.6,165131885.2,160898549.7,169033266.6,164134135.2,163088624.1,161900592.8,156994065.2,154283859.2,156057932.6,154505874.6,156389961.8,156823953.2,154968342.5,155982855.2,149917236.7,155568546.2,155809535.1,148401934.2,153326492.7,144652530.9,149670007.2,144172936.8,144037143.3,143763837.6,139363781.8,148795415.1,146302431.9,144844536.4,142626686.1,144065946.4,150984734.3,144092287.0,144991881.9,141330444.5,144297781.5,144917525.7,144585345.1,139699952.6,142552964.3,150446672.3,144449784.3,143117604.2,143205268.4,143665796.7,142039195.8,142175747.6,139734359.8,143259771.3,141013361.7,141025263.6,139084140.9,139487838.8,140330925.2,137544336.7,140448477.1,136369807.6,137048148.2,136888387.2,137883971.2,136837637.6,133155588.1,135041171.1,134857684.3,134578220.4,135793269.9,132428890.8,135943486.2,134728436.8,131910571.5,131775441.7,132915579.0,133523486.9,133357919.1,132097075.0,131139515.3,132303748.9,127338197.3,130030996.3,129612160.3,129085606.6,128932135.1,126264710.7,128782887.0,125696800.1,128436344.7,124347626.1,124868428.0,121605972.4,123692347.8,124816515.7,124692210.9,122487478.0,121853754.1,121998748.1,120917797.0,122811857.9,119218103.6,122442191.3,122712405.0,121630288.7,120904825.6,122091383.8,116551781.2,119469835.6,117044331.0,118185382.2,119508182.8,118217835.7,114397498.9,117518822.8,118333089.9,113006671.4,115233356.5,119595163.6,111984869.6,113923147.2,113147561.6,117251484.5,113937954.3,114700460.3,116184867.4,117945979.7,115836116.4,111866247.0,111587395.5,112869177.1,114102746.4,112704243.1,106097868.2,111841366.6,112118555.2,111002419.6,113942386.6,111686048.8,113448578.9,113143118.6,107877635.3,110171159.2,111346891.6,106434843.5,104711565.8,107539323.1,105663752.5,106363753.1,105449005.1,106739998.2,105472707.1,103825911.1,105232930.9,104686338.3,103338810.2,105332102.0,104885100.2,105353084.4, 99974346.8,101821010.0, 98841414.9,102363696.4
Latency for small inputs of fixed size :
xxh3 ,148150108.8,148131808.7,148245964.9,136074348.6,134019587.7,135593320.0,134952472.8,134214844.9,136202951.6,129226371.1,137801018.8,142821010.5,139785768.5,136854304.1,136374866.2,130080057.4,105169036.4,118849445.6,123480173.9,119435032.2,120840465.6,120833357.8,116617647.1,118376086.0,118244972.1,105458823.5,118581353.3,125024261.4,117996859.1,114395788.6,118312460.7,118367419.0,109769296.8,107475206.2,108413040.2,107708038.3,107017234.3,106081013.5,105230961.1,108330980.6,106817874.3,107659822.3,106234560.6,107170375.1,102525793.2,106234411.0,107589054.6,106562970.6,106168453.0,105235262.9,107142016.8,105261610.0,104228967.0,101214813.1,105992870.7,104022542.2,106396744.0,106741804.4,104908062.1,108401769.5,103302236.4,106539054.3,115392306.8,101672162.0, 97668427.3, 98122595.9, 98571831.9, 97839001.5, 98175637.5, 98543903.5, 97085551.3, 98265352.3, 98447241.5, 97225408.4, 98655341.6, 99156440.8, 97133580.0, 97641612.1, 97317074.6, 98538278.3, 97726403.7, 98947058.8, 98755338.0,100788235.3, 98845382.4, 97519513.9, 98144858.7, 98178887.8, 98267731.4, 98766666.5, 97648198.7, 98772984.5, 97433876.6, 98704216.7, 98604804.4, 98003576.4, 87320166.1, 85895452.6, 86334870.4, 86769567.4, 86433408.4, 86081652.6, 86662392.0, 86521493.6, 86544122.8, 85829411.8, 86607641.9, 86803839.9, 86795649.3, 86657059.7, 86947825.4, 86096766.2, 87176983.4, 86380613.5, 86332543.2, 86889006.5, 86276770.3, 87151646.3, 86686195.6, 86870849.5, 86275040.3, 86449890.0, 86567532.9, 86233772.3, 87510220.4, 86056798.7, 87122259.4, 86577769.4, 70371830.1, 69653350.9, 71067661.9, 70409777.7, 71342442.5, 70400084.7, 70818164.2, 71075245.4, 71350842.6, 70390890.6, 69006081.9, 70376557.2, 71000835.3, 70792504.3, 70070588.2, 68634716.7, 68958215.7, 68821167.4, 68998376.5, 68633852.8, 68838746.9, 68913989.9, 68963691.9, 68862680.5, 68733898.8, 69020895.1, 68502255.8, 69257601.3, 69663621.9, 68362143.5, 68550758.7, 67143504.2, 66418059.7, 66536076.9, 66649411.2, 67001606.1, 66127419.3, 66298082.6, 66799202.4, 66051332.7, 66232956.5, 66558432.0, 66378473.8, 65886366.3, 66814882.8, 66188235.3, 66577277.5, 63036035.7, 62816508.7, 62760300.2, 62746343.8, 62424263.8, 62797072.8, 62401835.3, 62800000.0, 62316913.9, 62705144.6, 62331994.2, 62592320.1, 62544483.5, 62561025.8, 62372446.7, 62678666.0, 57798845.0, 57837192.5, 58781319.8, 57747166.5, 57802482.2, 57836512.2, 57938702.3, 57770798.8, 58180471.7, 58014753.1, 57990738.1, 57863536.6, 57820602.4, 57850772.6, 57918236.1, 57819058.4, 55121125.5, 55248997.0, 55257832.4, 55827354.4, 55383080.6, 55242767.4, 55227003.8, 55840835.2, 55600091.8, 55578367.8, 55661074.2, 55396871.9, 55133672.5, 55415659.4, 55376768.3, 55422151.3, 52806436.6, 52276891.9, 52996194.1, 52507721.0, 52994246.6, 52664353.0, 52261104.3, 52534239.9, 52540365.8, 52490683.1, 52977642.1, 52944593.8, 52464715.7, 52372409.8, 52120943.8, 52425103.2, 50059329.1, 46570688.5, 46736604.0, 45399515.7, 45713916.0, 45142715.1, 46645616.3, 46557967.2, 46015552.1, 46178791.4, 46028958.7, 46442249.2, 46165777.5, 46719613.7, 46412102.0, 46623285.3, 46727899.5, 41665129.5, 41064818.8, 40499679.4, 41715504.1
Latency for small inputs of random size [1-N] :
xxh3 ,148156209.0,147979216.1,148082568.1,144917647.1,140616249.8,138161093.2,139623619.2,139958884.0,139912007.2,139628637.8,139686162.0,138897713.8,138726182.1,137443907.9,136887311.8,136763917.6,136526502.2,136252955.5,135588536.2,133981873.0,133902832.2,132518509.8,132256186.8,131792982.5,131280427.1,130509461.6,130471608.2,129859889.3,129906096.9,128819109.1,128938396.4,128712813.1,127938426.8,127075366.2,126473305.4,124788135.6,125119074.2,124805754.4,123919698.6,122842305.2,122461332.3,122301607.0,121986567.7,120167527.7,120963903.6,120087965.3,118492945.2,118422446.4,118625140.3,117511169.5,118047606.1,117253523.2,118251565.3,116440335.2,116783146.6,116630644.2,117368070.7,116453970.7,115531828.6,116363700.5,115671093.4,115518195.4,116172262.3,115822810.8,115382580.0,114759299.8,114649456.5,114858030.1,113899466.2,112722761.5,113064971.8,112331071.1,112893544.4,112960935.9,111404849.4,112420814.9,110884045.3,111483822.4,111835179.1,109630405.7,109399619.0,109879832.7,109344275.8,108496469.6,109496937.7,108449833.7,108954104.4,107611564.0,108064051.0,109634414.7,107962918.4,107451210.6,108002445.6,106150250.5,106808175.0,107161544.8,107535368.1,106995084.3,106561624.2,105492697.0,106744881.9,105390241.8,105173886.2,103546675.1,104300328.4,103678280.0,104117404.9,103908804.4,101939749.0,100849175.8,101950037.3,100624668.5,101030394.9,100584582.1,101710505.4,101154143.3, 98860900.7,100385237.5, 99304271.2, 98348773.1, 98637454.7, 97255026.4, 98595527.1, 98347238.8, 96982161.7, 97162490.5, 97608672.7, 98995417.7, 97845469.4, 97603444.8, 96749531.0, 96360611.6, 98013580.4, 96062417.6, 95711257.1, 96298040.1, 94681397.0, 95350999.0, 95378119.1, 93531850.6, 94635889.2, 96259301.6, 94144587.0, 93365601.5, 93360471.1, 93149925.1, 93723367.4, 93531628.3, 92502239.2, 92688035.4, 92157648.0, 93658915.7, 91509539.5, 93277881.0, 91613899.8, 91590635.8, 90439702.0, 89816203.5, 91922988.7, 89902618.3, 89951516.1, 90413712.8, 89154741.5, 90191093.3, 88368837.7, 89384587.3, 88937054.8, 88246371.9, 88822502.0, 88514777.0, 88110190.8, 87633208.2, 88582932.1, 88227178.5, 88769116.8, 87504706.8, 88575519.9, 88347148.3, 86468163.5, 86746845.5, 86031185.6, 86864406.8, 87523387.0, 86070541.7, 86640390.6, 86023536.1, 86872757.5, 86211372.1, 85601030.4, 83401601.9, 84537754.9, 84541888.1, 84881821.3, 84036677.8, 84278691.9, 84594373.0, 83533710.5, 84335718.7, 83827569.5, 83936418.1, 83758169.3, 83265992.8, 83368263.9, 84001057.7, 82116020.2, 83052490.1, 81786324.9, 82764638.6, 82455376.6, 82293026.9, 79779548.6, 82717610.3, 81696685.6, 79885388.3, 80296459.3, 82112321.8, 79655131.8, 80942063.5, 80924757.6, 81473666.9, 80038000.3, 79676951.7, 80660293.6, 81155979.8, 80672057.5, 78891273.9, 78886531.0, 79402971.5, 80096785.6, 79614242.4, 76057324.7, 79216898.3, 79237268.6, 78491753.8, 79714043.3, 78733287.7, 79312391.7, 79289278.8, 77219345.6, 78446978.8, 78237604.8, 76133649.2, 76393526.8, 76824010.1, 76265258.8, 76201585.2, 76757342.9, 76077480.6, 75779157.9, 75176130.8, 75581426.5, 75270486.7, 75340645.6, 75353646.8, 75577734.9, 75290726.6, 73281064.0, 74014637.6, 72923154.4, 74260206.2

File diff suppressed because one or more lines are too long

109
xxhsum.c
View File

@ -577,8 +577,8 @@ static int BMK_benchFiles(char** fileNamesTable, int nbFiles, U32 specificTest)
for (fileIdx=0; fileIdx<nbFiles; fileIdx++) {
const char* const inFileName = fileNamesTable[fileIdx];
assert(inFileName != NULL);
{
FILE* const inFile = XXH_fopen( inFileName, "rb" );
{ FILE* const inFile = XXH_fopen( inFileName, "rb" );
size_t const benchedSize = BMK_selectBenchedSize(inFileName);
char* const buffer = (char*)calloc(benchedSize+16+3, 1);
void* const alignedBuffer = (buffer+15) - (((size_t)(buffer+15)) & 0xF); /* align on next 16 bytes */
@ -609,8 +609,7 @@ static int BMK_benchFiles(char** fileNamesTable, int nbFiles, U32 specificTest)
result |= BMK_benchMem(alignedBuffer, benchedSize, specificTest);
free(buffer);
}
}
} }
return result;
}
@ -652,7 +651,7 @@ static void BMK_checkResult32(XXH32_hash_t r1, XXH32_hash_t r2)
static int nbTests = 1;
if (r1!=r2) {
DISPLAY("\rError: 32-bit hash test %i: Internal sanity check failed!\n", nbTests);
DISPLAY("\rGot 0x%08X, expected 0x%08X.\n", (unsigned)r1, (unsigned)r2);
DISPLAY("\rGot 0x%08X , expected 0x%08X.\n", (unsigned)r1, (unsigned)r2);
DISPLAY("\rNote: If you modified the hash functions, make sure to either update the values\n"
"or temporarily comment out the tests in BMK_sanityCheck.\n");
exit(1);
@ -665,7 +664,7 @@ static void BMK_checkResult64(XXH64_hash_t r1, XXH64_hash_t r2)
static int nbTests = 1;
if (r1!=r2) {
DISPLAY("\rError: 64-bit hash test %i: Internal sanity check failed!\n", nbTests);
DISPLAY("\rGot 0x%08X%08XULL, expected 0x%08X%08XULL.\n",
DISPLAY("\rGot 0x%08X%08XULL , expected 0x%08X%08XULL.\n",
(unsigned)(r1>>32), (unsigned)r1, (unsigned)(r2>>32), (unsigned)r2);
DISPLAY("\rNote: If you modified the hash functions, make sure to either update the values\n"
"or temporarily comment out the tests in BMK_sanityCheck.\n");
@ -679,7 +678,7 @@ static void BMK_checkResult128(XXH128_hash_t r1, XXH128_hash_t r2)
static int nbTests = 1;
if ((r1.low64 != r2.low64) || (r1.high64 != r2.high64)) {
DISPLAY("\rError: 128-bit hash test %i: Internal sanity check failed.\n", nbTests);
DISPLAY("\rGot { 0x%08X%08XULL, 0x%08X%08XULL }, expected { 0x%08X%08XULL, %08X%08XULL } \n",
DISPLAY("\rGot { 0x%08X%08XULL , 0x%08X%08XULL }, expected { 0x%08X%08XULL, 0x%08X%08XULL } \n",
(unsigned)(r1.low64>>32), (unsigned)r1.low64, (unsigned)(r1.high64>>32), (unsigned)r1.high64,
(unsigned)(r2.low64>>32), (unsigned)r2.low64, (unsigned)(r2.high64>>32), (unsigned)r2.high64 );
DISPLAY("\rNote: If you modified the hash functions, make sure to either update the values\n"
@ -867,15 +866,14 @@ static void BMK_sanityCheck(void)
BMK_testXXH64(sanityBuffer,222, 0, 0xB641AE8CB691C174ULL);
BMK_testXXH64(sanityBuffer,222, prime, 0x20CB8AB7AE10C14AULL);
#if 0 // tests to update
BMK_testXXH3(NULL, 0, 0, 0x879CDF7824B71543ULL); /* empty string */
BMK_testXXH3(NULL, 0, prime64, 0xD51AC181E10C75E7ULL);
BMK_testXXH3(sanityBuffer, 1, 0, 0x75161D5DC4F378E9ULL); /* 1 - 3 */
BMK_testXXH3(sanityBuffer, 1, prime64, 0x9416563B6EC79D3FULL); /* 1 - 3 */
BMK_testXXH3(sanityBuffer, 6, 0, 0x3DB90BED7A20AF98ULL); /* 4 - 8 */
BMK_testXXH3(sanityBuffer, 6, prime64, 0x19F27058CC2CA6A2ULL); /* 4 - 8 */
BMK_testXXH3(sanityBuffer, 12, 0, 0xC3A48A8EFD27368CULL); /* 9 - 16 */
BMK_testXXH3(sanityBuffer, 12, prime64, 0x177916BD2DC8DCB3ULL); /* 9 - 16 */
BMK_testXXH3(NULL, 0, 0, 0x776EDDFB6BFD9195ULL); /* empty string */
BMK_testXXH3(NULL, 0, prime64, 0x6AFCE90814C488CBULL);
BMK_testXXH3(sanityBuffer, 1, 0, 0xB936EBAE24CB01C5ULL); /* 1 - 3 */
BMK_testXXH3(sanityBuffer, 1, prime64, 0xF541B1905037FC39ULL); /* 1 - 3 */
BMK_testXXH3(sanityBuffer, 6, 0, 0x5AD7EA2EF78ED766ULL); /* 4 - 8 */
BMK_testXXH3(sanityBuffer, 6, prime64, 0x006191EDA5230C98ULL); /* 4 - 8 */
BMK_testXXH3(sanityBuffer, 12, 0, 0xA713DAF0DFBB77E7ULL); /* 9 - 16 */
BMK_testXXH3(sanityBuffer, 12, prime64, 0xE7303E1B2336DE0EULL); /* 9 - 16 */
BMK_testXXH3(sanityBuffer, 24, 0, 0xA3FE70BF9D3510EBULL); /* 17 - 32 */
BMK_testXXH3(sanityBuffer, 24, prime64, 0x850E80FC35BDD690ULL); /* 17 - 32 */
BMK_testXXH3(sanityBuffer, 48, 0, 0x397DA259ECBA1F11ULL); /* 33 - 64 */
@ -898,101 +896,100 @@ static void BMK_sanityCheck(void)
{ const void* const secret = sanityBuffer + 7;
const size_t secretSize = XXH3_SECRET_SIZE_MIN + 11;
BMK_testXXH3_withSecret(NULL, 0, secret, secretSize, 0xBAD873448BF5CC0EULL); /* empty string */
BMK_testXXH3_withSecret(sanityBuffer, 1, secret, secretSize, 0x7F69735D618DB3F0ULL); /* 1 - 3 */
BMK_testXXH3_withSecret(sanityBuffer, 6, secret, secretSize, 0xBFCC7CB1B3554DCEULL); /* 4 - 8 */
BMK_testXXH3_withSecret(sanityBuffer, 12, secret, secretSize, 0x8C50DC90AC9206FCULL); /* 9 - 16 */
BMK_testXXH3_withSecret(sanityBuffer, 24, secret, secretSize, 0x1CD2C2EE9B9A0928ULL); /* 17 - 32 */
BMK_testXXH3_withSecret(sanityBuffer, 48, secret, secretSize, 0xA785256D9D65D514ULL); /* 33 - 64 */
BMK_testXXH3_withSecret(sanityBuffer, 80, secret, secretSize, 0x6F3053360D21BBB7ULL); /* 65 - 96 */
BMK_testXXH3_withSecret(sanityBuffer, 195, secret, secretSize, 0xBA5BDDBC5A767B11ULL); /* 129-240 */
assert(sizeof(sanityBuffer) >= XXH3_SECRET_SIZE_MIN + 7 + 11);
BMK_testXXH3_withSecret(NULL, 0, secret, secretSize, 0x6775FD10343C92C3ULL); /* empty string */
BMK_testXXH3_withSecret(sanityBuffer, 1, secret, secretSize, 0xC3382C326E24E3CDULL); /* 1 - 3 */
BMK_testXXH3_withSecret(sanityBuffer, 6, secret, secretSize, 0x6726BBF76FB142FAULL); /* 4 - 8 */
BMK_testXXH3_withSecret(sanityBuffer, 12, secret, secretSize, 0x14631E773B78EC57ULL); /* 9 - 16 */
BMK_testXXH3_withSecret(sanityBuffer, 24, secret, secretSize, 0xCDD5542E4A9D9FE8ULL); /* 17 - 32 */
BMK_testXXH3_withSecret(sanityBuffer, 48, secret, secretSize, 0x33ABD54D094B2534ULL); /* 33 - 64 */
BMK_testXXH3_withSecret(sanityBuffer, 80, secret, secretSize, 0xE687BA1684965297ULL); /* 65 - 96 */
BMK_testXXH3_withSecret(sanityBuffer, 195, secret, secretSize, 0xA057273F5EECFB20ULL); /* 129-240 */
BMK_testXXH3_withSecret(sanityBuffer, 403, secret, secretSize, 0xFC3911BBA656DB58ULL); /* one block, last stripe is overlapping */
BMK_testXXH3_withSecret(sanityBuffer, 512, secret, secretSize, 0x306137DD875741F1ULL); /* one block, finishing at stripe boundary */
BMK_testXXH3_withSecret(sanityBuffer,2048, secret, secretSize, 0x2836B83880AD3C0CULL); /* >= 2 blocks, at least one scrambling */
BMK_testXXH3_withSecret(sanityBuffer,2243, secret, secretSize, 0x3446E248A00CB44AULL); /* >= 2 blocks, at least one scrambling, last stripe unaligned */
BMK_testXXH3_withSecret(sanityBuffer, 403, secret, secretSize, 0xF9C0BA5BA3AF70B8ULL); /* one block, last stripe is overlapping */
BMK_testXXH3_withSecret(sanityBuffer, 512, secret, secretSize, 0x7896E65DCFA09071ULL); /* one block, finishing at stripe boundary */
BMK_testXXH3_withSecret(sanityBuffer,2048, secret, secretSize, 0xD6545DB87ECFD98CULL); /* >= 2 blocks, at least one scrambling */
BMK_testXXH3_withSecret(sanityBuffer,2243, secret, secretSize, 0x887810081C32460AULL); /* >= 2 blocks, at least one scrambling, last stripe unaligned */
}
{ XXH128_hash_t const expected = { 0x383739D89B1CF3E3ULL, 0x877994721AD18197ULL };
{ XXH128_hash_t const expected = { 0x1F17545BCE1061F1ULL, 0x07FD4E968E916AE1ULL };
BMK_testXXH128(NULL, 0, 0, expected); /* empty string */
}
{ XXH128_hash_t const expected = { 0x6614A8A3473C59AFULL, 0xB31E50030E102FBFULL };
{ XXH128_hash_t const expected = { 0x7282E631387D51ACULL, 0x8743B0A8131AB9E6ULL };
BMK_testXXH128(NULL, 0, prime, expected);
}
{ XXH128_hash_t const expected = { 0x7198D737CFE7F386ULL, 0x153C28D2A04DC807ULL };
{ XXH128_hash_t const expected = { 0xB936EBAE24CB01C5ULL, 0x2554B05763A71A05ULL };
BMK_testXXH128(sanityBuffer, 1, 0, expected); /* 1-3 */
}
{ XXH128_hash_t const expected = { 0x8E05996EC27C0F46ULL, 0x89A7484EC876D545ULL };
{ XXH128_hash_t const expected = { 0xCA57C628C04B45B8ULL, 0x916831F4DCD21CF9ULL };
BMK_testXXH128(sanityBuffer, 1, prime, expected); /* 1-3 */
}
{ XXH128_hash_t const expected = { 0x22CBF5F3E1F6257CULL, 0xD4E6C2B94FFC3BFAULL };
{ XXH128_hash_t const expected = { 0x0A1FEB03C43E230BULL, 0x082AFE0B8162D12AULL };
BMK_testXXH128(sanityBuffer, 6, 0, expected); /* 4-8 */
}
{ XXH128_hash_t const expected = { 0x97B28D3079F8541FULL, 0xEFC0B954298E6555ULL };
{ XXH128_hash_t const expected = { 0x27009AF08E752462ULL, 0x5A865B5389ABD2B1ULL };
BMK_testXXH128(sanityBuffer, 6, prime, expected); /* 4-8 */
}
{ XXH128_hash_t const expected = { 0x9044570967199F91ULL, 0x738EE3E642A85165ULL };
{ XXH128_hash_t const expected = { 0xB861B5B843FA2B05ULL, 0x2740D95C051A0805ULL };
BMK_testXXH128(sanityBuffer, 12, 0, expected); /* 9-16 */
}
{ XXH128_hash_t const expected = { 0xE3C75A78FE67D411ULL, 0xD4396DA60355312BULL };
{ XXH128_hash_t const expected = { 0x7866B84B18E8E4A4ULL, 0x649BDCD012D2E858ULL };
BMK_testXXH128(sanityBuffer, 12, prime, expected); /* 9-16 */
}
{ XXH128_hash_t const expected = { 0x3FD725B2AABCF17DULL, 0x140592647F61C3E1ULL };
{ XXH128_hash_t const expected = { 0x1E7044D28B1B901DULL, 0x0CE966E4678D3761ULL };
BMK_testXXH128(sanityBuffer, 24, 0, expected); /* 17-32 */
}
{ XXH128_hash_t const expected = { 0x9A09D0F4A694DC09ULL, 0x1291B0C7375510E3ULL };
{ XXH128_hash_t const expected = { 0xD7304C54EBAD40A9ULL, 0x3162026714A6A243ULL };
BMK_testXXH128(sanityBuffer, 24, prime, expected); /* 17-32 */
}
{ XXH128_hash_t const expected = { 0x891306BA9DD1D15BULL, 0x32A41AEEC6DE94DEULL };
{ XXH128_hash_t const expected = { 0xF942219AED80F67BULL, 0xA002AC4E5478227EULL };
BMK_testXXH128(sanityBuffer, 48, 0, expected); /* 33-64 */
}
{ XXH128_hash_t const expected = { 0xA199D324899B838EULL, 0x9BB6C003E18B3F75ULL };
{ XXH128_hash_t const expected = { 0x7BA3C3E453A1934EULL, 0x163ADDE36C072295ULL };
BMK_testXXH128(sanityBuffer, 48, prime, expected); /* 33-64 */
}
{ XXH128_hash_t const expected = { 0x33AA30F9947E2743ULL, 0x46307D818EC98842ULL };
{ XXH128_hash_t const expected = { 0x5E8BAFB9F95FB803ULL, 0x4952F58181AB0042ULL };
BMK_testXXH128(sanityBuffer, 81, 0, expected); /* 65-96 */
}
{ XXH128_hash_t const expected = { 0xAAF9F05DA0993E3CULL, 0x01752B9AFA24C856ULL };
{ XXH128_hash_t const expected = { 0x703FBB3D7A5F755CULL, 0x2724EC7ADC750FB6ULL };
BMK_testXXH128(sanityBuffer, 81, prime, expected); /* 65-96 */
}
{ XXH128_hash_t const expected = { 0xB02CC10BCFE61194ULL, 0xA27C9ABC8C06E4DDULL };
{ XXH128_hash_t const expected = { 0xF1AEBD597CEC6B3AULL, 0x337E09641B948717ULL };
BMK_testXXH128(sanityBuffer, 222, 0, expected); /* 129-240 */
}
{ XXH128_hash_t const expected = { 0x972CB9C6BD8123EDULL, 0x3488C87B4B6FCE5FULL };
{ XXH128_hash_t const expected = { 0xAE995BB8AF917A8DULL, 0x91820016621E97F1ULL };
BMK_testXXH128(sanityBuffer, 222, prime, expected); /* 129-240 */
}
{ XXH128_hash_t const expected = { 0xB0C48E6D18E9D084ULL, 0xB16FC17E992FF45DULL };
{ XXH128_hash_t const expected = { 0xCDEB804D65C6DEA4ULL, 0x1B6DE21E332DD73DULL };
BMK_testXXH128(sanityBuffer, 403, 0, expected); /* one block, last stripe is overlapping */
}
{ XXH128_hash_t const expected = { 0x0A1D320C9520871DULL, 0xCE11CB376EC93252ULL };
{ XXH128_hash_t const expected = { 0x6259F6ECFD6443FDULL, 0xBED311971E0BE8F2ULL };
BMK_testXXH128(sanityBuffer, 403, prime64, expected); /* one block, last stripe is overlapping */
}
{ XXH128_hash_t const expected = { 0xA03428558AC97327ULL, 0x4ECF51281BA406F7ULL };
{ XXH128_hash_t const expected = { 0x1443B8153EBEE367ULL, 0x98EC7E48CD872997ULL };
BMK_testXXH128(sanityBuffer, 512, 0, expected); /* one block, finishing at stripe boundary */
}
{ XXH128_hash_t const expected = { 0xAF67A482D6C893F2ULL, 0x1382D92F25B84D90ULL };
{ XXH128_hash_t const expected = { 0x43FDC6823A52F1F2ULL, 0x2F748A4F194E1EF0ULL };
BMK_testXXH128(sanityBuffer, 512, prime64, expected); /* one block, finishing at stripe boundary */
}
{ XXH128_hash_t const expected = { 0x21901B416B3B9863ULL, 0x212AF8E6326F01E0ULL };
{ XXH128_hash_t const expected = { 0xF4258501BE8E0623ULL, 0x6930A2267A755B20ULL };
BMK_testXXH128(sanityBuffer,2048, 0, expected); /* two blocks, finishing at block boundary */
}
{ XXH128_hash_t const expected = { 0xBDBB2282577DADECULL, 0xF78CDDC2C9A9A692ULL };
{ XXH128_hash_t const expected = { 0x10CC56C2FA0AD9ACULL, 0xD0D7A3C2EEF2D892ULL };
BMK_testXXH128(sanityBuffer,2048, prime, expected); /* two blocks, finishing at block boundary */
}
{ XXH128_hash_t const expected = { 0x00AD52FA9385B6FEULL, 0xC705BAD3356CE302ULL };
{ XXH128_hash_t const expected = { 0x5890AE7ACBB84A7EULL, 0x85C327B377AA7E62ULL };
BMK_testXXH128(sanityBuffer,2240, 0, expected); /* two blocks, ends at stripe boundary */
}
{ XXH128_hash_t const expected = { 0x10FD0072EC68BFAAULL, 0xE1312F3458817F15ULL };
{ XXH128_hash_t const expected = { 0x205E6D72DCCBD2AAULL, 0x62B70214DB075235ULL };
BMK_testXXH128(sanityBuffer,2240, prime, expected); /* two blocks, ends at stripe boundary */
}
{ XXH128_hash_t const expected = { 0x970C91411533862CULL, 0x4BBD06FF7BFF0AB1ULL };
{ XXH128_hash_t const expected = { 0xF403CEA1763CD9CCULL, 0x0CDABF3F3C98B371ULL };
BMK_testXXH128(sanityBuffer,2237, 0, expected); /* two blocks, last stripe is overlapping */
}
{ XXH128_hash_t const expected = { 0xD80282846D814431ULL, 0x14EBB157B84D9785ULL };
{ XXH128_hash_t const expected = { 0xF3824EE446018851ULL, 0xC81B751764BD53C5ULL };
BMK_testXXH128(sanityBuffer,2237, prime, expected); /* two blocks, last stripe is overlapping */
}
#endif
DISPLAYLEVEL(3, "\r%70s\r", ""); /* Clean display line */
DISPLAYLEVEL(3, "Sanity check -- all tests ok\n");