G

Geocar

geocar.sdf1.org · Personal blog · on HN since 2009

Geocar writes technical posts and code on fast servers, memory allocation, floating-point quirks and early asynchronous JavaScript.

What HN saysCommenters link his Fast Servers post as a relevant reference, and one agrees with a critique of pthreads.
15HN people shared it
2linked it in comments
17stories submitted
881story points
8 months agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Fast Servers
    8 people · 160 points · first shared 2015 · 53 comments on HN
  2. 2
    9999999999999999.0 – 9999999999999998.0
    3 people · 446 points · first shared 2016 · 260 comments on HN
  3. 3
    How to allocate memory
    3 people · 267 points · first shared 2016 · 45 comments on HN
  4. 4
    Asynchronous JavaScript in 1995
    3 people · 6 points · first shared 2016 · 1 comments on HN
  5. 5
    Browser Verification
    2 people · 2 points · first shared 2016 · discussion on HN
  6. 6
    Close
    1 people · first shared 2017
  7. 7
    Pngw.tgz
    1 people · first shared 2014
  8. 8
    Vi
    1 people · first shared 2011
  9. 9
    Test
    1 people · first shared 2010
  10. 10
    Ed.c
    1 people · first shared 2013
  11. 11
    Ed.c.orig
    1 people · first shared 2013
  12. 12
    Zero timeout
    1 people · first shared 2010
  13. 13
    Vim hints
    1 people · first shared 2009

What HN people wrote when they linked it

geocar · 2020-10-13
Nail on head. Pthreads is an extremely difficult API to use, owing first to a poor choice of primitives, the consequences of which are that none of the implementations are particularly good and their interactions with the rest of the machine/model are ill-defined. For example: You know how hard it is to close() in a multithreaded program? [1] And that’s just one system call— one almost everyone thinks they understand. What hope is there for all the other pthreads-code? For cond/etc: One trick I use is handle passing via an epoll[2]. This works much more reliably than the pthreads API, and whilst it’s slower in a microbenchmark that spins the pthread_cond/mutex/etc apis, real programs don’t do that (or don’t need to), and so it is usually a clear net-win. [1]: http://geocar.sdf1.org/close.html [2]: http://geocar.sdf1.org/fast-servers.html

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close