Is it more CPU-efficient to read/write config file or read/write sqlite database?

Tim Chase python.list at tim.thechases.com
Sat Dec 14 17:15:18 CET 2013


On 2013-12-14 07:29, JL wrote:
> I have a number of python processes which communicate with each
> other through writing/reading config text files. The python
> ConfigParser is used. I am wondering if it is more CPU-efficient to
> switch to using sqlite database instead of using configuration
> files. If the software does plenty of reading/writing, is it more
> efficient to use config text files or sqlite database?

I'm pretty sure that the CPU aspect doesn't really play into things.
A few thoughts:

+ You'll be I/O bound most of the time.  Even if you used a ramdisk
  to reduce disk access delays, accessing multiple .txt files requires
  the OS to do permission-checking each time, while a single sqlite
  file gets checked once upon opening the DB initially.
+ text-files are fragile unless you take extra pains to keep things
  atomic
+ sqlite guarantee* atomicity, so you either see all-or-nothing
+ sqlite is also very efficient for querying
+ sticking with plain-text config files is just asking for some sort
  of race-condition or partial-file issue to come up
+ sqlite may give you less CPU load is just an added benefit


-tkc


* well, except on NFS shares and other places where file-locking is
  unreliable



More information about the Python-list mailing list