मुझे लगता है कि आपको लीप साल पर विचार करना होगा। मैंने गणित नहीं किया, लेकिन मुझे लगता है कि एक लीप वर्ष के दौरान, फीब के लिए 28 दिनों के हार्ड कोड के साथ, 2/2 9 पर दोपहर की तुलना और 3/1 पर दोपहर की तुलना में पहले के समान डुप्लिकेट टाइम स्टैम्प होगा । हालांकि ऐसा लगता है कि आपने इसे इस तरह लागू नहीं किया है। जिस तरह से आपने इसे कार्यान्वित किया, मुझे लगता है कि आपको अभी भी समस्या है, लेकिन यह 12/31 डॉलर की लीपियर और 1/1 डॉलर लीपियर + 1 की तिथियों के बीच है।
मुझे लगता है कि यदि आपके कोड को समय क्षेत्र को संभालने के लिए समय कोड को संभालना है तो आपको समय परिवर्तन के दौरान कुछ टकराव भी हो सकते हैं।
फ़ाइल वास्तव में किसी भी उपयोगी तरीके से क्रमबद्ध नहीं लगती है। मुझे लगता है कि फ़ील्ड $ 1 किसी प्रकार की स्थिति है ("ठीक है" आप जांच रहे हैं)। तो इसे रिकॉर्ड स्थिति द्वारा क्रमबद्ध किया जाता है, फिर दिन, फिर माह, वर्ष, घंटे, मिनट, सेकंड्स द्वारा क्रमबद्ध किया जाता है। अगर यह वर्ष, महीना था, तो मुझे लगता है कि वहां कुछ अनुकूलन हो सकते हैं। अभी भी हो सकता है लेकिन मेरा दिमाग अभी एक अलग दिशा में जा रहा है।
यदि लाइनों की कुल संख्या के अनुपात में डुप्लिकेट कुंजी की एक छोटी संख्या है, तो मुझे लगता है कि आपकी सबसे अच्छी शर्त फ़ाइल को कम करने के लिए है, आपकी अजीब स्क्रिप्ट केवल डुप्लिकेट कुंजी पर काम करती है (जैसे डेविड ने कहा )। आप फ़ाइल को प्रीप्रोसेस भी कर सकते हैं ताकि मौजूद केवल लाइनें / ठीक / रेखाएं हों। मुझे लगता है कि मैं इसे एक पाइपलाइन के साथ करूँगा जहां पहली अजीब स्क्रिप्ट केवल डुप्लिकेट आईडी के साथ लाइनों को प्रिंट करती है और दूसरी अजीब स्क्रिप्ट मूल रूप से उपर्युक्त है लेकिन अनुकूलित / ठीक / और ज्ञान के साथ ऑप्टिमाइज़ किया गया है कि कोई भी मुख्य उपस्थिति है नकली चाबी।
यदि आप समय से पहले जानते हैं कि सभी या अधिकतर लाइनों में दोबारा चाबियां होंगी, तो शायद यह गड़बड़ करने योग्य नहीं है। मैं बुलेट काट दूंगा और इसे सी में लिखूंगा। कोड की अधिक रेखाएं, अजीब लिपि से बहुत तेज़ हैं।