Live data from Hacker News

Make Ubuntu packages 90% faster by rebuilding them

gist.github.com

11–20 of 375 posts

Re: Make Ubuntu packages 90% faster by rebuilding them

#15
post #8

Could you release a fork of jq whose make does all this fanciness? I use jq A LOT so would love a turnkey solution to make it faster.

If I had the time to fork jq, I would convert the relevant part to C++ so it doesn't spend literally all of its time dynamically allocating strings it is just about to discard.

Why does that require C++? A quick search showed up plenty of material about "pure C" arena allocators, etc.

Re: Make Ubuntu packages 90% faster by rebuilding them

#16
post #7
post #3

Surprised it would be 90%. Are the packages all debug symbols? I recall trying with march=native and seeing some improvement, but not enough to care at a system level.

> Are the packages all debug symbols? Upstream is stripped actually. My final build here is 43x larger than the distro binary, partly due to having plentiful debug info.

Sorry, I didn't mean symbols, I meant optimization level. Hilarious that they have symbols stripped, but still outclassed.

Love to see why they wouldn't have more optimizations.

I'm assuming this isn't the case for more packages? Feels too good.

Re: Make Ubuntu packages 90% faster by rebuilding them

#18

Could you release a fork of jq whose make does all this fanciness? I use jq A LOT so would love a turnkey solution to make it faster.

https://github.com/01mf02/jaq?tab=readme-ov-file#performance

jaq runs 5x faster on my machine in some cases

Re: Make Ubuntu packages 90% faster by rebuilding them

#19

> What happens if you grab the jq source code from Launchpad, then configure and rebuild it with no flags at all? Even that is about 2-4% faster than the Ubuntu binary package. Why wouldn't that be identical?

Could be measurement noise..

Re: Make Ubuntu packages 90% faster by rebuilding them

#20
post #12

Looks like the main gem here is mimalloc? Love to know more about that. Good places to look?

https://github.com/microsoft/mimalloc

we're using it in feldera and it's been giving us (slightly) better performance than jemalloc which is what we've used before mimalloc

Post reply on HN