HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jeffffff

no profile record

comments

jeffffff
·16 giorni fa·discuss
porsche is part of volkswagen, so it's not that surprising that they're decently reliable. i probably see 10 porsches for every ferrari, lamborghini, etc that i see, and i think a large part of that is reliability - even absurdly rich people don't want to deal with an unreliable car when there is a more reliable alternative.
jeffffff
·2 mesi fa·discuss
Compilation error
jeffffff
·3 mesi fa·discuss
don't forget to fsync the file before the rename! and you also need to fsync the directory after the rename!
jeffffff
·4 mesi fa·discuss
> None of the things people care about really get much out of "unified memory". GPUs need a lot of memory bandwidth, but CPUs generally don't and it's rare to find something which is memory bandwidth bound on a CPU that doesn't run better on a GPU to begin with. Not having to copy data between the CPU and GPU is nice on paper but again there isn't much in the way of workloads where that was a significant bottleneck.

the bottleneck in lots of database workloads is memory bandwidth. for example, hash join performance with a build side table that doesn't fit in L2 cache. if you analyze this workload with perf, assuming you have a well written hash join implementation, you will see something like 0.1 instructions per cycle, and the memory bandwidth will be completely maxed out.

similarly, while there have been some attempts at GPU accelerated databases, they have mostly failed exactly because the cost of moving data from the CPU to the GPU is too high to be worth it.

i wish aws and the other cloud providers would offer arm servers with apple m-series levels of memory bandwidth per core, it would be a game changer for analytical databases. i also wish they would offer local NVMe drives with reasonable bandwidth - the current offerings are terrible (https://databasearchitects.blogspot.com/2024/02/ssds-have-be...)
jeffffff
·3 anni fa·discuss
JIT compilation has the opportunity to do profile-guided optimization at runtime. JIT compilation is also simpler when distributing an application to non-identical servers, as it can optimize for the exact hardware it is running on.