[cfe-dev] lib clang help request: usage of clang_getIncludedFile()
unitydeveloper
alessandro at runpresto.com
Sat Dec 3 06:26:21 PST 2011
Hi all,
I am trying to find out the files included from a file.
I use clang_tokenize() and clang_annotateTokens() in order to get a set of tokens and cursors.
When I iterate through them, for #import directives I get a cursor kind of preprocessor directive instead of file inclusion ( which is what I expected if I understood lib clang correctly ) .
When I call clang_getIncludedFile() on the correspondent cursor it returns a zero file, so that I cannot get its filename.
Am I doing something terribly wrong here or is there something wrong with the way clang_annotateTokens() works or anything else?
What is the correct way to find the files included from a file?
Thanks,
A
On 3 Dec 2011, at 01:59, cfe-dev-request at cs.uiuc.edu wrote:
> Send cfe-dev mailing list submissions to
> cfe-dev at cs.uiuc.edu
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> or, via email, send a message with subject or body 'help' to
> cfe-dev-request at cs.uiuc.edu
>
> You can reach the person managing the list at
> cfe-dev-owner at cs.uiuc.edu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of cfe-dev digest..."
>
>
> Today's Topics:
>
> 1. Re: RFC: change string hash function in libc++ (David Blaikie)
> 2. Re: RFC: change string hash function in libc++ (Jeffrey Yasskin)
> 3. Re: RFC: change string hash function in libc++ (Jeffrey Yasskin)
> 4. there`s a mess in the 3.0 tarball for Debian [Mac OS X
> leading-"._" files] (Abe)
> 5. Re: RFC: change string hash function in libc++ (Craig Silverstein)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 2 Dec 2011 15:58:13 -0800
> From: David Blaikie <dblaikie at gmail.com>
> Subject: Re: [cfe-dev] RFC: change string hash function in libc++
> To: Craig Silverstein <csilvers at google.com>
> Cc: cfe-dev at cs.uiuc.edu
> Message-ID:
> <CAENS6Eu4Wbc-XF3w-hAv8kX2em-feDGaAQ9WcXvCbj4Ms0sKuw at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> On Fri, Dec 2, 2011 at 3:52 PM, Craig Silverstein <csilvers at google.com> wrote:
>> } What are the numbers behind these "performs better"?
>>
>> Austin Appleby (the murmurhash author) agreed to run some numbers.
>> Here's his report. ?The executive summary is that city is *much*
>> faster for strings >512 bytes, and murmur is a bit faster for strings
>> <512 bytes.
>>
>> craig
>>
>> -- cut here--
>>
>> SMHasher can generate performance numbers for various hash functions -
>> below are numbers for Murmur and City generated on my desktop machine
>> (I added the additional block sizes that chandlerc requested and
>> tweaked SMHasher's output a bit to make comparison easier).
>>
>> Generally speaking, City is _much_ faster for large blocks (more loop
>> unrolling),
>
> Curious - is it relevant which compiler/optimization levels were used
> for this comparison?
>
>> Murmur is faster for small blocks. The crossover point in
>> the data below is at 512 bytes.
>>
>> "Resistance to collisions" is harder to quantify, but any hash
>> function that passes all the tests in SMHasher's test suite should be
>> virtually indistiguishable from a random oracle in most applications -
>> it is quite thorough.
>>
>> -Austin
>>
>>
>> -------------------------------------------------------------------------------
>> --- Testing Murmur3F (MurmurHash3 for x64, 128-bit)
>>
>> [[[ Sanity Tests ]]]
>>
>> Verification value 0x6384BA69 : Passed!
>> Running sanity check 1..........PASS
>> Running sanity check 2..........PASS
>>
>> [[[ Speed Tests ]]]
>>
>> Bulk speed test - 262144-byte keys
>> Alignment ?0 - ?2.267 bytes/cycle - 6486.33 MiB/sec @ 3 ghz
>> Alignment ?1 - ?2.254 bytes/cycle - 6449.27 MiB/sec @ 3 ghz
>> Alignment ?2 - ?2.254 bytes/cycle - 6448.78 MiB/sec @ 3 ghz
>> Alignment ?3 - ?2.254 bytes/cycle - 6449.09 MiB/sec @ 3 ghz
>> Alignment ?4 - ?2.254 bytes/cycle - 6449.76 MiB/sec @ 3 ghz
>> Alignment ?5 - ?2.254 bytes/cycle - 6448.82 MiB/sec @ 3 ghz
>> Alignment ?6 - ?2.254 bytes/cycle - 6449.13 MiB/sec @ 3 ghz
>> Alignment ?7 - ?2.254 bytes/cycle - 6449.25 MiB/sec @ 3 ghz
>>
>> Small key speed test - ? ?1-byte keys - ? ?32.34 cycles/hash, ?0.03 bytes/cycle
>> Small key speed test - ? ?2-byte keys - ? ?33.51 cycles/hash, ?0.06 bytes/cycle
>> Small key speed test - ? ?3-byte keys - ? ?37.80 cycles/hash, ?0.08 bytes/cycle
>> Small key speed test - ? ?4-byte keys - ? ?34.81 cycles/hash, ?0.11 bytes/cycle
>> Small key speed test - ? ?5-byte keys - ? ?37.85 cycles/hash, ?0.13 bytes/cycle
>> Small key speed test - ? ?6-byte keys - ? ?41.63 cycles/hash, ?0.14 bytes/cycle
>> Small key speed test - ? ?7-byte keys - ? ?37.31 cycles/hash, ?0.19 bytes/cycle
>> Small key speed test - ? ?8-byte keys - ? ?42.23 cycles/hash, ?0.19 bytes/cycle
>> Small key speed test - ? ?9-byte keys - ? ?43.03 cycles/hash, ?0.21 bytes/cycle
>> Small key speed test - ? 10-byte keys - ? ?43.93 cycles/hash, ?0.23 bytes/cycle
>> Small key speed test - ? 11-byte keys - ? ?41.56 cycles/hash, ?0.26 bytes/cycle
>> Small key speed test - ? 12-byte keys - ? ?47.35 cycles/hash, ?0.25 bytes/cycle
>> Small key speed test - ? 13-byte keys - ? ?46.47 cycles/hash, ?0.28 bytes/cycle
>> Small key speed test - ? 14-byte keys - ? ?47.23 cycles/hash, ?0.30 bytes/cycle
>> Small key speed test - ? 15-byte keys - ? ?47.12 cycles/hash, ?0.32 bytes/cycle
>> Small key speed test - ? 16-byte keys - ? ?37.67 cycles/hash, ?0.42 bytes/cycle
>>
>> Small key speed test - ? 16-byte keys - ? ?37.52 cycles/hash, ?0.43 bytes/cycle
>> Small key speed test - ? 32-byte keys - ? ?44.09 cycles/hash, ?0.73 bytes/cycle
>> Small key speed test - ? 48-byte keys - ? ?49.50 cycles/hash, ?0.97 bytes/cycle
>> Small key speed test - ? 64-byte keys - ? ?55.31 cycles/hash, ?1.16 bytes/cycle
>> Small key speed test - ? 80-byte keys - ? ?64.95 cycles/hash, ?1.23 bytes/cycle
>> Small key speed test - ? 96-byte keys - ? ?67.22 cycles/hash, ?1.43 bytes/cycle
>> Small key speed test - ?112-byte keys - ? ?78.28 cycles/hash, ?1.43 bytes/cycle
>> Small key speed test - ?128-byte keys - ? ?83.05 cycles/hash, ?1.54 bytes/cycle
>>
>> Small key speed test - ?128-byte keys - ? ?83.01 cycles/hash, ?1.54 bytes/cycle
>> Small key speed test - ?256-byte keys - ? 135.33 cycles/hash, ?1.89 bytes/cycle
>> Small key speed test - ?384-byte keys - ? 192.02 cycles/hash, ?2.00 bytes/cycle
>> Small key speed test - ?512-byte keys - ? 248.00 cycles/hash, ?2.06 bytes/cycle
>> Small key speed test - ?640-byte keys - ? 300.39 cycles/hash, ?2.13 bytes/cycle
>> Small key speed test - ?768-byte keys - ? 345.25 cycles/hash, ?2.22 bytes/cycle
>> Small key speed test - ?896-byte keys - ? 405.33 cycles/hash, ?2.21 bytes/cycle
>> Small key speed test - 1024-byte keys - ? 455.43 cycles/hash, ?2.25 bytes/cycle
>>
>> -------------------------------------------------------------------------------
>> --- Testing City128
>>
>> [[[ Sanity Tests ]]]
>>
>> Verification value 0x94B0EF46 : Passed!
>> Running sanity check 1..........PASS
>> Running sanity check 2..........PASS
>>
>> [[[ Speed Tests ]]]
>>
>> Bulk speed test - 262144-byte keys
>> Alignment ?0 - ?3.785 bytes/cycle - 10828.44 MiB/sec @ 3 ghz
>> Alignment ?1 - ?3.761 bytes/cycle - 10761.34 MiB/sec @ 3 ghz
>> Alignment ?2 - ?3.762 bytes/cycle - 10761.92 MiB/sec @ 3 ghz
>> Alignment ?3 - ?3.762 bytes/cycle - 10762.20 MiB/sec @ 3 ghz
>> Alignment ?4 - ?3.762 bytes/cycle - 10763.49 MiB/sec @ 3 ghz
>> Alignment ?5 - ?3.762 bytes/cycle - 10763.35 MiB/sec @ 3 ghz
>> Alignment ?6 - ?3.762 bytes/cycle - 10763.35 MiB/sec @ 3 ghz
>> Alignment ?7 - ?3.762 bytes/cycle - 10763.96 MiB/sec @ 3 ghz
>>
>> Small key speed test - ? ?1-byte keys - ? ?52.36 cycles/hash, ?0.02 bytes/cycle
>> Small key speed test - ? ?2-byte keys - ? ?53.84 cycles/hash, ?0.04 bytes/cycle
>> Small key speed test - ? ?3-byte keys - ? ?54.89 cycles/hash, ?0.05 bytes/cycle
>> Small key speed test - ? ?4-byte keys - ? ?62.12 cycles/hash, ?0.06 bytes/cycle
>> Small key speed test - ? ?5-byte keys - ? ?55.49 cycles/hash, ?0.09 bytes/cycle
>> Small key speed test - ? ?6-byte keys - ? ?53.68 cycles/hash, ?0.11 bytes/cycle
>> Small key speed test - ? ?7-byte keys - ? ?54.99 cycles/hash, ?0.13 bytes/cycle
>> Small key speed test - ? ?8-byte keys - ? ?56.67 cycles/hash, ?0.14 bytes/cycle
>> Small key speed test - ? ?9-byte keys - ? ?58.90 cycles/hash, ?0.15 bytes/cycle
>> Small key speed test - ? 10-byte keys - ? ?56.44 cycles/hash, ?0.18 bytes/cycle
>> Small key speed test - ? 11-byte keys - ? ?58.28 cycles/hash, ?0.19 bytes/cycle
>> Small key speed test - ? 12-byte keys - ? ?58.38 cycles/hash, ?0.21 bytes/cycle
>> Small key speed test - ? 13-byte keys - ? ?57.48 cycles/hash, ?0.23 bytes/cycle
>> Small key speed test - ? 14-byte keys - ? ?57.18 cycles/hash, ?0.24 bytes/cycle
>> Small key speed test - ? 15-byte keys - ? ?56.81 cycles/hash, ?0.26 bytes/cycle
>> Small key speed test - ? 16-byte keys - ? ?56.33 cycles/hash, ?0.28 bytes/cycle
>>
>> Small key speed test - ? 16-byte keys - ? ?56.43 cycles/hash, ?0.28 bytes/cycle
>> Small key speed test - ? 32-byte keys - ? ?84.35 cycles/hash, ?0.38 bytes/cycle
>> Small key speed test - ? 48-byte keys - ? ?86.97 cycles/hash, ?0.55 bytes/cycle
>> Small key speed test - ? 64-byte keys - ? ?93.17 cycles/hash, ?0.69 bytes/cycle
>> Small key speed test - ? 80-byte keys - ? ?95.33 cycles/hash, ?0.84 bytes/cycle
>> Small key speed test - ? 96-byte keys - ? 106.40 cycles/hash, ?0.90 bytes/cycle
>> Small key speed test - ?112-byte keys - ? 118.32 cycles/hash, ?0.95 bytes/cycle
>> Small key speed test - ?128-byte keys - ? ?95.01 cycles/hash, ?1.35 bytes/cycle
>>
>> Small key speed test - ?128-byte keys - ? ?95.09 cycles/hash, ?1.35 bytes/cycle
>> Small key speed test - ?256-byte keys - ? 129.42 cycles/hash, ?1.98 bytes/cycle
>> Small key speed test - ?384-byte keys - ? 205.25 cycles/hash, ?1.87 bytes/cycle
>> Small key speed test - ?512-byte keys - ? 249.53 cycles/hash, ?2.05 bytes/cycle
>> Small key speed test - ?640-byte keys - ? 279.62 cycles/hash, ?2.29 bytes/cycle
>> Small key speed test - ?768-byte keys - ? 313.20 cycles/hash, ?2.45 bytes/cycle
>> Small key speed test - ?896-byte keys - ? 349.60 cycles/hash, ?2.56 bytes/cycle
>> Small key speed test - 1024-byte keys - ? 376.69 cycles/hash, ?2.72 bytes/cycle
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 2 Dec 2011 16:00:00 -0800
> From: Jeffrey Yasskin <jyasskin at googlers.com>
> Subject: Re: [cfe-dev] RFC: change string hash function in libc++
> To: Craig Silverstein <csilvers at google.com>
> Cc: cfe-dev at cs.uiuc.edu
> Message-ID:
> <CANh-dXncQ1R8KVgc5DxiXVGa=vPO3w2M_2MArkWu-hVCcmWBXg at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> On Fri, Dec 2, 2011 at 3:52 PM, Craig Silverstein <csilvers at google.com> wrote:
>> } What are the numbers behind these "performs better"?
>>
>> Austin Appleby (the murmurhash author) agreed to run some numbers.
>> Here's his report. ?The executive summary is that city is *much*
>> faster for strings >512 bytes, and murmur is a bit faster for strings
>> <512 bytes.
>>
>> --- Testing City128
>
> Sorry to nitpick, but http://code.google.com/p/cityhash/ says "we use
> variants of CityHash64() mainly in hash tables such as
> hash_map<string, int>. ... CityHash128() and similar return a 128-bit
> hash and are tuned for strings of at least a few hundred bytes.
> Depending on your compiler and hardware, it may be faster than
> CityHash64() on sufficiently long strings. It is known to be slower
> than necessary on shorter strings, but we expect that case to be
> relatively unimportant. Inside Google we use variants of CityHash128()
> mainly for code that wants to minimize collisions."
>
> So it's probably better to test City64 than City128 for a hash-table proposal.
>
>
>
> ------------------------------
>
> Message: 3
> Date: Fri, 2 Dec 2011 16:08:03 -0800
> From: Jeffrey Yasskin <jyasskin at googlers.com>
> Subject: Re: [cfe-dev] RFC: change string hash function in libc++
> To: Craig Silverstein <csilvers at google.com>
> Cc: cfe-dev at cs.uiuc.edu
> Message-ID:
> <CANh-dX=kTVZu3wMp_QZycKCxs0sEAb4q9g8OttZVGMZvCQ3cQA at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> On Fri, Dec 2, 2011 at 4:00 PM, Jeffrey Yasskin <jyasskin at googlers.com> wrote:
>> On Fri, Dec 2, 2011 at 3:52 PM, Craig Silverstein <csilvers at google.com> wrote:
>>> } What are the numbers behind these "performs better"?
>>>
>>> Austin Appleby (the murmurhash author) agreed to run some numbers.
>>> Here's his report. ?The executive summary is that city is *much*
>>> faster for strings >512 bytes, and murmur is a bit faster for strings
>>> <512 bytes.
>>>
>>> --- Testing City128
>>
>> Sorry to nitpick, but http://code.google.com/p/cityhash/ says "we use
>> variants of CityHash64() mainly in hash tables such as
>> hash_map<string, int>. ... CityHash128() and similar return a 128-bit
>> hash and are tuned for strings of at least a few hundred bytes.
>> Depending on your compiler and hardware, it may be faster than
>> CityHash64() on sufficiently long strings. It is known to be slower
>> than necessary on shorter strings, but we expect that case to be
>> relatively unimportant. Inside Google we use variants of CityHash128()
>> mainly for code that wants to minimize collisions."
>>
>> So it's probably better to test City64 than City128 for a hash-table proposal.
>
> Here's the cityhash performance claim from
> http://code.google.com/p/cityhash/source/browse/trunk/README:
>
> Performance on short strings
> ============================
>
> For short strings, e.g., most hash table keys, CityHash64 is faster than
> CityHash128, and probably faster than all the aforementioned functions,
> depending on the mix of string lengths. Here are a few results from that
> same hardware, where we (unrealistically) tested a single string length over
> and over again:
>
> Hash Results
> ------------------------------------------------------------------------------
> CityHash64 7ns for 1 byte, or 6ns for 8 bytes, or 9ns for 64 bytes
> Murmur2 (64-bit) 6ns for 1 byte, or 6ns for 8 bytes, or 15ns for 64 bytes
> Murmur3F 14ns for 1 byte, or 15ns for 8 bytes, or 23ns for 64 bytes
>
> Hash Quality
> ============
>
> ...
>
> The CityHash functions have the following flaws according to SMHasher:
>
> (1) CityHash64: some cases of poor avalanching, which we suspect don't matter in
> practice, with some inputs <= 16 bytes.
>
> (2) CityHash64WithSeed: one or two minor issues with inputs containing at most
> two non-zero bytes and length <= 24 bytes.
>
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 2 Dec 2011 19:38:31 -0600
> From: Abe <abe149 at gmail.com>
> Subject: [cfe-dev] there`s a mess in the 3.0 tarball for Debian [Mac
> OS X leading-"._" files]
> To: cfe-dev at cs.uiuc.edu
> Message-ID:
> <CA+Xw_vCO4BOG164UZjvzSAO3S=tbuSYaxy9+wkKRjn6mCYaqFA at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> Hi all.
>
> I just downloaded the minty-fresh file
> "http://llvm.org/releases/3.0/clang+llvm-3.0-x86_64-linux-debian.tar.gz",
> and it`s got a _lot_ of "._foo" files [where "foo" is a place-holder,
> of course]. Those are characteristic of a [Mac OS X]-based GUI-made
> archive, and those files have a bunch of junk in them about the
> annoying OS X quarantine feature and the Safari web browser.
>
> My apologies for notifying the whole list, but I couldn`t find an
> e-mail addr. for the release manager and my user ID & pwd. for the
> list didn`t work for logging in to the bug database.
>
> Regards,
>
> Abe
>
>
> ------------------------------
>
> Message: 5
> Date: Fri, 2 Dec 2011 17:59:37 -0800 (PST)
> From: csilvers at google.com (Craig Silverstein)
> Subject: Re: [cfe-dev] RFC: change string hash function in libc++
> To: chandlerc at google.com, cfe-dev at cs.uiuc.edu
> Message-ID: <20111203015937.1254AEC022 at meta.mtv.corp.google.com>
>
> Here are the updated results, including City64, which is probably a
> better candidate here than City128. The data is a little noisy, but
> it looks like City64 is faster than Murmur3F starting at
> around 8-byte strings.
>
> Answering another question, Austin said all tests were performed on an
> x86_64 machine with gcc 4.6.x, with code compiled via gcc -O2.
> Results can differ on different platforms/compilers/etc, making the
> choice of a 'best' hash function difficult. Overall, I think either
> cityhash or murmurhash would be great choices, and better than what
> exists in libc++ now. I don't want to get too bogged down in choosing
> between them.
>
> craig
>
> -------------------------------------------------------------------------------
> --- Testing Murmur3F (MurmurHash3 for x64, 128-bit)
>
> [[[ Sanity Tests ]]]
>
> Verification value 0x6384BA69 : Passed!
> Running sanity check 1..........PASS
> Running sanity check 2..........PASS
>
> [[[ Speed Tests ]]]
>
> Bulk speed test - 262144-byte keys
> Alignment 0 - 2.267 bytes/cycle - 6486.33 MiB/sec @ 3 ghz
> Alignment 1 - 2.254 bytes/cycle - 6449.27 MiB/sec @ 3 ghz
> Alignment 2 - 2.254 bytes/cycle - 6448.78 MiB/sec @ 3 ghz
> Alignment 3 - 2.254 bytes/cycle - 6449.09 MiB/sec @ 3 ghz
> Alignment 4 - 2.254 bytes/cycle - 6449.76 MiB/sec @ 3 ghz
> Alignment 5 - 2.254 bytes/cycle - 6448.82 MiB/sec @ 3 ghz
> Alignment 6 - 2.254 bytes/cycle - 6449.13 MiB/sec @ 3 ghz
> Alignment 7 - 2.254 bytes/cycle - 6449.25 MiB/sec @ 3 ghz
>
> Small key speed test - 1-byte keys - 32.34 cycles/hash, 0.03 bytes/cycle
> Small key speed test - 2-byte keys - 33.51 cycles/hash, 0.06 bytes/cycle
> Small key speed test - 3-byte keys - 37.80 cycles/hash, 0.08 bytes/cycle
> Small key speed test - 4-byte keys - 34.81 cycles/hash, 0.11 bytes/cycle
> Small key speed test - 5-byte keys - 37.85 cycles/hash, 0.13 bytes/cycle
> Small key speed test - 6-byte keys - 41.63 cycles/hash, 0.14 bytes/cycle
> Small key speed test - 7-byte keys - 37.31 cycles/hash, 0.19 bytes/cycle
> Small key speed test - 8-byte keys - 42.23 cycles/hash, 0.19 bytes/cycle
> Small key speed test - 9-byte keys - 43.03 cycles/hash, 0.21 bytes/cycle
> Small key speed test - 10-byte keys - 43.93 cycles/hash, 0.23 bytes/cycle
> Small key speed test - 11-byte keys - 41.56 cycles/hash, 0.26 bytes/cycle
> Small key speed test - 12-byte keys - 47.35 cycles/hash, 0.25 bytes/cycle
> Small key speed test - 13-byte keys - 46.47 cycles/hash, 0.28 bytes/cycle
> Small key speed test - 14-byte keys - 47.23 cycles/hash, 0.30 bytes/cycle
> Small key speed test - 15-byte keys - 47.12 cycles/hash, 0.32 bytes/cycle
> Small key speed test - 16-byte keys - 37.67 cycles/hash, 0.42 bytes/cycle
>
> Small key speed test - 16-byte keys - 37.52 cycles/hash, 0.43 bytes/cycle
> Small key speed test - 32-byte keys - 44.09 cycles/hash, 0.73 bytes/cycle
> Small key speed test - 48-byte keys - 49.50 cycles/hash, 0.97 bytes/cycle
> Small key speed test - 64-byte keys - 55.31 cycles/hash, 1.16 bytes/cycle
> Small key speed test - 80-byte keys - 64.95 cycles/hash, 1.23 bytes/cycle
> Small key speed test - 96-byte keys - 67.22 cycles/hash, 1.43 bytes/cycle
> Small key speed test - 112-byte keys - 78.28 cycles/hash, 1.43 bytes/cycle
> Small key speed test - 128-byte keys - 83.05 cycles/hash, 1.54 bytes/cycle
>
> Small key speed test - 128-byte keys - 83.01 cycles/hash, 1.54 bytes/cycle
> Small key speed test - 256-byte keys - 135.33 cycles/hash, 1.89 bytes/cycle
> Small key speed test - 384-byte keys - 192.02 cycles/hash, 2.00 bytes/cycle
> Small key speed test - 512-byte keys - 248.00 cycles/hash, 2.06 bytes/cycle
> Small key speed test - 640-byte keys - 300.39 cycles/hash, 2.13 bytes/cycle
> Small key speed test - 768-byte keys - 345.25 cycles/hash, 2.22 bytes/cycle
> Small key speed test - 896-byte keys - 405.33 cycles/hash, 2.21 bytes/cycle
> Small key speed test - 1024-byte keys - 455.43 cycles/hash, 2.25 bytes/cycle
>
> -------------------------------------------------------------------------------
> --- Testing City64
>
> [[[ Sanity Tests ]]]
>
> Verification value 0x45754A6F : Passed!
> Running sanity check 1..........PASS
> Running sanity check 2..........PASS
>
> [[[ Speed Tests ]]]
>
> Bulk speed test - 262144-byte keys
> Alignment 0 - 3.589 bytes/cycle - 10267.63 MiB/sec @ 3 ghz
> Alignment 1 - 3.565 bytes/cycle - 10199.30 MiB/sec @ 3 ghz
> Alignment 2 - 3.565 bytes/cycle - 10199.91 MiB/sec @ 3 ghz
> Alignment 3 - 3.565 bytes/cycle - 10199.65 MiB/sec @ 3 ghz
> Alignment 4 - 3.565 bytes/cycle - 10198.61 MiB/sec @ 3 ghz
> Alignment 5 - 3.565 bytes/cycle - 10199.72 MiB/sec @ 3 ghz
> Alignment 6 - 3.565 bytes/cycle - 10199.38 MiB/sec @ 3 ghz
> Alignment 7 - 3.565 bytes/cycle - 10199.23 MiB/sec @ 3 ghz
>
> Small key speed test - 1-byte keys - 37.70 cycles/hash, 0.03 bytes/cycle
> Small key speed test - 2-byte keys - 35.54 cycles/hash, 0.06 bytes/cycle
> Small key speed test - 3-byte keys - 29.74 cycles/hash, 0.10 bytes/cycle
> Small key speed test - 4-byte keys - 38.31 cycles/hash, 0.10 bytes/cycle
> Small key speed test - 5-byte keys - 37.82 cycles/hash, 0.13 bytes/cycle
> Small key speed test - 6-byte keys - 40.93 cycles/hash, 0.15 bytes/cycle
> Small key speed test - 7-byte keys - 37.94 cycles/hash, 0.18 bytes/cycle
> Small key speed test - 8-byte keys - 37.51 cycles/hash, 0.21 bytes/cycle
> Small key speed test - 9-byte keys - 37.02 cycles/hash, 0.24 bytes/cycle
> Small key speed test - 10-byte keys - 36.52 cycles/hash, 0.27 bytes/cycle
> Small key speed test - 11-byte keys - 39.12 cycles/hash, 0.28 bytes/cycle
> Small key speed test - 12-byte keys - 37.67 cycles/hash, 0.32 bytes/cycle
> Small key speed test - 13-byte keys - 37.46 cycles/hash, 0.35 bytes/cycle
> Small key speed test - 14-byte keys - 36.69 cycles/hash, 0.38 bytes/cycle
> Small key speed test - 15-byte keys - 36.31 cycles/hash, 0.41 bytes/cycle
> Small key speed test - 16-byte keys - 37.74 cycles/hash, 0.42 bytes/cycle
>
> Small key speed test - 16-byte keys - 37.83 cycles/hash, 0.42 bytes/cycle
> Small key speed test - 32-byte keys - 30.28 cycles/hash, 1.06 bytes/cycle
> Small key speed test - 48-byte keys - 45.70 cycles/hash, 1.05 bytes/cycle
> Small key speed test - 64-byte keys - 47.17 cycles/hash, 1.36 bytes/cycle
> Small key speed test - 80-byte keys - 73.64 cycles/hash, 1.09 bytes/cycle
> Small key speed test - 96-byte keys - 73.44 cycles/hash, 1.31 bytes/cycle
> Small key speed test - 112-byte keys - 76.34 cycles/hash, 1.47 bytes/cycle
> Small key speed test - 128-byte keys - 75.35 cycles/hash, 1.70 bytes/cycle
>
> Small key speed test - 128-byte keys - 75.50 cycles/hash, 1.70 bytes/cycle
> Small key speed test - 256-byte keys - 106.98 cycles/hash, 2.39 bytes/cycle
> Small key speed test - 384-byte keys - 147.98 cycles/hash, 2.59 bytes/cycle
> Small key speed test - 512-byte keys - 180.29 cycles/hash, 2.84 bytes/cycle
> Small key speed test - 640-byte keys - 214.87 cycles/hash, 2.98 bytes/cycle
> Small key speed test - 768-byte keys - 249.37 cycles/hash, 3.08 bytes/cycle
> Small key speed test - 896-byte keys - 278.00 cycles/hash, 3.22 bytes/cycle
> Small key speed test - 1024-byte keys - 314.24 cycles/hash, 3.26 bytes/cycle
>
> -------------------------------------------------------------------------------
> --- Testing City128
>
> [[[ Sanity Tests ]]]
>
> Verification value 0x94B0EF46 : Passed!
> Running sanity check 1..........PASS
> Running sanity check 2..........PASS
>
> [[[ Speed Tests ]]]
>
> Bulk speed test - 262144-byte keys
> Alignment 0 - 3.785 bytes/cycle - 10828.44 MiB/sec @ 3 ghz
> Alignment 1 - 3.761 bytes/cycle - 10761.34 MiB/sec @ 3 ghz
> Alignment 2 - 3.762 bytes/cycle - 10761.92 MiB/sec @ 3 ghz
> Alignment 3 - 3.762 bytes/cycle - 10762.20 MiB/sec @ 3 ghz
> Alignment 4 - 3.762 bytes/cycle - 10763.49 MiB/sec @ 3 ghz
> Alignment 5 - 3.762 bytes/cycle - 10763.35 MiB/sec @ 3 ghz
> Alignment 6 - 3.762 bytes/cycle - 10763.35 MiB/sec @ 3 ghz
> Alignment 7 - 3.762 bytes/cycle - 10763.96 MiB/sec @ 3 ghz
>
> Small key speed test - 1-byte keys - 52.36 cycles/hash, 0.02 bytes/cycle
> Small key speed test - 2-byte keys - 53.84 cycles/hash, 0.04 bytes/cycle
> Small key speed test - 3-byte keys - 54.89 cycles/hash, 0.05 bytes/cycle
> Small key speed test - 4-byte keys - 62.12 cycles/hash, 0.06 bytes/cycle
> Small key speed test - 5-byte keys - 55.49 cycles/hash, 0.09 bytes/cycle
> Small key speed test - 6-byte keys - 53.68 cycles/hash, 0.11 bytes/cycle
> Small key speed test - 7-byte keys - 54.99 cycles/hash, 0.13 bytes/cycle
> Small key speed test - 8-byte keys - 56.67 cycles/hash, 0.14 bytes/cycle
> Small key speed test - 9-byte keys - 58.90 cycles/hash, 0.15 bytes/cycle
> Small key speed test - 10-byte keys - 56.44 cycles/hash, 0.18 bytes/cycle
> Small key speed test - 11-byte keys - 58.28 cycles/hash, 0.19 bytes/cycle
> Small key speed test - 12-byte keys - 58.38 cycles/hash, 0.21 bytes/cycle
> Small key speed test - 13-byte keys - 57.48 cycles/hash, 0.23 bytes/cycle
> Small key speed test - 14-byte keys - 57.18 cycles/hash, 0.24 bytes/cycle
> Small key speed test - 15-byte keys - 56.81 cycles/hash, 0.26 bytes/cycle
> Small key speed test - 16-byte keys - 56.33 cycles/hash, 0.28 bytes/cycle
>
> Small key speed test - 16-byte keys - 56.43 cycles/hash, 0.28 bytes/cycle
> Small key speed test - 32-byte keys - 84.35 cycles/hash, 0.38 bytes/cycle
> Small key speed test - 48-byte keys - 86.97 cycles/hash, 0.55 bytes/cycle
> Small key speed test - 64-byte keys - 93.17 cycles/hash, 0.69 bytes/cycle
> Small key speed test - 80-byte keys - 95.33 cycles/hash, 0.84 bytes/cycle
> Small key speed test - 96-byte keys - 106.40 cycles/hash, 0.90 bytes/cycle
> Small key speed test - 112-byte keys - 118.32 cycles/hash, 0.95 bytes/cycle
> Small key speed test - 128-byte keys - 95.01 cycles/hash, 1.35 bytes/cycle
>
> Small key speed test - 128-byte keys - 95.09 cycles/hash, 1.35 bytes/cycle
> Small key speed test - 256-byte keys - 129.42 cycles/hash, 1.98 bytes/cycle
> Small key speed test - 384-byte keys - 205.25 cycles/hash, 1.87 bytes/cycle
> Small key speed test - 512-byte keys - 249.53 cycles/hash, 2.05 bytes/cycle
> Small key speed test - 640-byte keys - 279.62 cycles/hash, 2.29 bytes/cycle
> Small key speed test - 768-byte keys - 313.20 cycles/hash, 2.45 bytes/cycle
> Small key speed test - 896-byte keys - 349.60 cycles/hash, 2.56 bytes/cycle
> Small key speed test - 1024-byte keys - 376.69 cycles/hash, 2.72 bytes/cycle
>
>
> ------------------------------
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
> End of cfe-dev Digest, Vol 54, Issue 15
> ***************************************
More information about the cfe-dev
mailing list