U.S. CitiesCity-Data Forum Index
Go Back   City-Data Forum > General Forums > Science and Technology > Computers
 [Register]
Please register to participate in our discussions with 2 million other members - it's free and quick! Some forums can only be seen by registered members. After you create your account, you'll be able to customize options and access all our 15,000 new posts/day with fewer ads.
View detailed profile (Advanced) or search
site with Google Custom Search

Search Forums  (Advanced)
Reply Start New Thread
 
Old 03-24-2017, 03:01 AM
 
2,951 posts, read 1,758,168 times
Reputation: 3053

Advertisements

An occasional reboot of any device is a good thing. It also refreshes background processes, the number of which can grow with time, since so many programs/apps keep running in background once started.
Reply With Quote Quick reply to this message

 
Old 03-25-2017, 01:09 PM
 
Location: Itinerant
7,054 posts, read 4,471,031 times
Reputation: 5343
Quote:
Originally Posted by djmilf View Post
On the other hand, memory leaks can slip into the software when the code allocates memory within an iteration or a recursion and doesn't properly deallocate memory before the next loop of the iteration or invocation of the next recursion.
If you deallocate prior to return of the last recursion application go boom! You're clearing memory of a pending function on the stack, during unwind, the function has deallocated heap pointers. Memory leaks are only relevant when an application is running since the OS memory manager deallocates all used memory on application exit (even assigned memory of that application).

There are several issues being all conflated but the major points are

1) Memory use of a process or application at runtime
2) Storage requirements of the system
3) persistent storage use of processes and applications

On the first yes memory use has indeed increased, a lot of the data used on a 64 bit machine requires the use of 64 bit memory allocations, thus is double the memory used on a 32 bit system, some allocations are platform dependent however and some are platform independent which confuses this. i.e. a ULONG is 4 bytes platform and word size independent except for GNU and Linux where a ULONG is 8 bytes (which is weird since ULONG and UINT on x64 are now synonymous in all platforms and word sizes except GNU and Linux [tip for cross plat developers]).

Further with memory capacities of machines expanding, there's less concern about creating large data structures in memory, since the application will have more headroom than typically necessary, one point of note is that there's been little need for memory constraint to be an application breaker since the advent of virtual memory. That said I don't think the issues people see are all necessarily of the developers making, we multitask our devices far more than we used to, and it's the multitasking that is often the cause of the memory stresses people notice, because applications are just switched and not exited thus retain all or part of their running memory footprint. On a PC platform I'll switch apps, because I have a quad core 64 bit processor with 16Gb ram and a 1Tb SSD. On a 4Gb Android I'm ruthless on apps running, 3-4 apps and I see appreciable slowdown that is unacceptable to me, so I end currently unused apps.

Finally on memory use point 1 some of the slowdown is connected applications pending data over the network. This isn't a memory issue at all, but appears as a slowdown in the execution of applications, and even background applications can induce a slowdown in the current application if it's blocking the network (i.e. running windows updates hogging bandwidth while attempting to browse the internet).

On the second point, again as working memory has increased in size because of reduced cost to manufacture, so permanent storage has increased in size many more times because of the same reduced cost to manufacture. However one flaw in this is in SSD's where the capacities are now significantly smaller than a typical hard drive. I consider my PC 1Tb SSD as barely adequate (and I use a NAS and cloud storage too). With updates hogging storage that is a fault of the developers, it's all fine and dandy to release an application that only costs say 500Mb install, but if in a year that's ballooned to 5Gb because of updates not being as carefully constrained it's become a huge problem. Of all issues I'm currently seeing in the digital ecosystem, it's actually this problem that I consider to be the most significant, it applies to all devices from consoles to servers. Of course this doesn't absolve users of keeping things on their devices that are no longer used and are themselves hogging space.

On the third point, this is a problem that is both of user expectation and developer fumble fingering. You expect your Facebook app to show you your page even when you have no or little connection, so you need that data cached, how much is always the hard thing to estimate, too little and you look like you don't know what you're doing (and you probably don't) too much and you're hogging your users storage. Hogging storage isn't an issue until it becomes an issue, and this flows into point 2. Add into this the use of high data demanding content like HD video, images, and audio, and you end up getting the user painted into a corner, expand the device, or remove apps.

Of course at the end of the day why does anyone really care if their devices run to their level of satisfaction regardless of the memory use of the applications they run on them? So say Word is using 8Gb runtime memory, but it works just fine with everything else you're running at that time, why care that it's not using 640kb base memory and 360kb extended memory, other than to point out it's using more memory? It only becomes an issue if you only have 640kb base and 360kb extended memory, and if you do Word won't even install, because you don't run a supported OS and will fail for hardware requirements too.
__________________
My mod posts will always be in red.
The RulesInfractions & DeletionsWho's the moderator? • FAQ • What is a "Personal Attack" • What is "Trolling" • Guidelines for copyrighted material.
Reply With Quote Quick reply to this message
 
Old 03-30-2017, 10:13 AM
 
5,114 posts, read 4,757,009 times
Reputation: 4380
Quote:
Originally Posted by djmilf View Post
On the other hand, memory leaks can slip into the software when the code allocates memory within an iteration or a recursion and doesn't properly deallocate memory before the next loop of the iteration or invocation of the next recursion.
Quote:
Originally Posted by Gungnir View Post
If you deallocate prior to return of the last recursion application go boom! You're clearing memory of a pending function on the stack, during unwind, the function has deallocated heap pointers.
Oops!

Of course, Gungnir is correct, I'm incorrect in saying deallocation of memory prior to next recursion of iteration...unless the memory allocated for the recursive function isn't required when returning from the recursive call...I think...
Reply With Quote Quick reply to this message
Please register to post and access all features of our very popular forum. It is free and quick. Over $68,000 in prizes has already been given out to active posters on our forum. Additional giveaways are planned.

Detailed information about all U.S. cities, counties, and zip codes on our site: City-data.com.


Reply
Please update this thread with any new information or opinions. This open thread is still read by thousands of people, so we encourage all additional points of view.

Quick Reply
Message:

Over $104,000 in prizes was already given out to active posters on our forum and additional giveaways are planned!

Go Back   City-Data Forum > General Forums > Science and Technology > Computers
Follow City-Data.com founder on our Forum or

All times are GMT -6.

© 2005-2020, Advameg, Inc. · Please obey Forum Rules · Terms of Use and Privacy Policy · Bug Bounty

City-Data.com - Archive 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 - Top