Compare commits
2 Commits
47a4c95f3e
...
b0bf9100a6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0bf9100a6 | ||
|
|
3093a09c7c |
75
1brc.go
75
1brc.go
@ -2,12 +2,14 @@ package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"hash/fnv"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
"runtime/pprof"
|
||||
"slices"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
@ -21,7 +23,7 @@ const benchFile = "results.txt"
|
||||
|
||||
const profile = false
|
||||
|
||||
var nGoRoutine = 64
|
||||
var nGoRoutine = 128
|
||||
|
||||
const maxSeekLen = int64(100)
|
||||
|
||||
@ -32,15 +34,17 @@ type partitionRange struct {
|
||||
|
||||
type resultSet map[uint64]result
|
||||
|
||||
type fRS struct {
|
||||
type fastResultSet struct {
|
||||
v []result
|
||||
keys []uint64
|
||||
size int
|
||||
}
|
||||
|
||||
func newFRS() *fRS {
|
||||
// this is actually awful. we have ~412 unique keys for our specific data set, and we require f**kin' 100x space because
|
||||
// our fast hash collides like it was designed to, but this one works for
|
||||
func newFRS() *fastResultSet {
|
||||
const size = 50000
|
||||
return &fRS{v: make([]result, size), keys: make([]uint64, size)}
|
||||
return &fastResultSet{v: make([]result, size), keys: make([]uint64, size)}
|
||||
}
|
||||
|
||||
type result struct {
|
||||
@ -48,7 +52,8 @@ type result struct {
|
||||
count float64
|
||||
min float64
|
||||
max float64
|
||||
rAvg float64
|
||||
sum float64
|
||||
//rAvg float64
|
||||
}
|
||||
|
||||
var count = int64(0)
|
||||
@ -80,7 +85,7 @@ func oneBRC() {
|
||||
|
||||
parts := createPartitions(bits, '\n', nGoRoutine)
|
||||
wg := &sync.WaitGroup{}
|
||||
results := make([]*fRS, len(parts))
|
||||
results := make([]*fastResultSet, len(parts))
|
||||
|
||||
for i, part := range parts {
|
||||
wg.Add(1)
|
||||
@ -142,7 +147,7 @@ func stopProfiling(f *os.File) {
|
||||
f.Close()
|
||||
}
|
||||
|
||||
func workerComputePartition(aData []byte, wPart partitionRange, workerNumber int, container []*fRS, wg *sync.WaitGroup) {
|
||||
func workerComputePartition(aData []byte, wPart partitionRange, workerNumber int, container []*fastResultSet, wg *sync.WaitGroup) {
|
||||
defer wg.Done()
|
||||
const delimiter = byte(';')
|
||||
|
||||
@ -186,7 +191,8 @@ func workerComputePartition(aData []byte, wPart partitionRange, workerNumber int
|
||||
}
|
||||
r.count += 1.0
|
||||
|
||||
r.rAvg = ((r.rAvg * (r.count - 1.0)) + temp) / r.count
|
||||
//r.rAvg = ((r.rAvg * (r.count - 1.0)) + temp) / r.count
|
||||
r.sum = r.sum + temp
|
||||
|
||||
if temp > r.max {
|
||||
r.max = temp
|
||||
@ -246,14 +252,15 @@ func f2CharToInt(b1 byte, b2 byte) int {
|
||||
|
||||
func seekNextNewLine(b []byte, part partitionRange, last int64) int64 {
|
||||
const step = 8
|
||||
|
||||
for i := last + step; i < part.end; {
|
||||
switch b[i] {
|
||||
case '\n':
|
||||
return i + 1
|
||||
case '\r':
|
||||
return i + 2
|
||||
case ';': // this will be minimum [;0.0\r]
|
||||
i += 5
|
||||
case '.':
|
||||
return i + 4
|
||||
default:
|
||||
i += 2
|
||||
}
|
||||
@ -339,7 +346,8 @@ func (r *result) merge(other *result) {
|
||||
r.min = other.min
|
||||
}
|
||||
|
||||
r.rAvg = ((r.rAvg * r.count) + (other.rAvg * other.count)) / (r.count + other.count)
|
||||
//r.rAvg = ((r.rAvg * r.count) + (other.rAvg * other.count)) / (r.count + other.count)
|
||||
r.sum += other.sum
|
||||
r.count += other.count
|
||||
}
|
||||
|
||||
@ -356,7 +364,38 @@ func (rs resultSet) merge(other resultSet) {
|
||||
rs[k] = tr
|
||||
}
|
||||
}
|
||||
func (rs resultSet) Report() string {
|
||||
bldr := &strings.Builder{}
|
||||
keyHist := make(map[int][]string)
|
||||
for _, v := range rs {
|
||||
name := string(v.name)
|
||||
key := len(name)
|
||||
container, ok := keyHist[key]
|
||||
if !ok {
|
||||
container = []string{}
|
||||
}
|
||||
|
||||
if !slices.Contains(container, name) {
|
||||
container = append(container, name)
|
||||
keyHist[key] = container
|
||||
}
|
||||
}
|
||||
|
||||
keyList := []int{}
|
||||
|
||||
for k := range keyHist {
|
||||
keyList = append(keyList, k)
|
||||
}
|
||||
|
||||
slices.Sort(keyList)
|
||||
|
||||
for _, key := range keyList {
|
||||
b, _ := json.Marshal(keyHist[key])
|
||||
bldr.WriteString(fmt.Sprintf("[%d]{%s}\n", key, string(b)))
|
||||
}
|
||||
|
||||
return bldr.String()
|
||||
}
|
||||
func (rs resultSet) String() string {
|
||||
keys := make([]string, 0, len(rs))
|
||||
|
||||
@ -377,7 +416,7 @@ func (rs resultSet) String() string {
|
||||
b.WriteString("=")
|
||||
b.WriteString(fmt.Sprintf("%.1f", r.min))
|
||||
b.WriteString("/")
|
||||
b.WriteString(fmt.Sprintf("%.1f", r.rAvg))
|
||||
b.WriteString(fmt.Sprintf("%.1f", r.sum/r.count))
|
||||
b.WriteString("/")
|
||||
b.WriteString(fmt.Sprintf("%.1f", r.max))
|
||||
if i < len(keys)-1 {
|
||||
@ -387,25 +426,23 @@ func (rs resultSet) String() string {
|
||||
return b.String()
|
||||
}
|
||||
|
||||
func (f *fRS) get(key uint64) (result, bool) {
|
||||
func (f *fastResultSet) get(key uint64) (result, bool) {
|
||||
p := f.v[f.keyMap(key)]
|
||||
return p, p.name != nil
|
||||
}
|
||||
|
||||
func (f *fRS) put(key uint64, v result) {
|
||||
func (f *fastResultSet) put(key uint64, v result) {
|
||||
idx := f.keyMap(key)
|
||||
f.v[idx] = v
|
||||
f.keys[idx] = key
|
||||
f.size += 1
|
||||
}
|
||||
|
||||
func (f *fRS) keyMap(key uint64) uint64 {
|
||||
//a := key & math.MaxUint32
|
||||
//b := (key >> 32) & math.MaxUint32
|
||||
func (f *fastResultSet) keyMap(key uint64) uint64 {
|
||||
return (key) % uint64(len(f.v))
|
||||
}
|
||||
|
||||
func (f *fRS) getKeys() []uint64 {
|
||||
func (f *fastResultSet) getKeys() []uint64 {
|
||||
keys := make([]uint64, 0, f.size)
|
||||
for _, k := range f.keys {
|
||||
if k > 0 {
|
||||
@ -415,7 +452,7 @@ func (f *fRS) getKeys() []uint64 {
|
||||
return keys
|
||||
}
|
||||
|
||||
func (f *fRS) toResultSet() resultSet {
|
||||
func (f *fastResultSet) toResultSet() resultSet {
|
||||
rs := make(resultSet)
|
||||
for _, key := range f.getKeys() {
|
||||
v, _ := f.get(key)
|
||||
|
||||
413
results.txt
Executable file
413
results.txt
Executable file
@ -0,0 +1,413 @@
|
||||
Abha=-29.8/18.0/69.7,
|
||||
Abidjan=-26.4/26.0/78.5,
|
||||
Abéché=-20.8/29.4/77.6,
|
||||
Accra=-29.5/26.4/78.0,
|
||||
Addis Ababa=-35.0/16.0/63.4,
|
||||
Adelaide=-35.7/17.3/69.2,
|
||||
Aden=-19.4/29.1/77.5,
|
||||
Ahvaz=-27.1/25.4/73.8,
|
||||
Albuquerque=-36.6/14.0/66.0,
|
||||
Alexandra=-43.1/11.0/61.8,
|
||||
Alexandria=-33.3/20.0/69.9,
|
||||
Algiers=-28.7/18.2/66.2,
|
||||
Alice Springs=-34.5/21.0/74.5,
|
||||
Almaty=-43.7/10.0/59.1,
|
||||
Amsterdam=-42.3/10.2/64.7,
|
||||
Anadyr=-56.1/-6.9/42.9,
|
||||
Anchorage=-46.3/2.8/51.9,
|
||||
Andorra la Vella=-42.1/9.8/61.1,
|
||||
Ankara=-39.8/12.0/63.2,
|
||||
Antananarivo=-35.1/17.9/64.9,
|
||||
Antsiranana=-26.4/25.2/73.2,
|
||||
Arkhangelsk=-45.7/1.3/51.5,
|
||||
Ashgabat=-32.0/17.1/63.2,
|
||||
Asmara=-35.6/15.6/66.3,
|
||||
Assab=-22.4/30.5/82.3,
|
||||
Astana=-48.1/3.5/57.7,
|
||||
Athens=-30.4/19.2/68.6,
|
||||
Atlanta=-36.9/17.0/72.6,
|
||||
Auckland=-33.3/15.2/67.3,
|
||||
Austin=-30.0/20.7/70.0,
|
||||
Baghdad=-27.9/22.8/71.9,
|
||||
Baguio=-30.6/19.5/71.2,
|
||||
Baku=-31.8/15.1/66.3,
|
||||
Baltimore=-35.7/13.1/61.4,
|
||||
Bamako=-19.8/27.8/75.8,
|
||||
Bangkok=-21.4/28.6/82.9,
|
||||
Bangui=-23.1/26.0/80.5,
|
||||
Banjul=-24.1/26.0/74.1,
|
||||
Barcelona=-42.6/18.2/67.3,
|
||||
Bata=-23.3/25.1/73.2,
|
||||
Batumi=-37.5/14.0/61.7,
|
||||
Beijing=-36.3/12.9/67.3,
|
||||
Beirut=-31.4/20.9/72.3,
|
||||
Belgrade=-35.0/12.5/68.4,
|
||||
Belize City=-20.8/26.7/77.6,
|
||||
Benghazi=-30.7/19.9/67.8,
|
||||
Bergen=-41.5/7.7/59.1,
|
||||
Berlin=-43.9/10.3/57.9,
|
||||
Bilbao=-33.4/14.7/65.3,
|
||||
Birao=-20.7/26.5/78.8,
|
||||
Bishkek=-36.8/11.3/58.9,
|
||||
Bissau=-19.8/27.0/80.1,
|
||||
Blantyre=-26.5/22.2/72.2,
|
||||
Bloemfontein=-34.3/15.6/64.4,
|
||||
Boise=-38.9/11.4/61.8,
|
||||
Bordeaux=-33.9/14.2/64.7,
|
||||
Bosaso=-18.1/30.0/80.7,
|
||||
Boston=-38.9/10.9/57.8,
|
||||
Bouaké=-24.1/26.0/76.8,
|
||||
Bratislava=-46.6/10.5/58.4,
|
||||
Brazzaville=-23.9/25.0/73.9,
|
||||
Bridgetown=-21.9/27.0/76.5,
|
||||
Brisbane=-32.1/21.4/69.3,
|
||||
Brussels=-38.7/10.5/58.1,
|
||||
Bucharest=-43.4/10.8/66.2,
|
||||
Budapest=-38.5/11.3/61.0,
|
||||
Bujumbura=-25.9/23.8/73.0,
|
||||
Bulawayo=-29.4/18.9/76.0,
|
||||
Burnie=-36.0/13.1/64.3,
|
||||
Busan=-34.1/15.0/64.5,
|
||||
Cabo San Lucas=-28.1/23.9/73.5,
|
||||
Cairns=-29.8/25.0/73.7,
|
||||
Cairo=-28.8/21.4/69.1,
|
||||
Calgary=-48.4/4.4/53.1,
|
||||
Canberra=-40.1/13.1/62.6,
|
||||
Cape Town=-39.4/16.2/64.8,
|
||||
Changsha=-35.1/17.4/69.2,
|
||||
Charlotte=-30.7/16.1/68.8,
|
||||
Chiang Mai=-25.3/25.8/75.2,
|
||||
Chicago=-39.5/9.8/62.0,
|
||||
Chihuahua=-34.9/18.6/66.6,
|
||||
Chittagong=-22.9/25.9/76.9,
|
||||
Chișinău=-41.2/10.2/59.0,
|
||||
Chongqing=-29.5/18.6/67.4,
|
||||
Christchurch=-39.7/12.2/64.7,
|
||||
City of San Marino=-38.6/11.8/59.6,
|
||||
Colombo=-23.5/27.4/78.9,
|
||||
Columbus=-36.0/11.7/61.6,
|
||||
Conakry=-29.9/26.4/73.0,
|
||||
Copenhagen=-41.2/9.1/60.1,
|
||||
Cotonou=-19.5/27.2/74.9,
|
||||
Cracow=-38.0/9.3/57.2,
|
||||
Da Lat=-29.8/17.9/64.8,
|
||||
Da Nang=-24.7/25.8/75.5,
|
||||
Dakar=-27.7/24.0/76.2,
|
||||
Dallas=-32.6/19.0/73.3,
|
||||
Damascus=-31.0/17.0/67.0,
|
||||
Dampier=-28.2/26.4/76.2,
|
||||
Dar es Salaam=-24.7/25.8/80.0,
|
||||
Darwin=-27.9/27.6/77.3,
|
||||
Denpasar=-29.5/23.7/72.6,
|
||||
Denver=-40.8/10.4/60.1,
|
||||
Detroit=-41.9/10.0/62.6,
|
||||
Dhaka=-25.0/25.9/76.1,
|
||||
Dikson=-58.2/-11.1/39.1,
|
||||
Dili=-21.2/26.6/75.3,
|
||||
Djibouti=-19.5/29.9/80.7,
|
||||
Dodoma=-31.9/22.7/72.6,
|
||||
Dolisie=-27.5/24.0/75.1,
|
||||
Douala=-27.5/26.7/76.0,
|
||||
Dubai=-22.1/26.9/76.9,
|
||||
Dublin=-37.1/9.8/60.8,
|
||||
Dunedin=-38.5/11.1/63.4,
|
||||
Durban=-31.9/20.6/68.8,
|
||||
Dushanbe=-31.5/14.7/66.3,
|
||||
Edinburgh=-40.5/9.3/60.9,
|
||||
Edmonton=-47.7/4.2/53.5,
|
||||
El Paso=-32.2/18.1/65.2,
|
||||
Entebbe=-35.3/21.0/70.6,
|
||||
Erbil=-31.5/19.5/73.8,
|
||||
Erzurum=-43.1/5.1/53.7,
|
||||
Fairbanks=-49.4/-2.3/48.3,
|
||||
Fianarantsoa=-32.6/17.9/64.7,
|
||||
Flores, Petén=-23.2/26.4/76.4,
|
||||
Frankfurt=-40.2/10.6/60.3,
|
||||
Fresno=-39.1/17.9/68.3,
|
||||
Fukuoka=-31.2/17.0/68.8,
|
||||
Gaborone=-29.1/21.0/70.6,
|
||||
Gabès=-28.6/19.5/68.1,
|
||||
Gagnoa=-25.2/26.0/79.0,
|
||||
Gangtok=-34.3/15.2/67.2,
|
||||
Garissa=-19.9/29.3/76.3,
|
||||
Garoua=-21.1/28.3/78.2,
|
||||
George Town=-19.6/27.9/79.8,
|
||||
Ghanzi=-26.0/21.4/71.6,
|
||||
Gjoa Haven=-65.5/-14.4/36.9,
|
||||
Guadalajara=-29.4/20.9/72.9,
|
||||
Guangzhou=-26.8/22.4/72.7,
|
||||
Guatemala City=-29.0/20.4/69.1,
|
||||
Halifax=-40.4/7.5/57.3,
|
||||
Hamburg=-39.3/9.7/56.2,
|
||||
Hamilton=-37.4/13.8/66.4,
|
||||
Hanga Roa=-34.4/20.5/67.9,
|
||||
Hanoi=-22.8/23.6/73.3,
|
||||
Harare=-31.1/18.4/69.0,
|
||||
Harbin=-44.3/5.0/56.6,
|
||||
Hargeisa=-26.8/21.7/71.2,
|
||||
Hat Yai=-24.0/27.0/77.2,
|
||||
Havana=-30.2/25.2/78.2,
|
||||
Helsinki=-45.9/5.9/53.1,
|
||||
Heraklion=-32.2/18.9/68.6,
|
||||
Hiroshima=-31.5/16.3/71.3,
|
||||
Ho Chi Minh City=-24.0/27.4/76.7,
|
||||
Hobart=-43.0/12.7/61.7,
|
||||
Hong Kong=-27.0/23.3/72.8,
|
||||
Honiara=-26.1/26.5/75.6,
|
||||
Honolulu=-27.1/25.4/72.8,
|
||||
Houston=-26.1/20.8/73.7,
|
||||
Ifrane=-36.0/11.4/58.4,
|
||||
Indianapolis=-40.7/11.8/59.8,
|
||||
Iqaluit=-59.5/-9.3/42.5,
|
||||
Irkutsk=-51.1/1.0/51.9,
|
||||
Istanbul=-38.2/13.9/61.5,
|
||||
Jacksonville=-26.9/20.3/70.0,
|
||||
Jakarta=-26.8/26.7/76.9,
|
||||
Jayapura=-23.3/27.0/77.6,
|
||||
Jerusalem=-30.9/18.3/71.8,
|
||||
Johannesburg=-35.0/15.5/66.2,
|
||||
Jos=-27.5/22.8/69.6,
|
||||
Juba=-19.9/27.8/76.5,
|
||||
Kabul=-36.3/12.1/62.9,
|
||||
Kampala=-32.6/20.0/70.4,
|
||||
Kandi=-23.3/27.7/82.3,
|
||||
Kankan=-24.4/26.5/74.4,
|
||||
Kano=-23.3/26.4/78.9,
|
||||
Kansas City=-35.2/12.5/67.2,
|
||||
Karachi=-22.8/26.0/76.4,
|
||||
Karonga=-23.9/24.4/80.8,
|
||||
Kathmandu=-31.7/18.3/66.0,
|
||||
Khartoum=-20.4/29.9/82.7,
|
||||
Kingston=-21.9/27.4/76.6,
|
||||
Kinshasa=-27.9/25.3/79.2,
|
||||
Kolkata=-20.4/26.7/79.3,
|
||||
Kuala Lumpur=-27.1/27.3/74.7,
|
||||
Kumasi=-25.0/26.0/75.6,
|
||||
Kunming=-31.8/15.7/66.9,
|
||||
Kuopio=-45.6/3.4/53.2,
|
||||
Kuwait City=-22.9/25.7/79.3,
|
||||
Kyiv=-41.5/8.4/58.4,
|
||||
Kyoto=-32.2/15.8/71.8,
|
||||
La Ceiba=-22.2/26.2/76.9,
|
||||
La Paz=-24.7/23.7/74.3,
|
||||
Lagos=-23.1/26.8/75.7,
|
||||
Lahore=-23.5/24.3/73.7,
|
||||
Lake Havasu City=-28.0/23.7/74.9,
|
||||
Lake Tekapo=-39.8/8.7/61.2,
|
||||
Las Palmas de Gran Canaria=-32.1/21.2/69.0,
|
||||
Las Vegas=-31.0/20.3/68.9,
|
||||
Launceston=-36.0/13.1/64.0,
|
||||
Lhasa=-45.7/7.6/56.1,
|
||||
Libreville=-22.9/25.9/74.4,
|
||||
Lisbon=-30.5/17.5/65.3,
|
||||
Livingstone=-26.3/21.8/77.8,
|
||||
Ljubljana=-38.7/10.9/64.0,
|
||||
Lodwar=-20.1/29.3/79.0,
|
||||
Lomé=-21.3/26.9/79.1,
|
||||
London=-34.3/11.3/60.7,
|
||||
Los Angeles=-30.5/18.6/66.9,
|
||||
Louisville=-37.8/13.9/68.8,
|
||||
Luanda=-28.8/25.8/72.3,
|
||||
Lubumbashi=-30.2/20.8/69.3,
|
||||
Lusaka=-36.2/19.9/68.9,
|
||||
Luxembourg City=-45.6/9.3/61.3,
|
||||
Lviv=-41.3/7.8/58.1,
|
||||
Lyon=-37.6/12.5/61.4,
|
||||
Madrid=-34.2/15.0/64.3,
|
||||
Mahajanga=-24.3/26.3/74.7,
|
||||
Makassar=-20.9/26.7/77.9,
|
||||
Makurdi=-24.5/26.0/78.9,
|
||||
Malabo=-22.1/26.3/76.0,
|
||||
Malé=-23.8/28.0/80.8,
|
||||
Managua=-20.9/27.3/78.3,
|
||||
Manama=-22.9/26.5/75.2,
|
||||
Mandalay=-23.3/28.0/77.6,
|
||||
Mango=-22.9/28.1/84.7,
|
||||
Manila=-21.2/28.4/77.6,
|
||||
Maputo=-25.2/22.8/71.2,
|
||||
Marrakesh=-33.8/19.6/67.4,
|
||||
Marseille=-32.5/15.8/63.9,
|
||||
Maun=-29.7/22.4/72.0,
|
||||
Medan=-24.2/26.5/74.1,
|
||||
Mek'ele=-28.6/22.7/70.7,
|
||||
Melbourne=-36.6/15.1/66.5,
|
||||
Memphis=-33.4/17.2/69.1,
|
||||
Mexicali=-29.3/23.1/73.5,
|
||||
Mexico City=-38.4/17.5/67.2,
|
||||
Miami=-24.8/24.9/72.8,
|
||||
Milan=-42.7/13.0/63.1,
|
||||
Milwaukee=-38.9/8.9/57.3,
|
||||
Minneapolis=-42.4/7.8/55.5,
|
||||
Minsk=-43.7/6.7/59.6,
|
||||
Mogadishu=-23.4/27.1/77.9,
|
||||
Mombasa=-22.5/26.3/78.5,
|
||||
Monaco=-33.7/16.4/66.9,
|
||||
Moncton=-43.2/6.1/55.6,
|
||||
Monterrey=-30.1/22.3/72.1,
|
||||
Montreal=-41.2/6.8/64.3,
|
||||
Moscow=-42.6/5.8/54.5,
|
||||
Mumbai=-22.5/27.1/77.7,
|
||||
Murmansk=-47.6/0.6/49.7,
|
||||
Muscat=-21.6/28.0/77.3,
|
||||
Mzuzu=-32.3/17.7/70.3,
|
||||
N'Djamena=-22.9/28.3/79.8,
|
||||
Naha=-27.4/23.1/72.5,
|
||||
Nairobi=-34.1/17.8/69.5,
|
||||
Nakhon Ratchasima=-27.2/27.3/74.7,
|
||||
Napier=-31.4/14.6/63.9,
|
||||
Napoli=-34.6/15.9/63.7,
|
||||
Nashville=-34.0/15.4/65.8,
|
||||
Nassau=-29.4/24.6/76.8,
|
||||
Ndola=-33.5/20.3/69.0,
|
||||
New Delhi=-28.1/25.0/75.6,
|
||||
New Orleans=-28.1/20.7/66.4,
|
||||
New York City=-37.2/12.9/64.4,
|
||||
Ngaoundéré=-28.5/22.0/73.6,
|
||||
Niamey=-17.6/29.3/81.5,
|
||||
Nicosia=-33.6/19.7/77.2,
|
||||
Niigata=-38.7/13.9/62.3,
|
||||
Nouadhibou=-30.3/21.3/72.0,
|
||||
Nouakchott=-23.5/25.7/76.1,
|
||||
Novosibirsk=-48.1/1.7/54.0,
|
||||
Nuuk=-50.5/-1.4/52.1,
|
||||
Odesa=-37.6/10.7/60.1,
|
||||
Odienné=-27.5/26.0/73.9,
|
||||
Oklahoma City=-35.8/15.9/65.4,
|
||||
Omaha=-39.0/10.6/61.4,
|
||||
Oranjestad=-21.9/28.1/79.5,
|
||||
Oslo=-45.4/5.7/53.1,
|
||||
Ottawa=-42.6/6.6/53.1,
|
||||
Ouagadougou=-22.9/28.3/86.3,
|
||||
Ouahigouya=-20.8/28.6/77.1,
|
||||
Ouarzazate=-26.7/18.9/72.0,
|
||||
Oulu=-46.0/2.7/56.3,
|
||||
Palembang=-22.9/27.3/77.4,
|
||||
Palermo=-29.8/18.5/68.9,
|
||||
Palm Springs=-24.5/24.5/71.8,
|
||||
Palmerston North=-37.7/13.2/63.1,
|
||||
Panama City=-21.2/28.0/78.1,
|
||||
Parakou=-23.7/26.8/80.3,
|
||||
Paris=-36.9/12.3/62.2,
|
||||
Perth=-28.3/18.7/68.6,
|
||||
Petropavlovsk-Kamchatsky=-50.7/1.9/51.3,
|
||||
Philadelphia=-40.8/13.2/64.5,
|
||||
Phnom Penh=-19.7/28.3/80.0,
|
||||
Phoenix=-26.4/23.9/76.0,
|
||||
Pittsburgh=-44.1/10.8/61.5,
|
||||
Podgorica=-31.9/15.3/67.9,
|
||||
Pointe-Noire=-22.5/26.1/74.4,
|
||||
Pontianak=-23.7/27.7/75.1,
|
||||
Port Moresby=-21.3/26.9/84.3,
|
||||
Port Sudan=-25.9/28.4/78.0,
|
||||
Port Vila=-26.2/24.3/71.8,
|
||||
Port-Gentil=-25.8/26.0/77.7,
|
||||
Portland (OR)=-37.4/12.4/62.8,
|
||||
Porto=-36.7/15.7/64.7,
|
||||
Prague=-44.2/8.4/60.2,
|
||||
Praia=-25.4/24.4/78.9,
|
||||
Pretoria=-34.1/18.2/70.8,
|
||||
Pyongyang=-37.4/10.8/61.7,
|
||||
Rabat=-34.3/17.2/67.7,
|
||||
Rangpur=-21.5/24.4/71.6,
|
||||
Reggane=-19.4/28.3/77.7,
|
||||
Reykjavík=-43.6/4.3/53.0,
|
||||
Riga=-53.0/6.2/59.3,
|
||||
Riyadh=-24.8/26.0/75.2,
|
||||
Rome=-35.3/15.2/63.0,
|
||||
Roseau=-31.5/26.2/76.1,
|
||||
Rostov-on-Don=-38.6/9.9/58.0,
|
||||
Sacramento=-38.9/16.3/70.7,
|
||||
Saint Petersburg=-44.7/5.8/58.7,
|
||||
Saint-Pierre=-41.5/5.7/57.3,
|
||||
Salt Lake City=-40.3/11.6/57.9,
|
||||
San Antonio=-27.8/20.8/70.8,
|
||||
San Diego=-31.0/17.8/67.2,
|
||||
San Francisco=-35.0/14.6/62.0,
|
||||
San Jose=-33.5/16.4/65.3,
|
||||
San José=-29.6/22.6/71.0,
|
||||
San Juan=-22.4/27.2/74.9,
|
||||
San Salvador=-26.6/23.1/73.0,
|
||||
Sana'a=-31.7/20.0/67.0,
|
||||
Santo Domingo=-21.3/25.9/80.3,
|
||||
Sapporo=-43.8/8.9/58.3,
|
||||
Sarajevo=-42.2/10.1/61.7,
|
||||
Saskatoon=-46.7/3.3/54.6,
|
||||
Seattle=-36.6/11.3/71.2,
|
||||
Seoul=-38.6/12.5/62.5,
|
||||
Seville=-29.5/19.2/66.2,
|
||||
Shanghai=-32.2/16.7/70.2,
|
||||
Singapore=-22.1/27.0/78.1,
|
||||
Skopje=-42.1/12.4/63.6,
|
||||
Sochi=-39.3/14.2/63.7,
|
||||
Sofia=-36.9/10.6/58.7,
|
||||
Sokoto=-25.4/28.0/79.4,
|
||||
Split=-31.1/16.1/65.8,
|
||||
St. John's=-47.4/5.0/58.8,
|
||||
St. Louis=-34.4/13.9/63.4,
|
||||
Stockholm=-41.4/6.6/56.0,
|
||||
Surabaya=-23.0/27.1/79.9,
|
||||
Suva=-23.5/25.6/72.5,
|
||||
Suwałki=-44.1/7.2/57.6,
|
||||
Sydney=-33.8/17.7/64.2,
|
||||
Ségou=-24.0/28.0/78.5,
|
||||
Tabora=-28.0/23.0/72.1,
|
||||
Tabriz=-37.7/12.6/60.7,
|
||||
Taipei=-24.3/23.0/69.8,
|
||||
Tallinn=-42.1/6.4/55.1,
|
||||
Tamale=-23.4/27.9/77.0,
|
||||
Tamanrasset=-26.5/21.7/70.9,
|
||||
Tampa=-32.4/22.9/73.8,
|
||||
Tashkent=-32.0/14.8/62.0,
|
||||
Tauranga=-36.7/14.8/61.3,
|
||||
Tbilisi=-36.0/12.9/68.3,
|
||||
Tegucigalpa=-29.2/21.7/72.5,
|
||||
Tehran=-35.3/17.0/65.4,
|
||||
Tel Aviv=-28.0/20.0/73.0,
|
||||
Thessaloniki=-35.4/16.0/65.8,
|
||||
Thiès=-26.8/24.0/78.5,
|
||||
Tijuana=-34.4/17.8/67.3,
|
||||
Timbuktu=-26.1/28.0/75.4,
|
||||
Tirana=-35.8/15.2/64.3,
|
||||
Toamasina=-24.7/23.4/72.3,
|
||||
Tokyo=-36.8/15.4/70.1,
|
||||
Toliara=-26.4/24.1/72.9,
|
||||
Toluca=-38.7/12.4/62.7,
|
||||
Toronto=-42.2/9.4/58.3,
|
||||
Tripoli=-29.0/20.0/68.3,
|
||||
Tromsø=-46.9/2.9/54.1,
|
||||
Tucson=-30.3/20.9/72.3,
|
||||
Tunis=-40.3/18.4/67.3,
|
||||
Ulaanbaatar=-49.1/-0.4/52.2,
|
||||
Upington=-32.2/20.4/75.6,
|
||||
Vaduz=-38.0/10.1/61.0,
|
||||
Valencia=-31.7/18.3/67.6,
|
||||
Valletta=-29.2/18.8/65.8,
|
||||
Vancouver=-37.4/10.4/57.1,
|
||||
Veracruz=-22.0/25.4/78.9,
|
||||
Vienna=-38.4/10.4/60.1,
|
||||
Vientiane=-23.2/25.9/75.1,
|
||||
Villahermosa=-21.1/27.1/76.0,
|
||||
Vilnius=-43.2/6.0/55.7,
|
||||
Virginia Beach=-34.2/15.8/65.8,
|
||||
Vladivostok=-46.7/4.9/53.2,
|
||||
Warsaw=-46.2/8.5/57.8,
|
||||
Washington, D.C.=-36.0/14.6/64.0,
|
||||
Wau=-22.1/27.8/77.6,
|
||||
Wellington=-36.4/12.9/63.6,
|
||||
Whitehorse=-53.0/-0.1/49.9,
|
||||
Wichita=-40.5/13.9/66.3,
|
||||
Willemstad=-20.8/28.0/74.1,
|
||||
Winnipeg=-47.7/3.0/54.7,
|
||||
Wrocław=-42.9/9.6/57.8,
|
||||
Xi'an=-38.3/14.1/65.8,
|
||||
Yakutsk=-56.4/-8.8/39.9,
|
||||
Yangon=-21.7/27.5/75.3,
|
||||
Yaoundé=-27.9/23.8/71.4,
|
||||
Yellowknife=-56.5/-4.3/52.0,
|
||||
Yerevan=-39.7/12.4/60.2,
|
||||
Yinchuan=-47.2/9.0/62.5,
|
||||
Zagreb=-38.7/10.7/62.7,
|
||||
Zanzibar City=-22.7/26.0/81.5,
|
||||
Zürich=-43.7/9.3/62.4,
|
||||
Ürümqi=-41.1/7.4/59.7,
|
||||
İzmir=-33.2/17.9/66.4
|
||||
Loading…
Reference in New Issue
Block a user