Because we have a business case!

Since BerkeleyDB is used by all of our products, each year since Oracle bought Sleepycat Software, Inc., we have had an outside counsel review the dual licenses for BerkeleyDB. This year we used a new firm to review, and the outcome was not nice.

Two points (from memory):

But I think you should get your own legal advice! For us those statements and others were alarming!

When I get back to the office after the holidays, I'll put up some real numbers. But in general, our pure-perl DB performs better than expected (Note: my original goal was to get 20% of the BerkeleyDB performace and that would meet our company needs). On fixed length records that are multiples of 8 bytes, our pure-perl DB is +/- 10% of BerkeleyDB. But on random variable length key/value pairs ( 20 to 64 byte keys, and 64 to 768 byte values), we're beating BerkeleyDB by as much as 300%.

Why, because I wrote it to Perl's strengths and not to be a copy of a C program. For example, my first pass used only arrays. When I replaced the arrays with hashes, there was an immediate performance boost. Perl's lookups are much faster than mine. After profiling, 'sort' showed up below 'pack/unpack' on the list of routines. Not worth trying to improve!

And, thanks to some questions from BrowserUk, we can support databases as large as 1024TBytes on 32/64 bit, big/little endian machines.

Thank you

"Well done is better than well said." - Benjamin Franklin


In reply to Re^2: Perl performance just gets better and better! by flexvault
in thread Perl performance just gets better and better! by flexvault

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.