Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/dhartunian/1brcgo
/ functions
Functions
138 in github.com/dhartunian/1brcgo
⨍
Functions
138
◇
Types & classes
43
↓ 129 callers
Method
hashByte
(b byte)
nathan.go:78
↓ 41 callers
Method
Add
Add adds a new temperature to the summary.
marcus.go:479
↓ 17 callers
Function
indexSemicolon
(x uint64)
pavel.go:30
↓ 15 callers
Function
formatFloat
N.B. There are obviously faster ways of formatting fixed-point numbers. For a short survey, see https://lemire.me/blog/2021/11/18/converting-integers-
stan.go:577
↓ 15 callers
Function
round
gcassert:inline
stan.go:582
↓ 13 callers
Function
noError
(err error)
pavel.go:387
↓ 10 callers
Function
intHash
(x uint64)
pavel.go:151
↓ 10 callers
Method
update
(t int16)
pavel.go:547
↓ 9 callers
Method
String
()
michae2.go:52
↓ 9 callers
Method
get
(k K)
nathan.go:113
↓ 9 callers
Method
set
(k K, v *V)
nathan.go:127
↓ 8 callers
Function
boolToInt
boolToInt converts a bool to an int. It is optimized by the go compiler to avoid branching.
nathan.go:58
↓ 8 callers
Function
makeHash
(b byte)
nathan.go:74
↓ 8 callers
Method
new
new returns a new, empty T.
nathan.go:161
↓ 8 callers
Function
parseLong
(ptr *uint64, second uint64, str *string64)
pavel.go:883
↓ 8 callers
Function
parseOne
(ptr *uint64, idx uint64, name *string64)
pavel.go:870
↓ 8 callers
Function
parseTwo
(ptr *uint64, second uint64, idx uint64, name *string64)
pavel.go:876
↓ 8 callers
Function
toNumber
(word uint64)
pavel.go:35
↓ 8 callers
Function
unsafeString
unsafeString returns string(data[i:j]) without bounds checking or copying.
nathan.go:52
↓ 8 callers
Method
updateFast
(name *string64, t int16, h hash, kp *keysPool)
pavel.go:469
↓ 5 callers
Method
AsFloat
AsFloat returns the temperature as a float64.
marcus.go:454
↓ 5 callers
Method
get
(words int)
pavel.go:226
↓ 4 callers
Method
Upsert
(hash uint64, key robinHoodKey, f func(v *measurement))
peter.go:630
↓ 4 callers
Function
execCmd
(name string, args ...string)
encrypt.go:26
↓ 4 callers
Function
split
(data []byte, n int)
peter.go:239
↓ 3 callers
Function
MakeShortKey
MakeShortKey returns the given uint64 key truncated length p. All remaining bytes will be zeroed.
marcus.go:370
↓ 3 callers
Function
SemiColonPosition
SemiColonPosition returns the position of the byte within u that represents a semicolon character in ASCII. If a semicolon byte is not present, it ret
marcus.go:256
↓ 3 callers
Method
asFloat64
()
nathan.go:21
↓ 3 callers
Function
checkErr
(err error)
radu.go:226
↓ 3 callers
Function
execCmd
(name string, args ...string)
decrypt.go:22
↓ 3 callers
Method
find
find returns the entry containing the given hash, or an empty entry that can be used to insert it.
radu.go:246
↓ 3 callers
Function
lastNewLine
(buf []byte)
pavel.go:903
↓ 3 callers
Function
merge
gcassert:inline
stan.go:493
↓ 3 callers
Method
words
()
pavel.go:592
↓ 2 callers
Method
Iterate
(f func(h uint64, k robinHoodKey, m *measurement))
peter.go:678
↓ 2 callers
Method
Keys
Keys returns all the keys in the map, as strings.
marcus.go:396
↓ 2 callers
Function
ParseTemp
(u uint64)
marcus.go:289
↓ 2 callers
Method
TableIndex
()
marcus.go:379
↓ 2 callers
Method
advance
gcassert:inline
stan.go:564
↓ 2 callers
Function
bitsetToSlice
gcassert:inline
stan.go:168
↓ 2 callers
Function
findNewline
gcassert:inline
stan.go:46
↓ 2 callers
Function
findSemicolon
Returns the byte index ([0, 7]) of the rightmost semicolon occurrence in the given word. If the word does not contain a semicolon, returns 8. N.B. Owi
stan.go:414
↓ 2 callers
Method
getKey
()
michae2.go:36
↓ 2 callers
Method
grow
()
pavel.go:188
↓ 2 callers
Method
iter
(f func(k K, v *V))
nathan.go:139
↓ 2 callers
Function
lead
(s *scanner, bufs *multiBuffer, jobs chan<- job)
pavel.go:663
↓ 2 callers
Method
load
(init, context int)
pavel.go:415
↓ 2 callers
Method
merge
(other stat)
pavel.go:557
↓ 2 callers
Function
newScanner
(r io.Reader, total, maxRead int)
pavel.go:411
↓ 2 callers
Function
newScanner
gcassert:inline
stan.go:534
↓ 2 callers
Method
next
gcassert:inline
stan.go:539
↓ 2 callers
Method
nextAt
gcassert:inline
stan.go:549
↓ 2 callers
Method
nextSlot
(i int)
nathan.go:109
↓ 2 callers
Function
parse
(ptr uintptr)
radu.go:84
↓ 2 callers
Method
rehash
(size uint32)
peter.go:607
↓ 2 callers
Method
run
(wg *sync.WaitGroup)
nathan.go:173
↓ 2 callers
Method
slot
(k K)
nathan.go:105
↓ 2 callers
Function
sortMerge
(parts []hashtable, finishedWorkers []int)
stan.go:272
↓ 2 callers
Function
unsafeIdx
unsafeIdx returns data[i] without bounds checking.
nathan.go:39
↓ 1 callers
Method
Avg
Avg returns the mean temperature as float64.
marcus.go:505
↓ 1 callers
Method
Lookup
Lookup returns the Summary in the map associated with key. If one does not exist, a new one is added to the map and returned. The given key must be n
marcus.go:418
↓ 1 callers
Method
LookupExisting
LookupExisting returns the Summary in the map associated with the key. If there is no summary matching the key, it returns nil.
marcus.go:402
↓ 1 callers
Method
Max
Max returns the maximum temperature as a float64.
marcus.go:500
↓ 1 callers
Method
Merge
Merge merges other with the Summary.
marcus.go:487
↓ 1 callers
Method
Min
Min returns the minimum temperature as a float64.
marcus.go:495
↓ 1 callers
Function
Run
Run runs the program.
marcus.go:73
↓ 1 callers
Function
Scan
Scan scans the data from start until ~end, adding records to the SummaryMap.
marcus.go:191
↓ 1 callers
Function
TestParseTemp
Tests
marcus.go:513
↓ 1 callers
Function
TestSemiColonPosition
()
marcus.go:549
↓ 1 callers
Function
TestShortKey
()
marcus.go:578
↓ 1 callers
Method
bytes
()
pavel.go:578
↓ 1 callers
Function
convertIntoNumber
gcassert:inline
stan.go:439
↓ 1 callers
Method
copy
NB: to.ptr has >= s.words() words preallocated.
pavel.go:630
↓ 1 callers
Function
countLines
(data []byte)
peter.go:291
↓ 1 callers
Function
countLinesC
Using Neon instructions is ~30% faster than the pure-Go version for finding newlines.
peter.go:359
↓ 1 callers
Method
equal
(other *string64)
pavel.go:613
↓ 1 callers
Method
equalFast
(other *string64)
pavel.go:609
↓ 1 callers
Method
get
(key *string64, h hash)
pavel.go:202
↓ 1 callers
Method
getFast
(h hash)
pavel.go:214
↓ 1 callers
Method
hasNext
gcassert:inline
stan.go:559
↓ 1 callers
Function
hashToIndex
Returns the index of the hash table entry for the given (key) hash. requires: sizePowerOfTwo is a power of two gcassert:inline
stan.go:471
↓ 1 callers
Function
indexZero
===== bits.go ===== indexZero returns 0 if x does not have any zero bytes. Otherwise returns a non-zero integer, with pos*8 + 7 lowest bits unset, and
pavel.go:25
↓ 1 callers
Function
maskWord
gcassert:inline
stan.go:462
↓ 1 callers
Method
mean
()
nathan.go:34
↓ 1 callers
Method
measurement
(rng *rand.Rand)
generate.go:17
↓ 1 callers
Function
mergeAndPrint
(a []*AggResult, b []*AggResult)
stan.go:232
↓ 1 callers
Function
mmap
(filename string)
nathan.go:1524
↓ 1 callers
Function
mmap
mmap maps the given file into memory.
stan.go:596
↓ 1 callers
Function
mmapFile
(f *os.File)
stan.go:604
↓ 1 callers
Function
newEntry
gcassert:inline
stan.go:501
↓ 1 callers
Function
newFastStats
()
pavel.go:465
↓ 1 callers
Function
newMultiBuffer
(bufs [][]byte)
pavel.go:121
↓ 1 callers
Function
newRobinHoodMap
(initialCapacity int)
peter.go:597
↓ 1 callers
Function
newSimpleMap
64K slots
nathan.go:98
↓ 1 callers
Function
newStat
(t int16)
pavel.go:543
↓ 1 callers
Function
newStringMap
(size int)
pavel.go:181
↓ 1 callers
Function
newWorker
(jobs <-chan job, bufs *multiBuffer)
pavel.go:652
↓ 1 callers
Function
parse
( chunks <-chan []byte, seed maphash.Seed, resultsMu *sync.Mutex, results table, wait *sync.WaitGroup, )
michae2.go:142
↓ 1 callers
Method
print
(to []byte)
pavel.go:502
↓ 1 callers
Function
process
(data []byte, m *robinHoodMap)
peter.go:430
next →
1–100 of 138, ranked by callers