Displaying 12 results from an estimated 12 matches for "hashstring".
2017 Apr 25
3
RFC: Improving performance of HashString
...M, Vedant Kumar via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
>> On Apr 24, 2017, at 5:37 PM, Scott Smith via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> I've been working on improving the startup performance of lldb, and ran into an issue with llvm::HashString. It works a character at a time, which creates a long dependency chain in the processor. On the other hand, the function is very short, which probably works well for short identifiers.
>>
>> I don't know how the mix of identifier length seen by lldb compares with that seen by llvm...
2017 Apr 25
4
RFC: Improving performance of HashString
I've been working on improving the startup performance of lldb, and ran
into an issue with llvm::HashString. It works a character at a time, which
creates a long dependency chain in the processor. On the other hand, the
function is very short, which probably works well for short identifiers.
I don't know how the mix of identifier length seen by lldb compares with
that seen by llvm/clang; I imagine...
2017 Apr 28
2
RFC: Improving performance of HashString
...for Clang's
> identifier maps (via StringMap) and so I'd like to see some measurements
> that ensure that these performance improvements translate over to Clang (or
> at least don't regress).
>
> If Clang doesn't regress and xxHash is measurably better for other
> HashString workloads, then I don't see a reason not to switch to it.
>
> -- Sean Silva
>
> On Mon, Apr 24, 2017 at 5:37 PM, Scott Smith via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> I've been working on improving the startup performance of lldb, and ran
>>...
2012 Feb 14
0
[LLVMdev] We need better hashing
...gRef StrVal) {
addImpl(StrVal.data(), StrVal.size());
}
I'm contradicting my stance above about not caring about the implementation :), but is MurmurHash a good hash for string data? The Bernstein hash function works really well and is much cheaper to compute than Murmur. It is used by HashString (and thus by StringMap).
// Add a possibly unaligned sequence of bytes.
void addImpl(const char *I, size_t Length) {
This should probably be moved out of line to avoid code bloat.
Overall, the design of the class is making sense to me! Thanks for tackling this!
-Chris
-------------- next...
2012 Feb 15
3
[LLVMdev] We need better hashing
...rVal.data(), StrVal.size());
> }
>
> I'm contradicting my stance above about not caring about the
> implementation :), but is MurmurHash a good hash for string data?
> The Bernstein hash function works really well and is much cheaper to
> compute than Murmur. It is used by HashString (and thus by StringMap).
>
> So, MurmurHash is intended for blocks of arbitrary binary data, which may
contain character data, integers, or whatever - it's designed to do such a
thorough job of mixing the bits that it really doesn't matter what data
types you feed it. You are correct...
2012 Feb 13
5
[LLVMdev] We need better hashing
On Mon, Feb 13, 2012 at 1:22 AM, Jay Foad <jay.foad at gmail.com> wrote:
> On 13 February 2012 00:59, Talin <viridia at gmail.com> wrote:
> > Here's my latest version of Hashing.h, which I propose to add to
> llvm/ADT.
> > Comments welcome and encouraged.
>
> > /// Adapted from MurmurHash2 by Austin Appleby
>
> Just out of curiosity, why not
2012 Feb 15
0
[LLVMdev] We need better hashing
...addImpl(StrVal.data(), StrVal.size());
> }
>
> I'm contradicting my stance above about not caring about the implementation :), but is MurmurHash a good hash for string data? The Bernstein hash function works really well and is much cheaper to compute than Murmur. It is used by HashString (and thus by StringMap).
>
> So, MurmurHash is intended for blocks of arbitrary binary data, which may contain character data, integers, or whatever - it's designed to do such a thorough job of mixing the bits that it really doesn't matter what data types you feed it. You are correct...
2015 Mar 18
5
[LLVMdev] On LLD performance
On Mon, Mar 16, 2015 at 11:00 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Mon, Mar 16, 2015 at 10:52 PM, Davide Italiano <davide at freebsd.org>
> wrote:
>>
>> On Mon, Mar 16, 2015 at 1:54 AM, Davide Italiano <davide at freebsd.org>
>> wrote:
>> >
>> > Shankar's parallel for per-se didn't introduce any
2011 Jul 16
0
[LLVMdev] TableGen and DenseMap Strangeness
In the midst of making TableGen Inits unique, I've run into some very
odd DenseMap behavior.
I converted the TernOpInit to use a factory method that uses a DenseMap
to unique objects. I have defined a DenseMapInfo for std::string that
uses HashString from StringExtras.h.
const TernOpInit *TernOpInit::get(TernaryOp opc, const Init *lhs,
const Init *mhs, const Init *rhs,
RecTy *Type) {
#define WORKS
#ifdef WORKS
typedef std::pair<
std::pair<
std::pair<std::p...
2012 Feb 17
0
[LLVMdev] We need better hashing
...wrote:
>
> >/ I'm contradicting my stance above about not caring about the
> />/ implementation :), but is MurmurHash a good hash for string data?
> />/ The Bernstein hash function works really well and is much cheaper to
> />/ compute than Murmur. It is used by HashString (and thus by StringMap).
> /
>
> If you want a good string hashing function, CityHash is by a fair margin
> the best one out there. Look at the comparison done by Craig, Howard, and
> several others when discussing what hashing function to use for libc++.
>
> The only downside...
2012 Feb 15
2
[LLVMdev] We need better hashing
...t, or are you just guessing from
the length of the code? The benchmarks I've seen say the opposite:
http://code.google.com/p/smhasher/wiki/MurmurHash3#Bulk_speed_test,_hashing_an_8-byte-aligned_256k_block
and http://code.google.com/p/cityhash/source/browse/trunk/README.
> It
> is used by HashString (and thus by StringMap).
>
> // Add a possibly unaligned sequence of bytes.
> void addImpl(const char *I, size_t Length) {
>
> This should probably be moved out of line to avoid code bloat.
>
> Overall, the design of the class is making sense to me! Thanks for tackling
>...
2012 Feb 17
4
[LLVMdev] We need better hashing
...());
>> }
>>
>> I'm contradicting my stance above about not caring about the
>> implementation :), but is MurmurHash a good hash for string data?
>> The Bernstein hash function works really well and is much cheaper to
>> compute than Murmur. It is used by HashString (and thus by StringMap).
>>
>> So, MurmurHash is intended for blocks of arbitrary binary data, which may
> contain character data, integers, or whatever - it's designed to do such a
> thorough job of mixing the bits that it really doesn't matter what data
> types you fe...