Skip to content

Commit

Permalink
Move away from original number rounding convention
Browse files Browse the repository at this point in the history
As the number conversion for the original problem was somewhat weird + arguably somewhat Java-specific (see discussions at gunnarmorling/1brc#5), I've decided to move away from using that and use the sample results + run checks against my own base implementation instead.
  • Loading branch information
kahlstrm committed Apr 20, 2024
1 parent 5e87ef8 commit e97372b
Show file tree
Hide file tree
Showing 6 changed files with 1,000,008 additions and 4 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@ Nothing special really, just a quick version to get things going with a `HashMap

Struggled too long with getting a correct implementation of the rounding calculation to pass the original test suite.

Going forward, the rounding conventions will change, with the test files being generated with the initial version of this project with only the conversion logic changed.

```sh
~/src/github/brc-rs (master*) » ./bench.sh
Benchmark 1: ./target/release/brc-rs
Expand Down
1 change: 1 addition & 0 deletions samples/measurements-1m.out
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{Abha=-12.1/17.9/52.9, Abidjan=-7.8/25.8/59.7, Abéché=-2.9/29.3/62.5, Accra=-14.3/26.0/60.1, Addis Ababa=-17.0/16.3/51.1, Adelaide=-30.5/17.5/54.1, Aden=-8.9/29.2/75.2, Ahvaz=-17.0/25.3/64.3, Albuquerque=-18.0/13.9/52.6, Alexandra=-27.9/10.9/41.9, Alexandria=-15.6/20.0/57.4, Algiers=-13.8/18.3/52.2, Alice Springs=-9.6/20.8/52.9, Almaty=-24.1/9.6/53.6, Amsterdam=-22.2/10.4/49.0, Anadyr=-50.2/-6.9/31.7, Anchorage=-30.3/2.7/35.9, Andorra la Vella=-29.0/9.4/43.5, Ankara=-23.1/11.8/47.1, Antananarivo=-21.4/18.0/55.0, Antsiranana=-9.6/25.2/58.5, Arkhangelsk=-34.5/1.5/43.1, Ashgabat=-16.4/17.5/48.8, Asmara=-20.5/15.7/46.5, Assab=-13.3/30.6/66.3, Astana=-34.5/3.4/36.4, Athens=-10.6/19.4/52.0, Atlanta=-16.9/17.3/48.7, Auckland=-21.1/15.2/50.9, Austin=-12.2/20.5/51.0, Baghdad=-20.0/22.7/54.4, Baguio=-16.7/19.2/51.1, Baku=-25.6/15.2/53.5, Baltimore=-24.5/13.0/49.7, Bamako=-7.1/27.8/59.8, Bangkok=-6.5/28.4/66.1, Bangui=-9.1/25.8/60.0, Banjul=-6.6/25.9/64.9, Barcelona=-17.3/18.5/49.1, Bata=-4.9/25.3/58.1, Batumi=-23.2/14.1/56.6, Beijing=-17.7/12.9/49.2, Beirut=-13.7/20.8/55.4, Belgrade=-24.6/12.7/43.6, Belize City=-12.0/26.6/64.8, Benghazi=-11.6/19.8/54.0, Bergen=-26.3/7.3/40.4, Berlin=-26.0/10.5/43.4, Bilbao=-20.6/14.7/51.0, Birao=-11.4/26.6/69.1, Bishkek=-20.7/11.4/47.3, Bissau=-8.3/26.8/59.1, Blantyre=-5.6/22.5/55.5, Bloemfontein=-24.3/15.4/50.9, Boise=-24.5/11.5/59.1, Bordeaux=-19.8/14.1/45.7, Bosaso=-3.5/30.1/61.2, Boston=-21.2/11.3/42.4, Bouaké=-12.2/25.9/64.6, Bratislava=-23.2/11.0/49.7, Brazzaville=-9.3/25.0/65.3, Bridgetown=-14.6/27.2/64.2, Brisbane=-9.5/21.6/54.1, Brussels=-24.0/10.5/44.4, Bucharest=-23.2/11.0/44.1, Budapest=-22.8/11.4/45.7, Bujumbura=-12.5/23.8/62.7, Bulawayo=-21.9/18.5/54.9, Burnie=-26.8/13.2/46.5, Busan=-18.4/15.1/52.0, Cabo San Lucas=-13.5/24.1/62.5, Cairns=-20.1/25.0/54.7, Cairo=-18.5/21.3/54.4, Calgary=-29.1/4.5/37.2, Canberra=-22.4/13.3/50.8, Cape Town=-24.1/16.5/57.4, Changsha=-18.5/17.1/53.8, Charlotte=-16.2/15.9/46.9, Chiang Mai=-16.1/25.8/58.4, Chicago=-29.4/10.0/42.2, Chihuahua=-14.5/18.6/51.5, Chittagong=-9.5/25.9/66.7, Chișinău=-29.9/10.1/49.9, Chongqing=-16.9/18.5/56.8, Christchurch=-21.8/12.2/45.0, City of San Marino=-22.9/11.9/45.0, Colombo=-11.7/27.6/59.6, Columbus=-27.0/11.8/43.6, Conakry=-5.7/26.5/64.9, Copenhagen=-27.6/9.1/45.9, Cotonou=-8.1/27.0/58.8, Cracow=-29.5/9.1/41.9, Da Lat=-15.9/17.7/58.2, Da Nang=-15.9/25.8/60.5, Dakar=-10.6/24.0/54.9, Dallas=-16.7/18.9/54.8, Damascus=-15.3/17.0/50.7, Dampier=-7.5/26.6/65.7, Dar es Salaam=-14.7/25.8/57.4, Darwin=-8.5/27.9/64.8, Denpasar=-6.9/23.5/68.3, Denver=-23.1/10.4/43.5, Detroit=-26.4/10.2/44.1, Dhaka=-11.5/25.8/61.9, Dikson=-50.0/-11.3/29.5, Dili=-11.8/26.8/62.7, Djibouti=-9.7/29.8/69.1, Dodoma=-16.1/22.5/54.3, Dolisie=-14.3/24.2/64.0, Douala=-9.4/27.0/64.7, Dubai=-16.1/26.9/61.1, Dublin=-26.9/9.8/42.6, Dunedin=-23.0/11.2/40.8, Durban=-15.5/20.2/58.0, Dushanbe=-20.1/14.6/50.5, Edinburgh=-23.6/9.3/49.5, Edmonton=-33.4/4.4/39.9, El Paso=-14.5/18.0/54.1, Entebbe=-17.1/21.1/54.8, Erbil=-10.4/19.3/53.2, Erzurum=-25.6/5.0/40.0, Fairbanks=-39.4/-2.5/28.0, Fianarantsoa=-19.5/18.0/51.2, Flores, Petén=-6.4/26.2/57.7, Frankfurt=-23.0/11.0/43.4, Fresno=-11.5/17.8/52.9, Fukuoka=-18.0/16.8/47.8, Gaborone=-12.0/21.1/58.1, Gabès=-20.9/19.6/55.1, Gagnoa=-10.0/25.8/64.2, Gangtok=-21.5/15.1/47.6, Garissa=-7.6/29.2/64.2, Garoua=-9.1/28.3/63.3, George Town=-5.0/27.8/59.6, Ghanzi=-17.5/21.3/61.1, Gjoa Haven=-55.9/-14.3/21.7, Guadalajara=-15.9/20.8/53.9, Guangzhou=-11.5/22.4/59.1, Guatemala City=-13.7/20.4/53.2, Halifax=-24.1/7.6/42.9, Hamburg=-29.8/9.7/42.2, Hamilton=-18.8/13.9/43.5, Hanga Roa=-13.0/20.8/55.3, Hanoi=-12.5/23.6/62.6, Harare=-11.8/18.2/46.9, Harbin=-24.9/5.0/44.4, Hargeisa=-8.8/21.6/52.4, Hat Yai=-8.6/27.2/64.7, Havana=-8.6/25.4/54.6, Helsinki=-25.5/5.7/37.1, Heraklion=-16.2/19.0/53.6, Hiroshima=-19.9/16.1/46.0, Ho Chi Minh City=-5.4/27.6/60.3, Hobart=-22.1/12.8/42.8, Hong Kong=-8.7/23.2/55.4, Honiara=-3.7/26.7/60.6, Honolulu=-7.6/25.1/62.8, Houston=-12.2/20.7/55.2, Ifrane=-19.8/11.2/48.4, Indianapolis=-23.9/11.5/46.6, Iqaluit=-42.2/-9.3/25.0, Irkutsk=-33.2/1.3/37.6, Istanbul=-18.9/13.9/52.1, Jacksonville=-10.7/20.4/57.6, Jakarta=-11.1/26.6/57.1, Jayapura=-4.1/27.1/64.9, Jerusalem=-13.4/18.6/58.8, Johannesburg=-16.3/15.3/52.0, Jos=-8.6/23.2/55.6, Juba=-5.2/28.0/64.0, Kabul=-19.1/12.4/44.0, Kampala=-11.5/20.0/54.8, Kandi=-6.9/27.7/57.8, Kankan=-9.0/26.3/59.0, Kano=-6.4/25.8/61.3, Kansas City=-22.3/12.5/54.8, Karachi=-9.0/26.0/67.6, Karonga=-12.4/24.2/57.4, Kathmandu=-14.8/18.3/54.9, Khartoum=-1.7/30.1/62.9, Kingston=-10.0/27.5/57.3, Kinshasa=-15.7/25.4/60.7, Kolkata=-9.5/26.6/57.9, Kuala Lumpur=-12.4/27.3/58.3, Kumasi=-8.6/25.8/63.1, Kunming=-15.8/15.8/46.8, Kuopio=-26.5/3.4/37.1, Kuwait City=-7.0/25.6/57.8, Kyiv=-22.3/8.4/48.6, Kyoto=-19.4/15.4/53.8, La Ceiba=-11.3/26.4/63.2, La Paz=-3.3/24.2/54.0, Lagos=-10.9/26.9/59.0, Lahore=-10.2/24.2/56.8, Lake Havasu City=-3.9/23.9/60.2, Lake Tekapo=-23.6/8.4/39.4, Las Palmas de Gran Canaria=-11.7/21.1/65.0, Las Vegas=-14.1/20.2/56.4, Launceston=-27.2/13.3/48.2, Lhasa=-24.6/7.8/37.5, Libreville=-10.0/26.0/63.2, Lisbon=-15.7/17.5/50.9, Livingstone=-9.4/21.6/58.7, Ljubljana=-21.9/11.1/44.4, Lodwar=-5.2/29.5/61.6, Lomé=-6.0/27.0/62.2, London=-21.4/11.4/49.1, Los Angeles=-19.8/18.5/54.3, Louisville=-21.7/13.6/48.2, Luanda=-9.6/26.3/56.0, Lubumbashi=-16.6/20.8/61.4, Lusaka=-19.8/20.0/54.6, Luxembourg City=-26.2/8.8/39.7, Lviv=-27.6/8.0/41.7, Lyon=-23.3/12.3/49.0, Madrid=-20.6/15.2/47.3, Mahajanga=-7.5/26.4/57.9, Makassar=-5.0/27.0/65.2, Makurdi=-4.9/26.3/60.0, Malabo=-6.0/26.1/68.9, Malé=-14.1/28.1/67.0, Managua=-6.7/27.3/60.1, Manama=-6.2/26.8/63.1, Mandalay=-7.2/27.9/66.7, Mango=-5.5/27.9/63.7, Manila=-9.5/28.4/61.3, Maputo=-9.6/22.7/53.8, Marrakesh=-16.2/19.9/51.0, Marseille=-20.6/16.1/47.6, Maun=-15.5/22.4/62.2, Medan=-8.1/26.8/60.6, Mek'ele=-9.5/22.7/63.4, Melbourne=-24.3/15.2/49.7, Memphis=-17.2/17.6/53.9, Mexicali=-11.2/23.3/56.3, Mexico City=-14.9/17.6/54.0, Miami=-11.7/24.8/61.5, Milan=-19.2/12.9/53.6, Milwaukee=-25.7/9.1/45.0, Minneapolis=-23.6/7.9/41.8, Minsk=-32.0/6.8/48.4, Mogadishu=-9.9/27.1/60.2, Mombasa=-3.6/26.4/66.2, Monaco=-16.8/16.3/50.1, Moncton=-25.7/5.8/41.7, Monterrey=-11.8/22.4/58.0, Montreal=-26.6/6.5/37.5, Moscow=-29.1/6.1/43.8, Mumbai=-8.8/26.9/62.0, Murmansk=-37.6/0.9/33.8, Muscat=-4.1/27.9/64.8, Mzuzu=-17.1/17.6/55.4, N'Djamena=-5.2/28.3/67.9, Naha=-12.8/23.0/54.8, Nairobi=-13.9/17.4/57.7, Nakhon Ratchasima=-7.6/27.1/63.2, Napier=-21.3/14.9/46.0, Napoli=-18.2/15.6/46.5, Nashville=-17.0/15.8/47.2, Nassau=-9.7/24.9/63.1, Ndola=-10.7/20.5/51.6, New Delhi=-7.9/24.9/58.7, New Orleans=-9.1/20.2/52.0, New York City=-16.4/12.5/45.7, Ngaoundéré=-16.9/21.9/55.6, Niamey=-3.5/29.2/64.7, Nicosia=-17.7/19.7/58.7, Niigata=-25.2/14.0/55.8, Nouadhibou=-15.8/21.5/56.2, Nouakchott=-12.5/26.1/63.3, Novosibirsk=-31.1/1.5/33.5, Nuuk=-39.5/-1.3/31.5, Odesa=-24.1/10.6/45.6, Odienné=-6.3/26.3/69.9, Oklahoma City=-17.6/16.1/48.6, Omaha=-20.9/10.7/42.7, Oranjestad=-13.3/28.2/60.6, Oslo=-33.2/6.0/41.0, Ottawa=-31.0/7.1/37.2, Ouagadougou=-4.7/28.0/63.4, Ouahigouya=-5.3/28.5/59.9, Ouarzazate=-17.5/18.7/52.2, Oulu=-38.6/2.7/34.7, Palembang=-4.6/27.4/61.1, Palermo=-11.5/18.8/57.4, Palm Springs=-11.8/24.5/61.7, Palmerston North=-23.5/13.4/49.0, Panama City=-4.5/28.0/59.1, Parakou=-6.7/26.9/64.4, Paris=-24.5/11.9/50.5, Perth=-17.3/18.6/55.2, Petropavlovsk-Kamchatsky=-36.3/1.7/39.8, Philadelphia=-25.2/13.2/42.3, Phnom Penh=-3.2/28.3/67.2, Phoenix=-8.7/23.9/57.9, Pittsburgh=-24.0/10.6/43.4, Podgorica=-21.7/15.3/50.9, Pointe-Noire=-7.5/25.8/58.0, Pontianak=-11.7/27.7/56.9, Port Moresby=-4.6/26.7/60.3, Port Sudan=-8.6/28.6/60.8, Port Vila=-4.7/24.4/59.5, Port-Gentil=-8.3/25.9/60.2, Portland (OR)=-28.8/12.6/54.0, Porto=-25.8/15.7/51.9, Prague=-39.2/8.2/45.7, Praia=-13.5/24.3/58.7, Pretoria=-19.5/18.2/53.7, Pyongyang=-21.7/11.0/46.6, Rabat=-26.0/17.2/59.2, Rangpur=-16.2/24.3/54.0, Reggane=-4.2/28.2/62.6, Reykjavík=-30.0/4.1/40.3, Riga=-25.0/6.0/39.2, Riyadh=-6.4/26.0/59.6, Rome=-23.3/15.1/47.9, Roseau=-5.2/26.2/63.7, Rostov-on-Don=-22.2/9.7/53.0, Sacramento=-15.3/16.4/57.1, Saint Petersburg=-27.9/5.9/38.9, Saint-Pierre=-33.5/5.5/42.9, Salt Lake City=-26.2/11.7/41.9, San Antonio=-12.7/20.6/55.9, San Diego=-16.1/17.5/50.7, San Francisco=-24.5/14.4/44.0, San Jose=-21.5/16.4/50.4, San José=-8.3/22.5/62.1, San Juan=-5.2/27.2/58.6, San Salvador=-12.0/23.1/63.6, Sana'a=-17.6/19.4/53.2, Santo Domingo=-9.7/25.8/60.8, Sapporo=-28.9/8.9/40.3, Sarajevo=-26.2/10.0/43.5, Saskatoon=-31.6/3.5/38.6, Seattle=-26.9/11.4/51.6, Seoul=-22.9/12.4/48.7, Seville=-11.6/19.4/50.7, Shanghai=-16.9/16.6/46.9, Singapore=-6.2/27.1/60.8, Skopje=-20.1/12.6/50.9, Sochi=-19.8/14.3/49.5, Sofia=-26.1/10.2/40.0, Sokoto=-5.1/28.5/61.0, Split=-16.1/15.8/48.2, St. John's=-33.4/5.2/38.9, St. Louis=-18.8/14.3/55.0, Stockholm=-27.6/6.7/39.6, Surabaya=-4.7/27.1/55.9, Suva=-9.7/25.5/61.5, Suwałki=-21.7/7.6/37.9, Sydney=-20.2/17.5/52.8, Ségou=-7.6/28.0/61.3, Tabora=-10.7/23.7/65.9, Tabriz=-21.6/12.5/44.3, Taipei=-11.6/23.3/59.9, Tallinn=-25.4/6.3/38.2, Tamale=-10.3/27.7/63.8, Tamanrasset=-11.6/21.7/57.9, Tampa=-11.6/22.8/63.9, Tashkent=-18.7/15.0/54.3, Tauranga=-21.0/14.9/52.6, Tbilisi=-19.8/12.7/53.2, Tegucigalpa=-19.5/22.1/56.6, Tehran=-22.9/16.7/54.6, Tel Aviv=-14.3/20.1/54.2, Thessaloniki=-20.5/15.9/49.9, Thiès=-11.6/23.8/59.2, Tijuana=-16.6/17.5/56.5, Timbuktu=-6.8/27.9/61.0, Tirana=-19.6/14.8/49.2, Toamasina=-9.0/23.8/59.2, Tokyo=-22.5/15.9/51.5, Toliara=-11.9/24.1/59.7, Toluca=-25.7/12.4/44.5, Toronto=-22.0/9.3/41.9, Tripoli=-16.6/20.2/59.3, Tromsø=-29.1/2.8/35.6, Tucson=-10.8/21.1/56.5, Tunis=-14.9/18.3/50.7, Ulaanbaatar=-32.0/-0.5/35.6, Upington=-10.6/20.8/55.8, Vaduz=-23.8/10.0/46.5, Valencia=-16.2/18.4/52.0, Valletta=-11.8/18.9/57.3, Vancouver=-30.7/10.4/42.6, Veracruz=-5.7/25.5/56.5, Vienna=-25.4/9.8/41.2, Vientiane=-4.9/25.9/64.3, Villahermosa=-9.4/27.7/64.3, Vilnius=-26.3/6.1/47.4, Virginia Beach=-19.4/15.6/55.7, Vladivostok=-28.8/4.8/40.7, Warsaw=-24.3/8.5/46.1, Washington, D.C.=-17.0/14.4/45.0, Wau=-7.4/27.7/59.4, Wellington=-20.6/12.8/44.3, Whitehorse=-35.8/-0.1/37.4, Wichita=-17.9/14.0/47.7, Willemstad=-5.4/28.1/62.3, Winnipeg=-33.6/2.9/42.2, Wrocław=-20.7/9.9/42.7, Xi'an=-20.2/14.1/48.9, Yakutsk=-45.3/-8.8/33.7, Yangon=-9.8/27.3/69.9, Yaoundé=-13.5/23.6/60.6, Yellowknife=-39.4/-4.6/30.8, Yerevan=-20.1/12.6/45.4, Yinchuan=-24.9/9.2/46.8, Zagreb=-20.2/11.0/47.3, Zanzibar City=-7.5/26.0/62.2, Zürich=-24.7/9.3/42.2, Ürümqi=-26.3/7.2/35.4, İzmir=-22.6/17.8/53.7}
Loading

0 comments on commit e97372b

Please sign in to comment.