Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6247143
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T12:48:57+00:00 2026-05-24T12:48:57+00:00

From perldata : You can preallocate space for a hash by assigning to the

  • 0

From perldata:

You can preallocate space for a hash by assigning to the keys() function.
This rounds up the allocated buckets to the next power of two:

   keys(%users) = 1000;      # allocate 1024 buckets

Is there a rule of thumb for when presizing a hash will improve performance?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T12:48:58+00:00Added an answer on May 24, 2026 at 12:48 pm

    The rule of thumb is that the larger you know the Hash will be, the more likely you’ll get value out of pre-sizing it. Consider if your hash has 10 slots, and you start adding one after the other, the number of expansions will a) be few (if at all), and b) small (since there is little data).

    But if you KNOW you’re going to need at least 1M items, then there’s no reason to expand, and copy the underlying and ever expanding data structures over and over while the table grows.

    Will you NOTICE this expansion? Eh, maybe. Modern machines are pretty darn fast, it may not come up. But it’s a grand opportunity for heap expansion, thus causing a GC and a cascade of all sorts of things. So, if you know you’re going to use it, it’s a “cheap” fix to tweak out a few more milibleems of performance.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

From this context: import itertools lines = itertools.cycle(open('filename')) I'm wondering how I can implement
From this article I see I can use msbuild to apply configuration transformations but
From 2.13.2/3 The double quote and the question mark ? , can be represented
From the calculation returns -30. How can I remove the minus, so it just
From http://www.parashift.com/c++-faq-lite/basics-of-inheritance.html#faq-19.5 A member (either data member or member function) declared in a protected
From the paper of bigtable. bigtable I read this: Each METADATA row stores approximately
From viewing the source code that this code makes it looks like itemValue generate
From the documentation of oracle : Domain Runtime MBean Server : This MBean server
From JSP file accessed another JSP file which acts like java class, this used
From my client: send(socket, this is a buffer, ...); send(socket, second buffer, ...); From

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.