Top all-time · #1838
locklessinc.com
Company blog · locklessinc.com/articlesprogrammingsystems
locklessinc.com is the company blog at locklessinc.com, writing about programming and systems. Since 2010, 39 different Hacker News readers have linked it 45 times, most often “Why Lisp Failed. (2009)”. It has a working feed you can follow.
Too few sampled comments (13) to say how often HN recommends it.?
Why HN links it
Lockless Inc's articles cover low-level C and C++ topics: tricky C semantics, intrusive lists, compiler vectorization and memory allocator benchmarks. HN readers link them as technical references.
Summarised by Claude from a sample of 13 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Lockless Inc is the developer of the world's fastest memory allocator. Use it to increase the performance of your applications.
Most-linked posts?
- /benchmarks_allocator.shtml5 people · 5 mentions · first linked 2012-03-26
- Why Lisp Failed. (2009)4 people · 4 mentions · first linked 2011-08-07
- Auto-vectorization with gcc 4.73 people · 3 mentions · first linked 2012-05-22
- Why Lisp Failed (2010)3 people · 3 mentions · first linked 2018-02-01
- Doubly Linked Lists in C2 people · 2 mentions · first linked 2013-02-21
- Optimization Tricks used by the Lockless Memory Allocator2 people · 2 mentions · first linked 2011-11-16
- /articles/2 people · 2 mentions · first linked 2019-07-06
- Branchfree Saturating Arithmetic in C2 people · 2 mentions · first linked 2010-12-23
- The TCP/IP Checksum (2012)2 people · 2 mentions · first linked 2021-11-27
- Mutexes and Condition Variables using Futexes2 people · 2 mentions · first linked 2010-07-29
What Hacker News says?
This quiz wasn't illuminating at all. You generally start with assuming and validating a "C Datatype Model" i.e. ILP32/LP64 etc. for your system. Once you know that, these questions are easily answered. If you want to see some real tricky C code, see some of the articles here: https://locklessinc.com/articles/
Comment linking /articles/
on “So you think you know C? (2016)”Submitted Why Lisp Failed (2010) as a story · 121 points
HN discussionYou might find http://www.locklessinc.com/articles/dlist/ interesting: it describes a (perhaps excessively) clever way to do intrusive lists that gives type checking. (Unfortunately it does rely on `typeof`, an extension.)
Comment linking /articles/dlist/
on “How to Make a Computer Operating System in C/C++”Submitted Optimization Tricks used by the Lockless Memory Allocator as a story · 60 points
HN discussionThe mindshare bit is an interesting one. I once read an article [1] that argued Lisp did not reach the same level of industrial popularity as other programming languages due to the fact that Lisp enables you to program in a lot of different ways for different reasons. I'm admittedly not very familiar with Lisp, and I don't know if I fully agree with the article, but it made me wonder if ease-of-collaboration can be…
Comment linking /articles/why_lisp_failed/
on “My Reaction to React”Submitted 256 Bit Arithmetic as a story · 22 points
HN discussionSee also: - http://locklessinc.com/benchmarks_allocator.shtml ($, use as a minimum performance target) - http://www.nedprod.com/programs/portable/nedmalloc/ - http://phk.freebsd.dk/pubs/malloc.pdf [PDF] (phkmalloc) - https://github.com/gperftools/gperftools (tcmalloc) - https://github.com/ivmai/bdwgc/blob/master/malloc.c - https://github.com/jemalloc/jemalloc - http://gee.cs.oswego.edu/dl/html/malloc.html (dlmalloc)
Comment linking /benchmarks_allocator.shtml
on “Malloc Challenge”Submitted Spinlocks and Read-Write Locks as a story · 10 points
HN discussionWow! Want to do a full disclosure? Your papers were very valuable while doing my undergraduate study. Is Hoard neck and neck with jemalloc and lockless' allocator nowadays? http://locklessinc.com/benchmarks_allocator.shtml
Comment linking /benchmarks_allocator.shtml
on “SuperMalloc: A Super Fast Multithreaded Malloc for 64-bit Machines”Submitted Mocking Functions in C as a story · 5 points
HN discussionCompletely agree. Restrict keyword can free up the compiler to vectorize a lot of code with sse and avx on intel chips. [1] http://locklessinc.com/articles/vectorize/ [2] http://stackoverflow.com/questions/1965487/does-the-restrict...
Comment linking /articles/vectorize/
on “Popular Myths about C++, Part 3”Submitted Auto-vectorization with gcc 4.7 as a story · 5 points
HN discussionAdd (2009) to this article. https://locklessinc.com/articles/
Comment linking /articles/
on “Why Lisp Failed (2010)”Submitted Why Lisp Failed as a story · 4 points
HN discussion> all decent C compilers can easily and robustly generate such code From what I've seen auto-vectorization is anything but robust, often you need non-portable annotations to get anything decent. See e.g.: http://locklessinc.com/articles/vectorize/ where there's an interesting case where using "if" instead of a ternary operator is enough to prevent optimization.
Comment linking /articles/vectorize/
on “C++ design goals in the context of Rust (2010)”Submitted Doubly Linked Lists in C as a story · 4 points
HN discussionFor those who still think manual memory management and especially malloc and free are fast, check glibc implementation. https://fossies.org/dox/glibc-2.21/malloc_8c_source.html#l02... Also see this benchmark between different, faster allocators: http://locklessinc.com/benchmarks_allocator.shtml The extra work doesn't end at allocation. When you actually implement a concurrent system, you'll usually end up having cor…
Comment linking /benchmarks_allocator.shtml
on “Ark – A modern systems programming language”- X4 · 2011-11-15
Submitted Lockless Inc. High-Performance Memory Allocator (Now Open Source GPL 3.0) as a story · 4 points
HN discussion I've found measuring memory usage with STL containers to be difficult as they have their own allocator and unless you're using reserve() often end up allocating extra space for things. Dr Dobbs had an interesting article a long time ago around optimizing allocators [1] and also memory management was one of the main reasons that Electronic Arts rolled their own variant of the STL [2]. I use a lot of STL for convenien…
Comment linking /benchmarks_allocator.shtml
on “Graph Engine vs. C++ unordered_map: memory consumption test, Part 2”Submitted Weird Binary as a story · 4 points
HN discussionThank you very much for your review. - I have a TATAS lock implementation elsewhere: https://github.com/ademakov/MainMemory/blob/master/src/base/... Could add it to Evenk as well. - Exchanged value in FutexLock is not discarded, it is used in the conditions of the `if` and `while` statements. In both cases the returned value of 0 means that we've got the lock and the next thing executed will be the `break` statement…
Comment linking /articles/mutex_cv_futex/
on “Show HN: Evenk C++ concurrency library”Submitted Branchfree Saturating Arithmetic in C as a story · 3 points
HN discussionThere's a very interesting comparison between libumem (mtmalloc) and Hoard at http://www.oracle.com/technetwork/articles/servers-storage-d... (HN link: https://news.ycombinator.com/item?id=3755621 ). How do you view this class of allocators to tcmalloc, jemalloc, ptmalloc3, etc., specially in the concurrent multi-cpu scenario? Here's what I'll be reading on allocators tonight, any further suggestions (following all…
Comment linking /benchmarks_allocator.shtml
on “The Hoard Memory Allocator”Submitted Why Lisp Failed. (2009) as a story · 3 points
HN discussionInteresting! I found a good explanation at http://locklessinc.com/articles/flexible_lists_in_cpp/ I do wonder how they could have missed the obviousness of it. Or maybe it's just the shotgun approach to patent trolling.
Comment linking /articles/flexible_lists_in_cpp/
on “Linked List Patent”Submitted Optimizing the TCP/IP Checksum as a story · 3 points
HN discussionSubmitted The TCP/IP Checksum as a story · 2 points
HN discussionSubmitted The TCP/IP Checksum (2012) as a story · 2 points
HN discussionSubmitted Why Lisp failed as a story · 2 points
HN discussionSubmitted Creating a Fast Hash Function as a story · 2 points
HN discussion