|
I thought it might be interesting to write a bit about System.Numerics.Vector (and probably System.Runtime.Intrinsics), which is one of those things that can be helpful (I still don't exactly like the Vector<T> API, but it can be used for some things and for other things I can throw in some System.Runtime.Intrinsics), but used more rarely than it deserves. It's not easy to get into.
Of course I can cover the usual suspects such as linear algebra and Fourier transforms, but it would be more interesting to have some examples that are less on the "pure math" side and more on the "just random stuff that comes up in programs" side.
Good candidates look like a loop over one or more arrays, nested loops and some "mild conditionals" and "innocent function calls" (Math.Max and such) are fine, but if it's a big rat's nest of control flow I probably can't use it.
|
|
|
|
|
Not exactly a dotnet guy myself but shouldn't you highlight the differences between the regular and the Numerics vector types? And maybe include recent developments? Vector Class (System.Numerics) | Microsoft Docs[^]
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
What's the regular vector type in this context? The 2D one in System.Windows?
|
|
|
|
|
I am not sure but I guess so. As your own post mentions two different types I assumed that the first one was commonly used and that this [Numeric] one brought new possibilities.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
None of it is commonly used. System.Numerics.Vector is the old API, and still barely used, mostly ignored. System.Runtime.Intrinsics is new and better but so new that it only exists in Core 3.0 previews.
|
|
|
|
|
|
Pretty sure it's not ATARI!
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Didn't even see that one - cool!
But yes, nope
|
|
|
|
|
I'm not good with ornithology, but ... CROWN?
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Yep
|
|
|
|
|
I've had my i7 laptop with 8GB for at least 4 years now (started out on win 8.1).
It has worked fine. I could run
1. web browser
2. Android Studio
3. Android emulator
All at the same time and I never had a problem. Now, I cannot run those 3 or all my RAM is gone.
I can now only (barely) run the
1. web browser
2. android studio
The only way i can use my computer for Android development now is to use an externally connected android device to run/debug apps on. Very sad. This laptop is not able to upgrade to 16GB. I know. It's crazy and cheapo.
Actually, I can barely run the web browser when Android Studio is running. Not great.
When I open too many tabs the tabs just crash and burn.
Win 10 Ram Eater?
Anyways, I also noticed this in win 10 at work and now at home. Check out how many svchost.exe processes are running:
I can't even fit them all on one screen (in task manager) see the snapshot :
https://i.stack.imgur.com/bPaaD.png[^]
What is going on? Has anyone else noticed this?
EDIT - Android Studio RAM
Android Studio eats > 1.0 GB
And it starts up two Java Processes
java.exe - 823 MB
java.exe - 333 MB
Oy!
Meanwhile, any browser eats up about 1 GB (my FF is at 723 MB).
That's 3 GB and the rest of the 8GB is basically eaten up by random win10 and other background processes. Such is the modern life, I assume.
modified 25-Aug-19 17:15pm.
|
|
|
|
|
IRC the android emulator is kinda greedy ... but I can run Chrome with 9 tabs open and VS2019 with a single man team sized project in 4GB of RAM on and i5 Surface. I'm doing that right now!
I'd wonder about AS as well - I installed it once years ago and decided I didn't like it. Slow, and not that obvious IIRC. Maybe those two are the problem?
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
That is quite amazing on the VS2019 and the 4GB RAM on the Surface.
Yes, it does seem to be Android Studio as the source of the problem. Very unfortunate.
Thanks.
|
|
|
|
|
I just started Visual Studio 2019 on my machine to see what it would look like.
Loaded up a basic sized MVC project and it's at 300MB. Quite a difference compared to Android STudio and it's desire for 2GB of ram (AS @ 1.0GB and the two Java procs at 1 GB).
|
|
|
|
|
raddevus wrote: Check out how many svchost.exe processes are running:
I can't even fit them all on one screen (in task manager) see the snapshot :
https://i.stack.imgur.com/bPaaD.png[^]
What is going on? Has anyone else noticed this? The old Windows security model was severely lacking... but process isolation is actually quite good. The reason browsers consume so much RAM is because they are also taking advantage of process isolation and job object isolation. The operating system is now also taking advantage of process isolation.
Plus... in the old service model when a service crashed a half-dozen other services crashed along with it. You can go back to the old behavior by changing a registry key but you will not gain much by doing that.
For a development box I'd recommend a minimum of 16GB RAM.
Best Wishes,
-David Delaune
|
|
|
|
|
That’s great information and very good points about what is happening.
And, you are, of course, correct, 16GB for development is a lot more realistic.
I just got away with it for so long I’ve gotten soft.
|
|
|
|
|
windows has a lot of service u can disable. and if you are running w10 if you lockdown the privacy settings and background apps...
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
abmv wrote: windows has a lot of service u can disable.
Interesting. I will have to look into that. Thanks.
|
|
|
|
|
|
Thanks for the hints. I have seen numerous problems with the telemetry proc in the past. It was the reason I went from an HDD to an SSD.
|
|
|
|
|
This is representative of society today : waste resources because there are "plenty" of them instead of trying to optimize.
|
|
|
|
|
Ha!
While it makes me the source of derision more and more these days, I still have operational copies of TASM, NASM and MASM.
Also, an apple, banana and an orange cost an awful lot less than the quantity of petrol needed to get me and the car somewhere..
|
|
|
|
|
Don't fold hands. Instead, do something. You have tons of service host processes? Find out which services run in which process. That will get you started with possible fixes.
|
|
|
|
|
This seems like an indecent number of svchost.exe processes.
I would investigate loaded dlls with ProcessExplorer to try and find what is really going on.
enum HumanBool { Yes, No, Maybe, Perhaps, Probably, ProbablyNot, MostLikely, MostUnlikely, HellYes, HellNo, Wtf }
|
|
|
|
|
The number of service host processes has been steadily going up since IIRC w7. MS used to cram dozens of services into a single process to save a bit of ram. Newer versions have gone the other direction for troubleshooting and security reasons. It's much easier to figure out what service is going bonkers causing its host to eat a CPU core and needs a cluebat applied if you don't have 20 services in a single process. On the security front running services in their own processes makes it harder for a malicious or buggy and hackable one to attack other services by increasing the level of isolation between them.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|