[...] a fascinating discussion regarding different types of malloc()s—and how they all effectively promise the same [...]
105363 items (97572 unread) in 19 feeds
Friends
(1021 unread)
Build
(68091 unread)
Heads
(716 unread)
News
(27537 unread)
fun
(207 unread)
[...] a fascinating discussion regarding different types of malloc()s—and how they all effectively promise the same [...]
You are assuming that the faults are not in Firefox. Firefox has lots of problems, including managing memory, unnecessary IO, etc., etc.
Good point Matt, though you make me realize I also forgot up-front overhead (6MB for tcmalloc) and how fast memory is returned to the OS (tcmalloc is not very good about this).
You forgot about overhead per allocation. To quote google’s page:
Another benefit of TCMalloc is space-efficient representation of small objects. For example, N 8-byte objects can be allocated while using space approximately 8N * 1.01 bytes. I.e., a one-percent space overhead. ptmalloc2 uses a four-byte header for each object and (I think) rounds up the size to a multiple of 8 bytes and ends up using 16N bytes.
I didn’t find any info on TSLF’s page on overhead, but I think its important, especially for dynamic languages where the VM makes lots of small allocations
Jack: C doesn’t have namespaces, and pbstream/upb is written in pure C (not C++).
Whenever I see prefixes like “pbstream_this and pbstream_that” in C++ code, I wounder why the author didn’t used namespaces for this purpose??
Josh! How could you ignore Phil’s amazing suggestion of “Buffer the Streampire Killer”?? Inconceivable.
Ooh, I think we may have a winner. I really like “upb”!
Thanks everyone for your suggestions.
Yes, it’s annoying that preview doesn’t work correctly on this blog. Sorry about that. I think it’s a bug in the style I’m using, but I’ve never taken the time to really dive in and figure out what’s wrong.
BTW, your comment preview is broken, it shows the single and double quotes escaped:
‘ -> \’
” -> \”
My pic would be upb (u meaning micro). It’s short to be used as identifiers prefix, it’s general, it denotes is a PB implementation and it denotes it is minimal.
The only drawback is googleability, there are 365000 hits to upb, but even not being perfect, is not that bad either =)
Buffer the Streampire Killer
minpb
pbj (j for josh or jelly)
Some suggestions:
pblib - taken, alas
llpb - low-level protobuf lib
buflib
pbufstuff
bufferbase
[...] Or, as I said in a previous entry: Oh fantastic! Because definitely the one thing that my application doesn’t already have is a memor… [...]