Bonjours à tous

J'ai un gros fichiers XML ( 20 go environ) contenant notamment des balises <product> </product>, mais il y a plus de 100k de ces produits.
Je voudrais trouver le moyen le plus rapide pour faire plusieurs petits fichiers contennant par exemple 100 ou 1000 de ces balises.

J'ai essayé avec Talend, la mémoire explose...

J'ai trouvé un script python qui n'utilise pas beaucoup de mémoire mais le fait en 3h.

J'ai également trouvé un script transcrivant ce python en C, je gagne environ 40 min.

Mais il me faut absolument trouver une solution pour spliter correctement ce gros XML.
Je suis en train de voir avec perl, mais je ne suis pas bon du tout.

Vous avez des idées ?
Merci