View Full Version : Regarding file seeking...
I've a question regarding performance and a single flat file used to store small, pipe-delimited bits of information about each client; each client is given a seperate line in the file. I was brainstorming for the best way to do this and ingenuity (or so I'm hoping it can still be called that) struck! Instead of reading the whole file into file_get_contents(), or the entire thing into an array with file(), why not set each line to the same length (60, in my case), fopen() the file into a handle, then use fseek() to read through the file up to the point that is 60 * the client's ID, then just read 60 characters and obtain the client's data this way. Now, I'm curious, would this be a faster way to do it, or does seeking still take the entire file into account?
rafiki
07-31-2007, 10:08 PM
why dont you try it using this code from a previous tread...
<?php
function getmicrotime(){
list($msec,$sec)=explode(" ",microtime());
return ((float)$msec+(float)$sec);
}
$started=getmicrotime();
?>
at the top of the page and
<?php
$ended=round(getmicrotime()-$started,4);
echo"Generated in ".$ended." seconds";
?>
at the very bottom,
code took from http://www.codingforums.com/showthread.php?t=120097 thanks to JordanW
you've got two issues here, which way is fastest, and which way won't run out of memory. If the file fits in memory, then file() or file_get_contents() will be faster, simply due to the lack of function-overhead produced. If you need to read a bigger file though, you'll be screwed and that's where fread() (and related functions) come in.
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.