Обычно я считаю, что Perl - хороший вариант для разбора задач.Я не знаю Perl сам.Мне кажется, что у вас настолько высокие требования к производительности, что вам может потребоваться создать XML-анализатор, поскольку производительность стандартного анализатора может стать узким местом (вы должны проверить это, прежде чем приступить к реализации).Я сам использую Python и psycopg2 для связи с Postgres.
Какой бы язык вы ни выбрали, вы наверняка захотите использовать COPY FROM и, возможно, stdin, используя Perl / Python / другой язык для подачи данных в Postgres.
Вместо того, чтобы тратить много времени на оптимизацию всего, вы также можете использовать неоптимальное решение и запускать его крайне параллельно, скажем, на 100 экземплярах EC2.Это было бы намного дешевле, чем тратить часы на поиск оптимального решения.
Ничего не зная о размере файлов 400 файлов в минуту, это не кажется СЛИШКОМ плохим.Спросите себя, стоит ли потратить неделю на разработку, чтобы сократить время до трети, или просто запустить его сейчас и подождать месяц.