On 4/24/2015 10:24 PM, Vladimir Panteleev wrote:
On Friday, 24 April 2015 at 08:27:06 UTC, Walter Bright wrote:
http://codecapsule.com/2014/02/12/coding-for-ssds-part-6-a-summary-what-every-programmer-should-know-about-solid-state-drives/
An interesting article. Anyone want to see if there are any modifications we
should make to std.stdio to work better with SSDs? (Such as changing the
buffer sizes.)
This article seems to target operating system authors more than application
programmers, as OS caches will invalidate most application-side changes.
The HN comments are also mostly dismissive of this article:
https://news.ycombinator.com/item?id=9431571
"The high-level optimizations are important: * Choose a good SSD * Read and
Write in "page" multiples and "page" aligned * Use lots of parallel IOs (high
queue depth) * Do not put unrelated data in the same "page"
A page used to be 4KB, SSDs are now switching to 8KB and will switch to 16KB
later on. Just pick a reasonable size around that (16KB if you can do it will
last you a while). Don't sweat the page multiples too much, the SSDs will most
likely have to handle 4KB pages for a long while due to databases and such so
they will keep some optimization around that size anyhow, it will make it easier
for them if you use a larger size.
I wouldn't heed any of the advice on single-threading, the biggest performance
boost comes from parallelism and writes are anyway buffered by the SSD (a good
SSD has a super-cap to have a good sized write cache)."