कोई मुझे बता सकते क्यों निम्नलिखित बातें भी हो सकता है:अजीब धीमा
2 कंप्यूटर:
- मेरे कार्य कंप्यूटर अनुप्रयोग
- सर्वर
मैं बनाए रखने के सी ++ प्रोग्राम (एमएसवीसी 2005 सी ++ संकलित) जो सर्वर पर बहुत धीमा काम करता है, लेकिन मेरे कंप पर नहीं।
मैंने माप (GetThreadTimes और इतने पर) आयोजित किया और निश्चित रूप से कह सकता है कि संकीर्ण स्थान - इसकी स्मृति आवंटन (नया/malloc)। और यह केवल सर्वर पर होता है!
मैं दावा कर सकता है कि यह स्मृति विखंडन के कारण कार्यक्रम की वजह से 1 समय सर्वर उदाहरण होता है ठीक काम करता है, उसके शुरू होने allocs पर समय खो डेटा स्मृति (1-1.5 लाख allocs/मुक्त करता है) में फिर से फिर से लोड करने के बाद ही।
मैं अगर मैं स्मृति दोनों कंप्यूटर (अपने कंप्यूटर अनुप्रयोग और सर्वर) लेकिन क्या मैं देख रहा हूँ है पर विखंडन के कारण एक ही व्यवहार देख तो आश्चर्य नहीं होगा: 1)। मेरे कंप आवंटन पर ~ 5% समय लगता है (सटीक नहीं लेकिन उस तरह कुछ) 2)। सर्वर पर इन आवंटकों में ~ 75% समय
यह कैसे हो सकता है? सर्वर कंप्यूटर पर C++ आवंटन को धीमा कर सकता है, इस बीच यह मेरे वर्कस्टेशन के लिए ठीक है। अंतर कहाँ हो सकता है? शायद यह ओएस-स्तरीय मेमोरी प्रबंधन कार्यों से जुड़ा हुआ कुछ है? क्योंकि सी ++ स्तर प्रबंधक दोनों मामलों में समान है।
यहां दोनों कॉन्फ़िगरेशन हैं:
1)। मेरा कंप्यूटर (जहां ऑलॉक्स ~ 5% लेते हैं):
OS Name: Microsoft Windows 7 Enterprise
OS Version: 6.1.7600 N/A Build 7600
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Original Install Date: 16/09/2011, 19:37:43
System Boot Time: 05/04/2013, 11:58:11
System Model: 7304A58
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 23 Stepping 10 GenuineIntel ~2642 Mhz
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume2
System Locale: ru;Russian
Input Locale: en-us;English (United States)
Total Physical Memory: 4,061 MB
Available Physical Memory: 872 MB
Virtual Memory: Max Size: 8,121 MB
Virtual Memory: Available: 4,579 MB
Virtual Memory: In Use: 3,542 MB
Page File Location(s): C:\pagefile.sys
2)। सर्वर (जहां ऑलॉक्स ~ 75% लेते हैं):
OS Name: Microsoft(R) Windows(R) Server 2003, Enterprise Edition
OS Version: 5.2.3790 Service Pack 2 Build 3790
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Server
OS Build Type: Multiprocessor Free
Original Install Date: 11/12/2008, 01:22:57
System Up Time: 1 Days, 8 Hours, 35 Minutes, 52 Seconds
System Manufacturer: HP
System Model: ProLiant BL685c G5
System Type: X86-based PC
Processor(s): 4 Processor(s) Installed.
[01]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
[02]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
[03]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
[04]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
Windows Directory: C:\WINNT
System Directory: C:\WINNT\system32
Boot Device: \Device\HarddiskVolume1
Total Physical Memory: 65,534 MB
Available Physical Memory: 61,284 MB
Page File: Max Size: 97,696 MB
Page File: Available: 93,445 MB
Page File: In Use: 4,251 MB
Page File Location(s): C:\pagefile.sys
D:\pagefile1\pagefile.sys
D:\pagefile2\pagefile.sys
D:\pagefile3\pagefile.sys
D:\pagefile4\pagefile.sys
D:\pagefile5\pagefile.sys
D:\pagefile6\pagefile.sys
D:\pagefile7\pagefile.sys
इस समस्या को स्पष्ट करने के लिए आभारी होंगे।
क्या आप दोनों मशीनों पर एक ही डेटासेट का उपयोग कर रहे हैं? – nneonneo
नहीं, लेकिन तुलनीय। मेरे कंप में ~ 260 000 आइटम काम पर धीरे-धीरे काम करते हैं, सर्वर कंप ~ 350 000 पर कठिनाइयों का सामना कर रहा है और अधिक आइटम लोड 1 100 000 वस्तुओं के दौरान भी कड़ी मेहनत करना शुरू कर देता है। –