it is correct that the log packets are stored in a simple sequential format in the log file and not in a database-like format. The SmartInspect Console currently loads the entire log file into memory, so a 2-3 GB file might be a problem if your machine cannot handle this amount of data.
What you can do in those cases is to automatically split log files into multiple parts with the date-based log rotation functionality of the SmartInspect libraries and then process each log on its own. Other options include using the backlog functionality or custom filtering in your code (with the Filter event of the SmartInspect class) to reduce the amount of logging data directly in your application.
Once a log file has been loaded, the Console passes the packets to the available views and these views then decide if the individual packets should be displayed. So yes, the packets are processed linear. But we tested the SmartInspect Console with hundreds of thousands of log entries and it performs very well even with this huge amount of data.