[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