[OPEN-ILS-DEV] PATCH: utils.c (performance of file_to_string())

Mike Rylander mrylander at gmail.com
Mon Mar 10 10:11:37 EDT 2008


On Sun, Mar 9, 2008 at 11:56 AM, Scott McKellar <mck9 at swbell.net> wrote:
> This patch changes the file_to_string function to use fread() instead
>  of fgets().  Since we're loading the entire file into memory, there's
>  no reason to load it one line at a time.

Applied.

>
>  I compared both versions with a benchmark that loaded a 33 KB text
>  file,
>  taking care to minimize the effects of IO caching by the OS by loading
>  the same file repeatedly.  The timings varied somewhat, but the new
>  version was consistently about 7 to 9 times as fast as the old one.
>  Of course we're talking about only a couple of milliseconds...
>
>  Scott McKellar
>  http://home.swbell.net/mck9/ct/
>
>  Developer's Certificate of Origin 1.1 By making a contribution to
>  this project, I certify that:
>
>  (a) The contribution was created in whole or in part by me and I
>  have the right to submit it under the open source license indicated
>  in the file; or
>
>  (b) The contribution is based upon previous work that, to the best
>  of my knowledge, is covered under an appropriate open source license
>  and I have the right under that license to submit that work with
>  modifications, whether created in whole or in part by me, under the
>  same open source license (unless I am permitted to submit under a
>  different license), as indicated in the file; or
>
>  (c) The contribution was provided directly to me by some other person
>  who certified (a), (b) or (c) and I have not modified it; and
>
>  (d) In the case of each of (a), (b), or (c), I understand and agree
>  that this project and the contribution are public and that a record
>  of the contribution (including all personal information I submit
>  with it, including my sign-off) is maintained indefinitely and may
>  be redistributed consistent with this project or the open source
>  license indicated in the file.



-- 
Mike Rylander
 | VP, Research and Design
 | Equinox Software, Inc. / The Evergreen Experts
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  miker at esilibrary.com
 | web:  http://www.esilibrary.com


More information about the Open-ils-dev mailing list