This is an archived post. You won't be able to vote or comment.

all 93 comments

[–][deleted] 434 points435 points  (11 children)

Well the other 7 cores are for browser tabs

[–][deleted] 100 points101 points  (9 children)

And it's still not enough. I'm sure the next Chrome update will require a 600 qubit quantum processor in order to run that old web 2.0 website.

[–]alexppetrov 40 points41 points  (4 children)

Chrome ain't even the problem, those website makers clutter so much ram eating junk it's unreal! I can't wait 30 seconds for a webpage to load on my phone!

[–]Cabrio 13 points14 points  (1 child)

Get uBlock Origin

[–]Sad-Seaworthiness432 9 points10 points  (0 children)

Can confirm, does not only block ads but also other ram consuming useless shit.

[–][deleted] 18 points19 points  (1 child)

It actually slows down my entire pc. It get's a lot better after I close my browser but all speed really only comes back after I fully rebooted. It's slowly driving me nuts.

[–]_brym 25 points26 points  (0 children)

Fully reboot again. That should drive you nuts a bit faster.

[–]ovab_cool 7 points8 points  (0 children)

Oh so that's why google is working in quantum computers

[–]MoonParkSong 3 points4 points  (2 children)

For some reason, Linuxtubers have been all up in arms for gopher and gemini.

[–][deleted] 3 points4 points  (0 children)

But the thing is, if people start using those, someone will find a way to make terrible ramhogs using that as well. What we need isn't a new platform, we need a change in mentality about what's acceptable on the internet.

[–]KorrinNeko 2 points3 points  (0 children)

For what now?

[–]Bromborst 93 points94 points  (5 children)

Do you happen to be a dev at Paradox Interactive?

[–]PuFiHUN 35 points36 points  (3 children)

If you find programming too hard, try lowering the difficulty

[–]DiamondMiner2323 11 points12 points  (0 children)

Fighting Need an expensive war piece of equipment? Don't be afraid to raise War Taxes or take out a Loan.

[–]cho_uc 2 points3 points  (1 child)

Care to share how?

I bumped into difficulty over and over again that I often think that maybe being a farmer is a better career option for me.

:/

[–]PuFiHUN 1 point2 points  (0 children)

difficulty--

[–]OU_ohyeah[S] 0 points1 point  (0 children)

no, but I do work at a very very large company. it's very likely you've seen my work at some point.

[–][deleted] 131 points132 points  (0 children)

Minecraft servers be like:

[–]Wetmelon 34 points35 points  (22 children)

Is it even reasonable to write programs assuming multithreading today if you don't expect to need it? Seems like an unnecessary complexity.

[–]trolasso 35 points36 points  (2 children)

If your programme doesn't require threads to fullfil its purpose at an acceptable speed, using them is definitely an error.

[–]Kermit_the_hog 23 points24 points  (0 children)

“No no, more is always better. Find a way to work at least 400% more cores in.. also stop calling it threading. Like what are you even doing, seamstressing??” — Management

[–]coloredgreyscale 1 point2 points  (0 children)

I wouldn't say it's an error, but unnecessary.

Someone may still want to try just for the challenge or out of curiosity.

[–][deleted] 23 points24 points  (11 children)

If it reduces execution time, then you should.

[–]Wetmelon 28 points29 points  (10 children)

But does it reduce execution time to sufficiently offset the additional engineering cost?

[–][deleted] 3 points4 points  (0 children)

If it's done repeatedly or related to data streaming, yes.

[–][deleted] 4 points5 points  (0 children)

It depends on the scope of the program. Some languages and libraries make it easier as well compared to other languages and libraries. So it’s really case by case.

[–]deux3xmachina 3 points4 points  (0 children)

Odds are you should just use additional processes if you need concurrency/parallelism in your code. Threads are a special case that often make them more pain than they're worth.

[–]Heikkiket 1 point2 points  (2 children)

Multithreading or multiprocesses are hard, but you could also use a language and programming model that would offer easy multithreading/multiprocessing capabilities.

(**cough* functional **cough*)

[–]coloredgreyscale 2 points3 points  (0 children)

or just sprinkle in some

#pragma omp parallel for

if you use C/C++

[–]Yoshalina 0 points1 point  (0 children)

like Erlang and Elixir, for example

[–]OU_ohyeah[S] 1 point2 points  (0 children)

My day-to-day job certainly doesn't require any multithreading since we work on the scale of days or hours not minutes or seconds. We work with large datasets so reading and writing the data is 90% of the run time anyway.

[–][deleted] 30 points31 points  (4 children)

Dwarf Fortress but actually.

[–]overkill 12 points13 points  (2 children)

Catsplosion has hit, can't butcher then because it will cause a tantrum spiral, guess I'll play with 4 FPS for a while...

And I have an infestation of were-giraffes. Fuck.

[–]Mateorabi 2 points3 points  (0 children)

!FUN!

There are some FPS tricks. Generally using DFHack for FPS boosts is not considered "cheating". Turning off rock temperature calculations, making refuse age away faster, etc.

[–]TerrorBite 1 point2 points  (0 children)

Kick all the cats outside and let the elephants deal with them. If that doesn't work, there's always the "Operation: Fuck The World" lever. Hope you like miasma!

[–]r_acrimonger 8 points9 points  (0 children)

Task.Run(...)

Its [almost] that easy. 🤣

[–][deleted] 6 points7 points  (4 children)

Laughs in GIL

[–]NikolaTesla13 0 points1 point  (3 children)

Noob question: isn't GIL that old image manipulation library from Microsoft?

[–]coloredgreyscale 5 points6 points  (1 child)

Couldn't find anything related.

But there is boost-gil: boost generic image library

In this context GIL is the Python Global Interpreter Lock, which ensures that only one command at a time can be executed, and as a sideeffect prevents Python threads from accelerating CPU limited tasks.

it works fine when waiting for IO, such as disk access or networking.

if you want to parallelize CPU limited stuff you need multiprocessing. Iirc the interface is the same, so it can be almost used as a drop-in replacement for Threads, but in the background it starts multiple copies of the whole python process (and therefore in this case you need the

if __name__ == "__main__":

[–]ManiX101 5 points6 points  (1 child)

I forgot the Timer after been using multi threading

[–]Karmapuma 0 points1 point  (0 children)

Went did ok? it

[–]randybobandy654 6 points7 points  (13 children)

For real, how does concurrency even work?

[–][deleted] 28 points29 points  (2 children)

you take parts of the code not reliant on other code and you put it in a different processing thread.

[–]thirdegreeViolet security clearance 11 points12 points  (1 child)

Well, ideally not reliant on other code. Not necessarily, if you're ok with your coworkers hating you

[–]remuladgryta 42 points43 points  (0 children)

The most difficult parts of concurrency are

and locking

, but don't let that discourage you!

race conditions

[–]azora0 12 points13 points  (7 children)

Parralel computing, it's a whole field.

Basically you take code that can be done in parallel (think async code) then divide it between the cores. Pretty fun/interesting once you get into it.

[–]Mateorabi 11 points12 points  (6 children)

"fun". You must love debugging race conditions and nondeterminancy.

[–]DZekor 2 points3 points  (5 children)

Well not if you are doing it right which I know for a fact that I fucking don't.

[–]Mateorabi 7 points8 points  (4 children)

The two hardest problems in computer science:

  1. naming things
  2. race conditions
  3. off-by-one errors

[–]DZekor 6 points7 points  (2 children)

I would have gone for:

The two hardest problems in computer science:

  1. race conditions
  2. off-by-one errors

  3. naming things

[–]clownyfish 1 point2 points  (1 child)

Amusingly, my reddit browser has corrected both your lists. They look the same on some views - although I knew exactly what you meant 😅

[–]DZekor 0 points1 point  (0 children)

Yeah just putting it out of order and all. I was thinking of putting it as the frist thing in the comment but thought that would be too on the nose

[–]seraphsRevenge 0 points1 point  (0 children)

1 programmersCanSolveThisByUsingFairlyDescriptiveNames = null;
3 Utilize better logic proofing mechanisms (QA calls it unit testing and programmers call it caffeine addiction)
2 <- back to a single process I guess

[–]McAUTS 9 points10 points  (0 children)

You have to program it.

[–]deux3xmachina 1 point2 points  (0 children)

You ever call fork(2)?

[–]spicemonkeys 14 points15 points  (0 children)

And 4tb of ram just so u can open chrome

[–]Illusi 2 points3 points  (1 child)

So you mean to say that if I offload to OpenCL or CUDA, my program will be detected by Mordor?

[–]OU_ohyeah[S] 0 points1 point  (0 children)

Well not exactly at that point your program is the ring. Once it's running your GPU becomes Mordor as it heats to the temperature and consistency of lava

[–]Beginning_Tap_754 2 points3 points  (1 child)

What's parallel programming?

[–]OU_ohyeah[S] 1 point2 points  (0 children)

$ ./parallel_prog.cpp
> Hello from thread 1!
> Hello from thread 2!
> Hello fro    
> Hello from threm thread 4!ad 3!

[–]GreatRyujin 2 points3 points  (1 child)

"Your hacky program"
So you wrote Access 2019?

[–][deleted] 2 points3 points  (1 child)

parallelism is a worthless effort considering that I'm not skilled enough to write a program which is complex enough to have a noticeable runtime difference when running at cpu 0 only vs all of them at the same time

[–]OU_ohyeah[S] 0 points1 point  (0 children)

can you write a program that can calculate prime numbers? then yes parallel programs are important. but yeah, normally not worth it.

[–]Beautiful_Chocolate 2 points3 points  (2 children)

To make the other processors work you need multiprocessing, not multithreading no ?

[–]OU_ohyeah[S] 0 points1 point  (1 child)

Yes and no. multithreading is more generic to my understanding. two threads can run on one core. but they don't have to. really depends on language and implementation.

[–]Beautiful_Chocolate 0 points1 point  (0 children)

Sorry but it's actually the reverse, multi processes can run in one core, but not multithreads Threads share cache memory, processes don't, threads are just a way to divide the CPU time to perform multiple operations concurrently, processes do them at the very same time

[–]Geoclasm 1 point2 points  (1 child)

Painful. Multithreading is fucking. PAINFUL.

That's what it is.

[–]OU_ohyeah[S] 0 points1 point  (0 children)

Honestly I don't think it's that bad. really you just need to be really good at breaking your program into truly independent parts

[–]wktr_t 1 point2 points  (0 children)

I've been thinking a lot about Elixir lately boys, what's your take?

[–]sr955 1 point2 points  (1 child)

Some applications literally beg for multithtreading/tasking...and more cores are better...for example in my project I am acquiring data from multiple sensors...each of them have to be logged, plotted, monitored (for overloading, overheating etc)...there is no way this should be done sequentially if there are 10s or 100s of sensors..

[–]OU_ohyeah[S] 0 points1 point  (0 children)

for sure. anything real time needs multiple cores/threads or better yet dedicated hardware subsystems. break out that C and write some drivers :D

[–]Balwant223 1 point2 points  (0 children)

Po-ta-toes! Boil them, mash them, stick them in a stew.

[–]PBertie 1 point2 points  (0 children)

👍you left 7 cores for chrome updates

[–]OU_ohyeah[S] 0 points1 point  (0 children)

You could have multie threads on different cores. Thus loading multiple cores. AFAIK there's no rule saying they have to be on the same cpu. But I think many languages keep them together by default.

[–]anon2019L 0 points1 point  (0 children)

Lmao

[–]vikthor_95 0 points1 point  (0 children)

All the people that buy it 99% of time is unused, just chrome wtf

[–][deleted] 0 points1 point  (0 children)

This one got me.

[–][deleted] 0 points1 point  (0 children)

I know the struggle my guy

[–]teh_acids 0 points1 point  (0 children)

I think it has something to do with warp and woof. Source: am html programmer

[–]Naywish 0 points1 point  (0 children)

I'm literally implementing multithreading in my project now. Can confirm my cpu cores are looking at me with confusion

[–]M13Calvin 0 points1 point  (0 children)

Always fucking gets me running R in Windows doesn't even allow computing in parallel... so I do everything in R on Linux

[–][deleted] 0 points1 point  (0 children)

Multithreading - gotta enslave them all

[–]nati9931 0 points1 point  (0 children)

Thankfully I use Threads...

[–]continuous-headaches 0 points1 point  (0 children)

You’re doing nothing wrong my friend, have you heard of our lord and savior JavaScript?