यदि आप जिस पाठ को पार्सिंग कर रहे हैं वह बार-बार तारों और टोकन से बना है, तो फ़ाइल को टुकड़ों में तोड़ दें और प्रत्येक खंड के लिए आप एक थ्रेड को कीवर्ड, "विराम चिह्न", आईडी स्ट्रिंग्स और मानों सहित टोकन में प्री-पार्स कर सकते हैं। स्ट्रिंग तुलना और लुकअप काफी महंगा हो सकता है और इसे कई कार्यकर्ता धागे में पास करने से कोड के विशुद्ध रूप से तार्किक / अर्थात् भाग को तेज़ी से बढ़ाया जा सकता है यदि उसे स्ट्रिंग लुकअप और तुलना करने की आवश्यकता नहीं है।
प्री-पार्स किए गए डेटा भाग (जहां आप पहले से ही सभी स्ट्रिंग तुलना और "टोकननाइज्ड" कर चुके हैं) को कोड के उस हिस्से में पारित किया जा सकता है जो वास्तव में टोकनयुक्त डेटा के अर्थशास्त्र और ऑर्डरिंग को देखेगा।
साथ ही, आप उल्लेख करते हैं कि आप अपनी फाइल के आकार से बड़ी मात्रा में स्मृति पर कब्जा कर रहे हैं। आपके मेमोरी बजट पर कटौती करने के लिए आप कुछ चीजें कर सकते हैं।
फ़ाइल को टुकड़ों में विभाजित करें और इसे पार्स करें। जैसा कि आप एक समय में काम कर रहे हैं, उतने ही हिस्सों में पढ़ें, कुछ "आगे पढ़ें" के लिए, इसलिए जब आप अगले खंड पर जाने से पहले एक खंड को संसाधित करते हैं तो आप डिस्क पर रुकते नहीं हैं।
वैकल्पिक रूप से, बड़ी फ़ाइलों को स्मृति मैप किया जा सकता है और "मांग" लोड। आप और अधिक धागे सीपीयू से फ़ाइल को संसाधित करने पर काम कर है, तो (आमतौर पर धागे = 1.5-2X CPU के मांग पृष्ठन क्षुधा के लिए एक अच्छी संख्या में है), धागे कि स्मृति मैप की गई फ़ाइल के लिए आईओ पर रोकने कर रहे हैं जब तक ओएस से स्वचालित रूप से रुक जाएगा उनके स्मृति के लिए तैयार है और अन्य धागे प्रक्रिया जारी रहेगी।