|
Tiny Bug Child posted:the year is 2012 you don't need to worry about memory except in a couple of edge cases - web "developers"
|
# ? Oct 4, 2012 19:58 |
|
|
# ? May 9, 2024 19:29 |
|
Shaggar posted:yeah but dont you gotta worry about heap fragmentation if ur creating and destroying tons of stuff? idk. i've never run into it as an irl problem nor have i had gc pausing create performance issues. And Azul is like "our JVM brings all the boys to the yard, and they're like, it's better than yours" but you can only play with it under a sales engineer's supervision so I wonder what they're hiding. Probably terrible throughput.
|
# ? Oct 4, 2012 20:15 |
|
rotor posted:i remember some of the most fun i had writing porgrams was for the palmpilot where your binary had to be like <20k or people made fun of you we had a competition at the university where we had to make signal generator on a 8052 chip, with a user-selectable frequency from 10 Hz to 10 kHz range and 10 Hz step size. the entries were ordered by binary size. i wrote the loving thing in 100% assembler and finished 2nd. ... if only i had remembered that a division is just subtraction, and written the function myslef instead of using that math library
|
# ? Oct 4, 2012 20:53 |
|
Nomnom Cookie posted:And Azul is like "our JVM brings all the boys to the yard, and they're like, it's better than yours" but you can only play with it under a sales engineer's supervision so I wonder what they're hiding. Probably terrible throughput. Yeah, this was the problem with Jikes and other similar schemes iirc. "We can guarantee* a pause will never take more than 100ms and that we can never have a fraction of cpu time given to the mutator of less that .4, which sounds much better than saying that gc can eat 60% of your time budget in exchange for soft real time performance that's a couple orders of magnitude too slow for anyone to care"
|
# ? Oct 4, 2012 20:53 |
|
Use HotSpot Or JRockit
|
# ? Oct 4, 2012 20:55 |
|
erlang gc owns, it's per-erlang-process (green thread) since they don't share anything so if you have a short-lived process it doesn't need gc and if you have a long-lived one it's probably not doin' much all the time anyways so can get gc'd when it's not busy
|
# ? Oct 4, 2012 20:55 |
|
garbage collection owns java owns memory management is for chumps code:
|
# ? Oct 5, 2012 03:12 |
|
if i was actually doing fft or math stuff on ios i'd probably use apple's Accelerate framework
|
# ? Oct 5, 2012 03:31 |
|
salted hash browns posted:garbage collection owns i like automatic reference counting because you don't get gnarly sawtooth memory usage patterns
|
# ? Oct 5, 2012 03:31 |
|
gnarly is an underused word
|
# ? Oct 5, 2012 03:32 |
|
i use surfer lingo to describe programming concepts
|
# ? Oct 5, 2012 03:33 |
|
gnarly ? i barely gnu her.
|
# ? Oct 5, 2012 03:35 |
|
tubular
|
# ? Oct 5, 2012 03:38 |
|
vapid cutlery posted:i like automatic reference counting because you don't get gnarly sawtooth memory usage patterns can you expand on this, i'm not very familiar with arc
|
# ? Oct 5, 2012 03:39 |
|
salted hash browns posted:can you expand on this, i'm not very familiar with arc originally objective-c on the mac/ios platforms required manual reference counting. ie when you want to take ownership of an object/keep it around you have to call retain on it. there were a whole bunch of shortcuts added with properties and autorelease to make it a lot easier but you basically ended up manually managing memory. then when they switched to the clang/llvm compiler toolchain they started using static analysis that could point out when you missed a release or retain. then the next logical step was to make the compiler insert them for you, and THus born out of the womb of stevephn jobs was automatic reference counting
|
# ? Oct 5, 2012 03:43 |
|
here's a diagram
|
# ? Oct 5, 2012 03:44 |
|
vapid cutlery posted:here's a diagram
|
# ? Oct 5, 2012 04:53 |
|
vapid cutlery posted:here's a diagram do you have to tell it when to do things/give it hints or is it all totally automatic?
|
# ? Oct 5, 2012 04:55 |
|
There are cases where you need Weak references instead of Strong references, but usually when you create instance variables you just declare them as Strong. It's not 100% automatic. it's not actually garbage collection, but the developer does minimal work because of it so it's sort of like GC.
|
# ? Oct 5, 2012 04:58 |
|
it's about 99% automatic
|
# ? Oct 5, 2012 05:13 |
|
thats cool. are there any real downsides (aside from the edge cases)?
|
# ? Oct 5, 2012 05:14 |
|
Shaggar posted:thats cool. are there any real downsides (aside from the edge cases)? not really, it's pretty amazing. i mean there's obviously the downside that it's on a pretty niche platform
|
# ? Oct 5, 2012 05:18 |
|
it would seem like that would be a pretty popular feature for like a c#/java. maybe do that for strong references or w/e and let the gc handle the weak ones for u? ultimate combined lazyness+performance
|
# ? Oct 5, 2012 05:19 |
shaggar's transformation to the dark (objc) side begins
|
|
# ? Oct 5, 2012 05:26 |
|
lol no. its mac only so theres no reason to ever use it. im more interested in arc than obj-c anyways
|
# ? Oct 5, 2012 05:28 |
|
vapid cutlery posted:not really, it's pretty amazing. i mean there's obviously the downside that it's on a pretty niche platform It'd be interesting if there were ARC-like "garbage collection except really not" mechanisms in other languages.
|
# ? Oct 5, 2012 05:33 |
|
Otto Skorzeny posted:Yeah, this was the problem with Jikes and other similar schemes iirc. "We can guarantee* a pause will never take more than 100ms and that we can never have a fraction of cpu time given to the mutator of less that .4, which sounds much better than saying that gc can eat 60% of your time budget in exchange for soft real time performance that's a couple orders of magnitude too slow for anyone to care"
|
# ? Oct 5, 2012 05:36 |
|
Shaggar posted:it would seem like that would be a pretty popular feature for like a c#/java. maybe do that for strong references or w/e and let the gc handle the weak ones for u? ultimate combined lazyness+performance
|
# ? Oct 5, 2012 05:38 |
|
I guess ARC is neat but its principles are really only applicable to the reference counting nature of ObjC. And there really aren't any major manual memory managed languages left except for C and C-based languages.
|
# ? Oct 5, 2012 07:29 |
|
Maximo Roboto posted:It'd be interesting if there were ARC-like "garbage collection except really not" mechanisms in other languages. can't think of any languages that do reference counting for you
|
# ? Oct 5, 2012 08:06 |
Shaggar posted:its mac only so theres no reason to ever use it.
|
|
# ? Oct 5, 2012 09:30 |
|
I really pity the guys who have to run the software written by you "memory usage doesn't matter" guys.
|
# ? Oct 5, 2012 12:45 |
|
gaaahhhhh http://badassjs.com/post/32812527381/doppio-a-java-virtual-machine-compiler-and shameful
|
# ? Oct 5, 2012 13:52 |
|
holy poo poo the comments I'm actually working on a toolchain for Clojure -> JVM Bytecode -> Decompile Bytecode into Java -> Doppio JavaScript -> CoffeeScript -> Back to JS -> Rhino Compiler to Bytecode -> GCJ for native machine code. This will be very useful for writing native programs in Clojure.
|
# ? Oct 5, 2012 14:04 |
|
Zombywuf posted:I really pity the guys who have to run the software written by you "memory usage doesn't matter" guys. yeah ok rms. here in the year 2012 we have computers with more than 512k of ram.
|
# ? Oct 5, 2012 14:16 |
|
Win8 Hetro Experie posted:holy poo poo the comments this is why you stay away from those "languages" and everyone associated w/ them.
|
# ? Oct 5, 2012 14:19 |
|
Zombywuf posted:I really pity the guys who have to run the software written by you "memory usage doesn't matter" guys. you know how it used to be 640k is enough for anyone. at my job it's 640GB is enough for anyone. you freak out about working set size, i'm using 2% of the ram on an underutilized machine
|
# ? Oct 5, 2012 14:25 |
|
Shaggar posted:this is why you stay away from those "languages" and everyone associated w/ them.
|
# ? Oct 5, 2012 14:30 |
|
no, those are good.
|
# ? Oct 5, 2012 14:31 |
|
|
# ? May 9, 2024 19:29 |
|
Zombywuf posted:I really pity the guys who have to run the software written by you "memory usage doesn't matter" guys. just write the program. use the clowniest data structures you want as long as it's not malicious. write the best code you can, but don't worry if it's not "perfect" if memory or processor usage sql query performance or something proves to be a problem in actual usage, then fix it.
|
# ? Oct 5, 2012 14:38 |