Details as to exactly why it's faster are welcome. (I just know it bypasses stuff).
EDIT: someone mentioned this below http://superuser.com/questions/631592/why-is-dev-rdisk-about...
Details as to exactly why it's faster are welcome. (I just know it bypasses stuff).
EDIT: someone mentioned this below http://superuser.com/questions/631592/why-is-dev-rdisk-about...
Though, read cache can be enabled manually by creating separate device via gcache(8). This is usually not required, because caching is done at the filesystem layer.
It's important to specify block size for uncached devices, of course. dd(1) with bs= option will surely work, and with cp(1) your mileage may vary, depending on whether underlying disk driver supports I/O with partial sector size or not.
Without that it does literally take hours.
I suspect the default blocksize is really small (1?) and combined with uncached/unbuffered writes to slower devices, it just kills all performance outright.
Edit: answered! https://news.ycombinator.com/item?id=13350002
NB: Remember the units! Without the units you specify it as bytes or something insanely small like that. I've made that mistake more than once!