This discussion, and you guys, are amazing. I am learning so much!
On Wed, Mar 25, 2015 at 8:56 PM, Keith Medcalf wrote:
>
> On Wednesday, 25 March, 2015 10:42, Simon Slavin
> said:
>
> >On 25 Mar 2015, at 1:47pm, Rob van der Stel <
> RvanderStel at benelux.tokheim.com> wrote:
>
> >> One open issue for me remains however. Can I assume that the
> >> FlushFileBuffers API that SQLite uses still causes cache to be
> >> written to disk even though the 'automatic write-cache flushing'
> >> of Windows is turned off ?
>
> This depends on the device itself. Basically, one setting enables use of
> the
>
> >I can't answer your question because Windows isn't my field of expertise,
> >but you could read the section 'Write-Cache Buffer Flushing' in
>
> >
> http://www.samsung.com/global/business/semiconductor/minisite/SSD/us/html/whitepaper/whitepaper12.html
>
> Well, this is chock full of errors:
>
> Virtual Memory: In order to address any potential lack of memory capacity,
> the Windows OS automatically generates a block of virtual memory (stored in
> a hidden pagefile.sys file) on the "C:" drive. In the past, before PC
> Memory (DRAM) was available in high volume, PCs needed to utilize some HDD
> space to address any memory shortcomings. The Windows OS automatically
> reserves storage space for Virtual Memory equal to 100% of physical DRAM
> capacity (e.g. Windows will reserve 4GB of Virtual Memory for a system with
> 4GB of DRAM or 32GB of capacity for systems using a 64-bit OS and featuring
> 32GB of DRAM).
>
> is completely bogus. A machine with 4GB of RAM and a 4GB swapfile has 8GB
> of total virtual memory. If you change the 4GB of RAM to 8GB of RAM and
> set no swap then you will have 8GB of virtual memory. In both cases you
> have the same amount of virtual memory available. Turning off the swap
> file reduces the number of levels of hardware lookasides and management
> overhead that need to be done to perform V:R mapping increasing performance
> significantly. In addition, if your pagefile size is fixed, then the
> number of pagetable entries is fixed and the amount of management overhead
> of dynamic VM size is eliminated resulting in performance about half-way
> between operating in "magical" mode (the default, where the VM size is not
> fixed) and the optimal (where there is no swapfile at all). This applies
> mutatis mutandis no matter what size of virtual ram you are talking about.
> If you have 256 GB of RAM then there is no way that you need to have a 256
> GB swapfile (or any swapfile at all).
> These myths started in the mid-80's when the price of RAM chips went over
> $100 per 256 kilobit and you needed to be, shall we say, rather well-to-do
> in order to have anything beyond the bare necessity of RAM. In the modern
> era, you should simply buy sufficient RAM and do away with the archaic
> concept of a swapfile.
>
> Prefetch/Superfetch: Windows stores common device drivers and frequently
> used applications in main memory (DRAM) in order to improve performance. By
> disabling these features, the OS can reduce system memory (DRAM) use.
> Furthermore, since SSDs have very fast data access times, these features
> are no longer really necessary. Thus, they are disabled for all profiles.
>
> is also somewhat misleading. Superfetch moves commonly used stuff from
> "spinning disk" to Flash Storage based on the premise that "spinning disk"
> has crappy random access characteristics and Flash (even USB) is better in
> this regard, and that spinning disk has better sequential performance
> compared to that same Flash (which it does). If the OS detects that the
> system volume is located on a volume with decent random access performace
> characteristics and decent sequential performance, then it will disable
> Superfetch for you all by itself, and ignore your attempts to re-enable it.
>
> Prefetch is somewhat different. Prefetch is a list of dependancy and
> relocation data to allow modules to be loaded without having the loader do
> all sorts of extra work resolving linkage references and finding and
> loading dependent modules, in addition to pre-loading and relocating
> dependencies before they are requested. It provides an advantage only if
> you have a really really really old and very very very slow computer with a
> really super slow I/O system. The advantage declines quite rapidly and
> goes negative long before it become negligible again -- but on any modern
> computing equipment it does nothing of any significance (nor hinderance).
>
> Be careful of things that claim they "magically optimize" for you. Often
> they don't.
>
> >Also, I like this post:
>
> >http://blogs.msdn.com/b/oldnewthing/archive/2013/04/16/10411267.aspx
>
> This guy is a Balmerite and should be shot on site (or at least put out to
> pasture like Ballmer where he can do no more harm). Maybe you want to hide
> such things from certain classes of people. Perhaps when Windows is first
> installed it should ask