#!/usr/bin/perl -w # get_max_fps.pl - Don Yang (uguu.org) # # Find the maximum number of same second events in a log. use strict; my $timestamp = -1; my %frames = (); my $max_frames = 0; my $total_frames = 0; my $total_timestamps = 0; while(<>) { next unless /^Y\d+X\d+F(\d+)T(\d+)/; if( $2 != $timestamp ) { # Moved on to a new timestamp my $frame_count = scalar keys %frames; if( $max_frames < $frame_count ) { $max_frames = $frame_count; } $total_timestamps++; $total_frames += $frame_count; $timestamp = $2; %frames = (); } else { # Update frames for current timestamp $frames{$1} = 1; } } # Update stats for the last frame my $frame_count = scalar keys %frames; if( $max_frames < $frame_count ) { $max_frames = $frame_count; } $total_timestamps++; $total_frames += $frame_count; printf 'max_fps = %d, average_fps = %.2f'."\n", $max_frames, $total_frames / $total_timestamps; print "total_frames = $total_frames, total_timestamps = $total_timestamps\n";