This discussion, and you guys, are amazing. I am learning so much!
On Wed, Mar 25, 2015 at 8:56 PM, Keith Medcalf <kmedcalf at dessus.com> wrote:
> On Wednesday, 25 March, 2015 10:42, Simon Slavin <slavins at bigfraud.org>
> >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
> >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
> 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:
> 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 you for your I.Q. and configure itself
> appropriately by hiding dangerous things from the people who ought not know
> about them (and relegating them to Tile World and useless Windows 10 Start
> Menu), but configuring Windows to act like a "computer" for the rest of us
> that do not need such protection.
> Theory is when you know everything but nothing works. Practice is when
> everything works but no one knows why. Sometimes theory and practice are
> combined: nothing works and no one knows why.
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org