MCPcopy Create free account

hub / github.com/dhartunian/1brcgo / functions

Functions138 in github.com/dhartunian/1brcgo

↓ 129 callersMethodhashByte
(b byte)
nathan.go:78
↓ 41 callersMethodAdd
Add adds a new temperature to the summary.
marcus.go:479
↓ 17 callersFunctionindexSemicolon
(x uint64)
pavel.go:30
↓ 15 callersFunctionformatFloat
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 callersFunctionround
gcassert:inline
stan.go:582
↓ 13 callersFunctionnoError
(err error)
pavel.go:387
↓ 10 callersFunctionintHash
(x uint64)
pavel.go:151
↓ 10 callersMethodupdate
(t int16)
pavel.go:547
↓ 9 callersMethodString
()
michae2.go:52
↓ 9 callersMethodget
(k K)
nathan.go:113
↓ 9 callersMethodset
(k K, v *V)
nathan.go:127
↓ 8 callersFunctionboolToInt
boolToInt converts a bool to an int. It is optimized by the go compiler to avoid branching.
nathan.go:58
↓ 8 callersFunctionmakeHash
(b byte)
nathan.go:74
↓ 8 callersMethodnew
new returns a new, empty T.
nathan.go:161
↓ 8 callersFunctionparseLong
(ptr *uint64, second uint64, str *string64)
pavel.go:883
↓ 8 callersFunctionparseOne
(ptr *uint64, idx uint64, name *string64)
pavel.go:870
↓ 8 callersFunctionparseTwo
(ptr *uint64, second uint64, idx uint64, name *string64)
pavel.go:876
↓ 8 callersFunctiontoNumber
(word uint64)
pavel.go:35
↓ 8 callersFunctionunsafeString
unsafeString returns string(data[i:j]) without bounds checking or copying.
nathan.go:52
↓ 8 callersMethodupdateFast
(name *string64, t int16, h hash, kp *keysPool)
pavel.go:469
↓ 5 callersMethodAsFloat
AsFloat returns the temperature as a float64.
marcus.go:454
↓ 5 callersMethodget
(words int)
pavel.go:226
↓ 4 callersMethodUpsert
(hash uint64, key robinHoodKey, f func(v *measurement))
peter.go:630
↓ 4 callersFunctionexecCmd
(name string, args ...string)
encrypt.go:26
↓ 4 callersFunctionsplit
(data []byte, n int)
peter.go:239
↓ 3 callersFunctionMakeShortKey
MakeShortKey returns the given uint64 key truncated length p. All remaining bytes will be zeroed.
marcus.go:370
↓ 3 callersFunctionSemiColonPosition
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 callersMethodasFloat64
()
nathan.go:21
↓ 3 callersFunctioncheckErr
(err error)
radu.go:226
↓ 3 callersFunctionexecCmd
(name string, args ...string)
decrypt.go:22
↓ 3 callersMethodfind
find returns the entry containing the given hash, or an empty entry that can be used to insert it.
radu.go:246
↓ 3 callersFunctionlastNewLine
(buf []byte)
pavel.go:903
↓ 3 callersFunctionmerge
gcassert:inline
stan.go:493
↓ 3 callersMethodwords
()
pavel.go:592
↓ 2 callersMethodIterate
(f func(h uint64, k robinHoodKey, m *measurement))
peter.go:678
↓ 2 callersMethodKeys
Keys returns all the keys in the map, as strings.
marcus.go:396
↓ 2 callersFunctionParseTemp
(u uint64)
marcus.go:289
↓ 2 callersMethodTableIndex
()
marcus.go:379
↓ 2 callersMethodadvance
gcassert:inline
stan.go:564
↓ 2 callersFunctionbitsetToSlice
gcassert:inline
stan.go:168
↓ 2 callersFunctionfindNewline
gcassert:inline
stan.go:46
↓ 2 callersFunctionfindSemicolon
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 callersMethodgetKey
()
michae2.go:36
↓ 2 callersMethodgrow
()
pavel.go:188
↓ 2 callersMethoditer
(f func(k K, v *V))
nathan.go:139
↓ 2 callersFunctionlead
(s *scanner, bufs *multiBuffer, jobs chan<- job)
pavel.go:663
↓ 2 callersMethodload
(init, context int)
pavel.go:415
↓ 2 callersMethodmerge
(other stat)
pavel.go:557
↓ 2 callersFunctionnewScanner
(r io.Reader, total, maxRead int)
pavel.go:411
↓ 2 callersFunctionnewScanner
gcassert:inline
stan.go:534
↓ 2 callersMethodnext
gcassert:inline
stan.go:539
↓ 2 callersMethodnextAt
gcassert:inline
stan.go:549
↓ 2 callersMethodnextSlot
(i int)
nathan.go:109
↓ 2 callersFunctionparse
(ptr uintptr)
radu.go:84
↓ 2 callersMethodrehash
(size uint32)
peter.go:607
↓ 2 callersMethodrun
(wg *sync.WaitGroup)
nathan.go:173
↓ 2 callersMethodslot
(k K)
nathan.go:105
↓ 2 callersFunctionsortMerge
(parts []hashtable, finishedWorkers []int)
stan.go:272
↓ 2 callersFunctionunsafeIdx
unsafeIdx returns data[i] without bounds checking.
nathan.go:39
↓ 1 callersMethodAvg
Avg returns the mean temperature as float64.
marcus.go:505
↓ 1 callersMethodLookup
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 callersMethodLookupExisting
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 callersMethodMax
Max returns the maximum temperature as a float64.
marcus.go:500
↓ 1 callersMethodMerge
Merge merges other with the Summary.
marcus.go:487
↓ 1 callersMethodMin
Min returns the minimum temperature as a float64.
marcus.go:495
↓ 1 callersFunctionRun
Run runs the program.
marcus.go:73
↓ 1 callersFunctionScan
Scan scans the data from start until ~end, adding records to the SummaryMap.
marcus.go:191
↓ 1 callersFunctionTestParseTemp
Tests
marcus.go:513
↓ 1 callersFunctionTestSemiColonPosition
()
marcus.go:549
↓ 1 callersFunctionTestShortKey
()
marcus.go:578
↓ 1 callersMethodbytes
()
pavel.go:578
↓ 1 callersFunctionconvertIntoNumber
gcassert:inline
stan.go:439
↓ 1 callersMethodcopy
NB: to.ptr has >= s.words() words preallocated.
pavel.go:630
↓ 1 callersFunctioncountLines
(data []byte)
peter.go:291
↓ 1 callersFunctioncountLinesC
Using Neon instructions is ~30% faster than the pure-Go version for finding newlines.
peter.go:359
↓ 1 callersMethodequal
(other *string64)
pavel.go:613
↓ 1 callersMethodequalFast
(other *string64)
pavel.go:609
↓ 1 callersMethodget
(key *string64, h hash)
pavel.go:202
↓ 1 callersMethodgetFast
(h hash)
pavel.go:214
↓ 1 callersMethodhasNext
gcassert:inline
stan.go:559
↓ 1 callersFunctionhashToIndex
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 callersFunctionindexZero
===== 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 callersFunctionmaskWord
gcassert:inline
stan.go:462
↓ 1 callersMethodmean
()
nathan.go:34
↓ 1 callersMethodmeasurement
(rng *rand.Rand)
generate.go:17
↓ 1 callersFunctionmergeAndPrint
(a []*AggResult, b []*AggResult)
stan.go:232
↓ 1 callersFunctionmmap
(filename string)
nathan.go:1524
↓ 1 callersFunctionmmap
mmap maps the given file into memory.
stan.go:596
↓ 1 callersFunctionmmapFile
(f *os.File)
stan.go:604
↓ 1 callersFunctionnewEntry
gcassert:inline
stan.go:501
↓ 1 callersFunctionnewFastStats
()
pavel.go:465
↓ 1 callersFunctionnewMultiBuffer
(bufs [][]byte)
pavel.go:121
↓ 1 callersFunctionnewRobinHoodMap
(initialCapacity int)
peter.go:597
↓ 1 callersFunctionnewSimpleMap
64K slots
nathan.go:98
↓ 1 callersFunctionnewStat
(t int16)
pavel.go:543
↓ 1 callersFunctionnewStringMap
(size int)
pavel.go:181
↓ 1 callersFunctionnewWorker
(jobs <-chan job, bufs *multiBuffer)
pavel.go:652
↓ 1 callersFunctionparse
( chunks <-chan []byte, seed maphash.Seed, resultsMu *sync.Mutex, results table, wait *sync.WaitGroup, )
michae2.go:142
↓ 1 callersMethodprint
(to []byte)
pavel.go:502
↓ 1 callersFunctionprocess
(data []byte, m *robinHoodMap)
peter.go:430
next →1–100 of 138, ranked by callers