Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2182

N

nikic

Personal blog · npopov.comprogramming

nikic's personal blog at npopov.com covers programming. Since 2021, 37 different Hacker News readers have linked it 44 times, most often “Regular expressions with backreferences are NP-complete (2012)”. It is still writing: the last post was on 2026-01-31, and you can follow it by feed.

Visit the blog
44mentions?
37HN people?
2021–2026first – last linked?
Links on Hacker News per year · peak 10 in 2021

Most-linked posts?

  1. /2020/05/10/Make-LLVM-fast-again.html
    7 people · 7 mentions · first linked 2021-04-27
  2. Regular expressions with backreferences are NP-complete (2012)
    6 people · 6 mentions · first linked 2022-07-03
  3. Design Issues in LLVM IR
    3 people · 3 mentions · first linked 2021-06-03
  4. LLVM: The Bad Parts
    3 people · 3 mentions · first linked 2026-01-11
  5. LLVM: Scalar Evolution (SCEV)
    3 people · 3 mentions · first linked 2023-10-03
  6. This Year in LLVM (2024)
    3 people · 3 mentions · first linked 2025-01-05
  7. /aboutMe.html
    2 people · 2 mentions · first linked 2022-01-11
  8. This Year in LLVM
    2 people · 2 mentions · first linked 2024-01-01
  9. Are PHP developers functophobic? (2012)
    2 people · 2 mentions · first linked 2021-06-01
  10. How PHP Opcache Works
    2 people · 2 mentions · first linked 2021-10-15

What Hacker News says?

  1. > but compiling code will still be faster I don't know about that, LLVM is getting slower with each new release too [1]. Same for Xcode: startup is very noticeably slower than a few years ago on the same machine. Starting into a debugging session for the first time is much slower (it used to be instant, now it's multiple seconds). The new build system in Xcode is most definitely slower than the old one, at least for…

    Comment linking /2020/05/10/Make-LLVM-fast-again.html

    on “Apple's follow-up to M1 chip goes into mass production for Mac”
  2. Submitted Design Issues in LLVM IR as a story · 168 points

    HN discussion
  3. Opcache is integrated into PHP since 5.5. It's been stable for around two decades. https://www.npopov.com/2021/10/13/How-opcache-works.html

    Comment linking /2021/10/13/How-opcache-works.html

    on “I still love PHP and JavaScript”
  4. Submitted How PHP Opcache Works as a story · 151 points

    HN discussion
  5. That's great to hear. I found some info about it which looks promising. https://www.npopov.com/2020/05/10/Make-LLVM-fast-again.html

    Comment linking /2020/05/10/Make-LLVM-fast-again.html

    on “What's bad about Julia?”
  6. Submitted This Year in LLVM as a story · 9 points

    HN discussion
  7. You may be interested in the current initiative around compiler plugins [1]. One of the explicit design goals is offload to alternative backends like GPUs or Wasm, but you could see how that would extend to something like Cranelift as well. That said, LLVM codegen performance is very much a tail wagging the dog thing, and I wish upstream put a significantly larger focus on it [2] [1] https://hackmd.io/bVhb97Q4QTWeBQ…

    Comment linking /2020/05/10/Make-LLVM-fast-again.html

    on “What's bad about Julia?”
  8. Submitted Design Issues in LLVM IR as a story · 4 points

    HN discussion
  9. > no PHP dev will be think about memory management at all Not nowadays, for sure. In 2009-2010 it was still something to keep in mind, and careful array handling was common so the it wouldn't baloon hundreds of megabytes for not so large data structures. I wasn't working on big data (tm) at that time, but running database imports via ETL processes in PHP required a few optimization passes. I really can appreciate no…

    Comment linking /aboutMe.html

    on “PHP in 2022”
  10. Submitted Regular expressions with backreferences are NP-complete (2012) as a story · 4 points

    HN discussion
  11. Also a lot of the positive changes were do to the efforts of Nikita Popov[1] who has now left. It's led to the creation of the PHP foundation.[2] I haven't kept up to date with the foundation's efforts. [1]: https://www.npopov.com/aboutMe.html [2]: https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundati...

    Comment linking /aboutMe.html

    on “PHP – The Right Way”
  12. Submitted This Year in LLVM (2025) as a story · 3 points

    HN discussion
  13. It is but what they mean is that many implementations (e.g. PCRE) are not actually regular languages, they're more powerful: https://www.npopov.com/2012/06/15/The-true-power-of-regular-...

    Comment linking /2012/06/15/The-true-power-of-regular-expressions.html

    on “GitLab Security Incident: Attempted Exploitation of CVE-2026-97229”
  14. Submitted This Year in LLVM (2024) as a story · 3 points

    HN discussion
  15. > that was around PHP 7.0 7.0 is when php switched to open addressing: https://www.npopov.com/2014/12/22/PHPs-new-hashtable-impleme...

    Comment linking /2014/12/22/PHPs-new-hashtable-implementation.html

    on “A Tale of Java Hash Tables”
  16. Submitted The Opcache Optimizer as a story · 3 points

    HN discussion
  17. PHP does at least have an optimised internal representation for arrays with sequential integer keys, where it can avoid having a hash table and just do linear indexing: https://www.npopov.com/2014/12/22/PHPs-new-hashtable-impleme... But a tradeoff in that design is it still has to keep track of keys and update them if you remove stuff from the start of the array. Adding and removing elements at the end is very fast,…

    Comment linking /2014/12/22/PHPs-new-hashtable-implementation.html

    on “Algorithms in PHP: Deques”
  18. Submitted Design Issues in LLVM OR as a story · 3 points

    HN discussion
  19. Personally, I think interactive usage has improved quite a bit. I don't "feel" it that badly in 1.7. It was bad enough earlier in the 1.0 series that I stopped using it for a while (I used it before <1.0 as well). I think the problems were from: 1) llvm itself getting dramatically slower over time, before more focus upstream on compiler speed more recently: https://www.npopov.com/2020/05/10/Make-LLVM-fast-again.html…

    Comment linking /2020/05/10/Make-LLVM-fast-again.html

    on “Which programming language or compiler is faster”
  20. Submitted LLVM: The Bad Parts as a story · 2 points

    HN discussion
  21. LLVM has been negligent about compile time for a long time, but they are improving recently. See https://www.npopov.com/2020/05/10/Make-LLVM-fast-again.html for an example.

    Comment linking /2020/05/10/Make-LLVM-fast-again.html

    on “On Proebsting's Law”
  22. Submitted LLVM: The Bad Parts as a story · 2 points

    HN discussion
  23. There was actually a really good push to both optimize LLVM and prevent regressions last year. See https://www.npopov.com/2020/05/10/Make-LLVM-fast-again.html

    Comment linking /2020/05/10/Make-LLVM-fast-again.html

    on “LLVM has become a sweathog, time to start over”
  24. Submitted Are PHP Developers Functophobic? as a story · 2 points

    HN discussion
  25. Note that Nikita has had a hand in many of the improvements that have made PHP much more pleasant since the fractal-of-bad-design days: https://www.npopov.com/aboutMe.html#accepted-php-proposals

    Comment linking /aboutMe.html

    on “Rustlantis: Semantic fuzzing of the Rust compiler and interpreter [pdf]”
  26. Submitted How to Reduce LLVM Crashes as a story · 2 points

    HN discussion
  27. HTML is not regular, so it can't be recognised by a "theoretical" regular expression, such as introduced in a theoretical CS class. Modern regex engines however, are more powerful and can recognise non-regular languages too. Then there's a distinction to be made between recognising a language and parsing it. This article goes into more detail: https://www.npopov.com/2012/06/15/The-true-power-of-regular-...

    Comment linking /2012/06/15/The-true-power-of-regular-expressions.html

    on “Oh Yes You Can Use Regexes to Parse HTML”
  28. Submitted LLVM: The middle-end optimization pipeline as a story · 2 points

    HN discussion
  29. https://www.npopov.com/2023/10/03/LLVM-Scalar-evolution.html “basic and essential” are interesting ways to describe the field of compiler optimization research. Are you suggesting that the discovery and implementation of SCEV in LLVM is basic and essential? Or that summing integers in a range is basic and essential?

    Comment linking /2023/10/03/LLVM-Scalar-evolution.html

    on “When Compilers Surprise You”
  30. Submitted This Year in LLVM (2022) as a story · 2 points

    HN discussion

Search all of HN for npopov.com

Linked by the same people?