I'm writing an application that decodes a file containing binary\nrecords. Each record is a particular event type. Each record is\ntranslated into ASCII and then written to a file. Each file contains\nthe same events. At the moment each record is processed one after the\nother. It taks about 1m40s to process a large file containing 70,000\nrecords. Would my application benifit from multiple threads and mmap?\n\nIf so what is the best way to manage the multiple output files? For\nexample there are 20 event types. When parsing the file I identify the\nevent type and build 20 lists. Then have 20 threads each working with\neach event file.\n\nHow do I extract this into classes?