There ought to be a queue for files that need to be added.
Larger files might take a significant amount of time, so breaking up their processing through setTimeouts may decrease lag and allow for it to be run as a background process.
Possibly add batch mode where tar acts more like an EventEmitter in Node. Tar would be given a bunch of files and would emit events in chunks. Files could not be added while precessing.