C Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming LanguagesC Programming
The ASP Free website provides in-depth information on the latest developer tools available from Microsoft. Our cadre of writers, highly experienced industry experts, reveals the best ways to use established technologies as well as new and emerging technologies. Our coverage of Microsoft's development and administration technologies is among the most respected in the IT industry today.

ASP Free and Iron Speed Designer are giving away $5,500+ in FREE licenses. Iron Speed's RAD CASE toolset can save up to 80% of your coding time. One free license per week, one perpetual license per month!
Download and Activate to enter!

Intel® Graphics Performance Analyzers is a powerful tool suite for analyzing and optimizing your games, media, and graphics-intensive applications. Used by some of the best developers on the planet, Intel GPA lets you maximize your app’s performance.


Tutorials
| Forums

Download to Enter
| Contest Rules

DOWNLOAD INTEL® GPA FOR FREE

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old November 19th, 2003, 07:41 AM
sunil_josh1 sunil_josh1 is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2003
Posts: 38 sunil_josh1 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 56 m 42 sec
Reputation Power: 9
Exclamation memory allocation

hi,
how to allocate memory for big matrix like 20000x20000 in c. In my programme i have to deal with matrix system, and programme is working upto 999x999 matrix but when i am increasing the size of matrix, programme is not working.
thanks

Reply With Quote
  #2  
Old November 19th, 2003, 08:06 AM
clifford's Avatar
clifford clifford is offline
Contributing User
Dev Shed Specialist (4000 - 4499 posts)
 
Join Date: Aug 2003
Location: UK
Posts: 4,405 clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level)clifford User rank is General 11st Grade (Above 100000 Reputation Level) 
Time spent in forums: 4 Weeks 1 Day 9 h 41 m 54 sec
Reputation Power: 1719
Why are you surprised? You are attempting to increase the storage requirement by a factor of 400! And what is this a matrix of (i.e. what data type)?

If this was a matrix on int type, a 20000 x 20000 array would require 1.5Gb of memory, wheras 999x999 only requires 3.8Mb. With virtual memory, you may just about manage it, (at least on NT/2K/XP, but maybe not Win 9x).

However, it will never work if you declare such an array as an automatic variable. You will have to declare it static, or use dynamic memory allocation. Having more than one such matrix is likely to be problematic. Processing such a large amount of data when most of it at any one time is swapped to disk will be very slow.

On the whole such a data structure is ill advised, since you are relying a great deal on the stability of the OS under such strain.

If your data type is larger than an int, the problem is worse.

I suggest you consider a more efficient algorithm or storage structure.

Clifford.

Reply With Quote
  #3  
Old November 23rd, 2003, 04:08 PM
sunil_josh1 sunil_josh1 is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2003
Posts: 38 sunil_josh1 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 56 m 42 sec
Reputation Power: 9
thanks for your reply.
can you give me some idea of such algorithm. or name of some references.
regrads,
sunil

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesC Programming > memory allocation


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 5 - Follow our Sitemap