Saya memiliki file XML besar (sekitar 37 MB — ini adalah file XML yang mendasarinya dalam dokumen Word sekitar 350 halaman) yang saya coba selidiki dengan XPath. Saya melakukan ini 'secara manual' daripada secara terprogram, dengan membuka file dalam editor XML dan mencari di sana.
Saya sudah mencoba dengan Xmplify, QXmlEdit, SublimeText dengan ekstensi XPath, dll., Dan mereka semua menderita masalah yang sama: hanya membuka file sangat lambat dan menyimpan banyak sekali memori, dan melakukan pencarian XPath hampir tidak mungkin .
Sebagai contoh, saya baru saja mencoba membuka file di Xmplify. Itu memakan waktu sekitar tiga menit, dan tanpa dokumen lain, penggunaan memori Xmplify naik menjadi sekitar 1 GB.
Kemudian saya mencoba melakukan query XPath ini (saya mencari semua insersi terlacak yang terdiri dari string en ):
//w:ins[w:r/w:t = 'en']
Itu memberi saya SPOD untuk sementara waktu. Setelah sekitar 15 menit menggunakan sekitar 100% CPU, Xmplify sekarang menggunakan 60 GB memori , dan OS saya memberi tahu saya bahwa saya kehabisan memori aplikasi dan perlu memulai hal-hal yang berhenti secara paksa.
Bagi saya itu agak berlebihan untuk satu permintaan XPath dalam satu file, walaupun itu file yang cukup besar. Aplikasi lain yang saya coba gunakan tidak terlalu buruk, tetapi membuka dokumen dan menjalankan segala jenis permintaan XPath masih membutuhkan waktu beberapa menit, dan penggunaan memori mereka juga dapat dihitung dalam GB, jadi bukan hanya Xmplify yang tidak efisien.
Apa alasannya? Mengapa XPath (tampaknya) begitu intensif sumber daya? Apakah perbedaan antara OS (milik saya adalah macOS Sierra)?
Saya berdebat apakah akan memposting ini di sini atau di StackOverflow, tetapi karena saya secara khusus tidak melakukan ini secara terprogram, saya memutuskan ini mungkin tempat yang lebih baik. Jangan ragu untuk bermigrasi jika ada tumpukan yang lebih baik untuk itu.
sumber