Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StringSizeEstimator #6

Open
j-joker opened this issue Oct 4, 2016 · 3 comments
Open

StringSizeEstimator #6

j-joker opened this issue Oct 4, 2016 · 3 comments
Assignees

Comments

@j-joker
Copy link

j-joker commented Oct 4, 2016

do you consider the padding when you caculate the size of string ?the size of an object
Is a multiple of 8

@lemire
Copy link
Owner

lemire commented Oct 6, 2016

@j-joker

This seems to be a valid issue. I think we should round-up to the word size (64 bits on a 64-bit machine and 32 bits on a 32-bit machine).

Care to issue a PR? This way you'd get credit for the (small) change.

@lemire
Copy link
Owner

lemire commented Oct 6, 2016

(I am repeating this comment from the PR to make sure it does not get lost:)

Please merge the following commit
a5886f7

and run mvn test before and after your change. It will measure in a rough but sufficiently accurate manner the running time of the string estimation.

We want to make sure that we do not degrade the performance since this function is called repeatedly, possibly millions of times. It also does something that is relatively unimportant (produce a memory usage estimation) so we do not ever want it to have an impact on performance.

Here is what it might look like...

$ mvn test
(...)
Running com.google.code.externalsorting.ExternalSortTest
#ignore = 67412000
[performance] String size estimator uses 1.116796875 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.120703125 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.1216796875 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.116796875 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.1138671875 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.116796875 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.1197265625 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.116796875 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.112890625 ns per string
#ignore = 67412000
[performance] String size estimator uses 1.116796875 ns per string

@lemire
Copy link
Owner

lemire commented Oct 31, 2017

This remains unresolved, we may underestimate the memory usage. Some analysis is needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants