23 ms·
I think this is fantastic engineering work towards performance, without falling back on the "RAM is cheap" line and instead doing nothing. It's not every day t
by makerbraker 9y ago
I think this is fantastic engineering work towards performance, without falling back on the "RAM is cheap" line and instead doing nothing.
It's not every day that you see an example of someone examining and improving old code, that will result in a measurable benefit to direct and indirect users.
- throwanem 9y agoAlso, when you download FLAC files with it, they'll sound warmer.
- nayuki 9y agoThere is actually a corner on the web where people debate about FLACs and WAVs sounding different
- user5994461 9y agoThat's fun considering they are bit-to-bit identical :D
- edejong 9y agoYes, you got the pun, bravo, 2 geek-points for you. However, you lose 20 geek-points because FLAC and wav are not bit-to-bit identical. They are both lossless encodings and correct implementations will preserve the input material bit-to-bit.
- bcook 9y agoPerhaps he's referring the the bits sent out from the codec rather than the bits received by the codec?
- user5994461 9y agoFLAC is bit to bit identical to WAV after decoding. In layman terms, it's like zipping and unzipping a .wav
- edejong 9y agoYes, I understand how the FLAC codec works. My comment was pointing out that FLAC can either represent the codec or the binary and that in neither case one can say that FLAC is bit-to-bit identical, since in the former case you're referring to the specification and in the latter case you are referring to the binary executable. One can say that FLAC is a lossless compression codec and as such it is homomorphic to the original raw binary encoding and the WAV encoding. It might be pedantic, but saying "flac is bit-to-bit identical to wav" is just wrong. To me it sounds like saying: "The speed limit is 80 kilometers".
- lucideer 9y agoThis is probably true in non-blind listening comparison though. Similar to food tasting different when served in different coloured receptacles[0] [0] http://onlinelibrary.wiley.com/doi/10.1111/j.1745-459X.2012.00397.x/abstract http://onlinelibrary.wiley.com/doi/10.1111/j.1745-459X.2012....
- mikeash 9y agoIf you had to summarize the audiophile community in a few words, it would be "does not understand the point of blind testing."
- venture_lol 9y agoAll audophiles eventually will reach the stage where my hearing aid is better than yours :)
- deleted 9y ago[deleted]
- mikeass 9y agoThat's terribly judgmental, friend.
- sctb 9y agoWe've banned this account and the main one for repeatedly violating the guidelines and creating new accounts to do so.
- nayuki 9y agoFor example: http://forums.naimaudio.com/topic/flac-vs-wav-audio-quality http://forums.naimaudio.com/topic/flac-vs-wav-audio-quality
- Cyph0n 9y agoEspecially when played over my diamond coated high fidelity wires. I'll probably pair that with my fully 24K gold HDMI cables when watching a movie.
- noway421 9y agoDisagree, they sounds the best with wget.
- tehabe 9y agoYou've never experienced FLACs downloaded via scp. The encryption makes all the difference.
- reinhardt1053 9y agoIs this reddit?
- venture_lol 9y agoYou know all those memory sloshing around does create a different sound stage, rippling contextual frequencies affecting DACs and such?
- Rusky 9y agohttps://www.audioasylum.com/messages/pcaudio/119979/re-a-revolution-in-audio-rendering https://www.audioasylum.com/messages/pcaudio/119979/re-a-rev... > also most players use malloc to get memory while new is the c++ method and sounds better.
- jrimbault 9y agoThis is a new rabbit hole of "audiophile". Sidenote: "audio asylum", at least the name is appropriate, and it's https, I guess that's good too.
- avar 9y agoRAM is cheap. What's not cheap is requesting RAM from the OS piecemeal. In this particular case the curl maintainer ended up saving a bit of RAM as a side-effect, but it's actually much more common for programs that benefit from this class of optimization to waste RAM as a side-effect, and yet be much faster. For example a common optimization in high-level programming languages is to overallocate memory for strings. E.g. if the user requests "x" you allocate 16 bytes, if you need 17 bytes you allocate 32 etc. This wastes RAM, a 513 byte string will malloc 1024 bytes, but ends up being much faster on overage exactly because RAM is cheap, but allocations are expensive.
- blibble 9y agoit doesn't go to the OS each time you call malloc() the first time malloc() is invoked it will ask the OS for an oversized chunk of memory(probably using mmap() or sbrk()) allocations consist of incrementing a pointer, or pulling a a chunk off a freelist, both of which are effectively free mmap() is very fast to call too, so I'm not sure what you're on about regardless, curl is a piece of software that spends 99.99% of its time waiting for network traffic
- avar 9y ago> I'm not sure what you're on about. You clearly interpreted OS to mean "the kernel" in my comment. To be clear I'm including the C library which implements malloc() in "the OS". > curl is a piece of software that spends 99.99% > of its time waiting for network traffic. You're commenting on an article that shows that in some cases 30% of the time was spent on malloc() overhead.
- pjmlp 9y agoWhich C library from which C compiler?
- blibble 9y agowell yes, they removed the network overhead and disk overhead by running it on localhost and writing to /dev/null, and once you remove two bottlenecks you'll find that something else becomes the new bottleneck libc is not the OS, it's the standard library for C, in the same way the java class library isn't the OS, it's the standard library for java
- aphextron 9y ago>It's not every day that you see an example of someone examining and improving old code, that will result in a measurable benefit to direct and indirect users. It's even more impressive when you think about the absolute ubiquity of cURL in practically every device imaginable. He's probably single handedly saving many kilowatts of power consumption with fixes like this.
- srean 9y agoIndeed. Roadways are cheap to use but those who behave as if its all theirs are still called dicks for a reason.
- lkjalsdkfjasdf 9y agoThis only shows the naivete of the author. There are plenty of C programmers that aren't malloc abusers and like to avoid any potential syscall usage. Instrusive linked lists is a beginner C topic.
- circular_logic 9y agoI'm a C beginner so I found it quite useful. ;) Your comment makes it sound like everyone should do this. Are there not reasons to have a non intrusive list as well? For example if the structure is used elsewhere and you don't want to tie it to that list implementation. Or if you want to point to the same structure many times in a list?
- ed_balls 9y agoThis is a completely different scenario than an average app. Curl is used in cars and other embedded devices. This things matter for this scale. >"RAM is cheap" Memory is cheap on servers and desktops. SSD can be treated as slow RAM.