S1, S2 = {}, {}
with open(path) as f:
    for i, line in enumerate(f, 1):
        id, sep, type = line.partition(' ')
if type == '1' or type == '2':
    S1[id] = True
elif type == '3' or type == '4':
    S2[id] = True
else:
    print('WARNING: unknown type: %r in line %d: %r' % (type, i, line))
print(len(S1), len(S2))
Как повысить производительность этой программы подсчета?