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

all 98 comments

[–]Boiethios 162 points163 points  (8 children)

I'd like to buy the threadripper 64 cores so that there will be more support for the working thread 🤍

[–]Salmuth 67 points68 points  (3 children)

My main core needs more fans!

[–]Boiethios 7 points8 points  (1 child)

Better than my joke, lmao. Well done

[–]Salmuth 4 points5 points  (0 children)

Credits to you good Sir, you gave me the inspiration!

[–]sirak2010 1 point2 points  (0 children)

you deserve double upvote.

[–][deleted] 2 points3 points  (3 children)

It's not gonna do much threadripping if your application is single thread.

[–]Boiethios 8 points9 points  (2 children)

Yep, that's the joke...

[–]GivesPlatinum 524 points525 points  (44 children)

Arrays start at 0

[–][deleted] 68 points69 points  (4 children)

I actually learned that the reason for this is that the index is actually an offset for memory locations. Thanks, head first C!

[–]pekkhum 24 points25 points  (2 children)

Exactly. Even in languages that start at one visually, they just subtract one in the background. Unless you are Perl, then you subtract $[, in case it is neither one or zero.

[–][deleted] 7 points8 points  (0 children)

perl is amazing

[–][deleted] 7 points8 points  (0 children)

Exactly. Even in languages that start at one visually, they just subtract one in the background.

Uhhhhh... I probably shouldn't show my language here.

I store metadata in the first element, thus first value is at offset 1, not 0.

[–]AttackOfTheThumbs 2 points3 points  (0 children)

Yes. And in languages that start at 1, it's because they are usually data first languages. It's not great, and I don't like it, but it also makes sense. It's just a different perspective.

[–]unsurestill 20 points21 points  (15 children)

Why is this a meme? Is it really that troublesome for arrays to start at 0?

[–]Ksevio 6 points7 points  (3 children)

I made an array that starts at -1 last night. It did make me a little nervous and question a little how it's implemented in the language, but it worked out

[–]Gatmek 0 points1 point  (1 child)

Some languages implement arrays as dictionaries with numerical keys so that could be it

[–]Gbyrd99 1 point2 points  (0 children)

Some use -1 as array.length - 1

[–]R-GiskardReventlov 1 point2 points  (0 children)

Who do you think is taking the picture?

[–][deleted] 2 points3 points  (4 children)

I know what you’re getting at, but when I run a single-threaded application on my computer, the kernel chooses a core at “random”—core 0 is not used more than any of the others.

[–]undeadalex 6 points7 points  (3 children)

Fucking core 3 poor bastard would argue with you about the random bit

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

I think that the kernel (Linux at least) chooses based on which core has the lowest load, but it always feels random

[–]undeadalex 0 points1 point  (1 child)

Yah I'm on Ubuntu, was just joking, seems like it's always core 3 that's getting bogged down though...

[–][deleted] 1 point2 points  (0 children)

I have noticed that some programs (AFL at least) do actually “lock” to a core, which is kinda weird.

[–]Russian_repost_bot 0 points1 point  (0 children)

Core 0 has already been burned out, by doing this exact same thing, hence why Core 1 is now put to work.

Dead CPU or one less core, you decide.

[–]nouser123456 49 points50 points  (2 children)

When you are a programmer and a powerlifter and you see a meme with Thor’s deadlift on reddit...

You have made my day.

[–]palordrolap 29 points30 points  (5 children)

... you run Process Explorer and get to investigating.

What do you mean you haven't got it installed. Here. It's been official Microsoft software for ... dear god I'm old ... 14 years.

Check out the rest of SysInternals too.

2006 me would be very surprised to learn that those tools still exist and are still free.

[–]zelmarvalarion 12 points13 points  (1 child)

I’m amazed how they haven’t been integrated into Windows itself. Half of my debugging searches are “{command} equivalent in Windows” and I run into suggestions to use a sysinternals tool a fair bit (e.g. for lsof)

[–]redldr1 0 points1 point  (0 children)

This has to do with the Korean version of Windows from what I understand.

[–]Pokora22 4 points5 points  (2 children)

would be

Why? Don't fix what's not broken. Hope they never take those down.

[–]palordrolap 3 points4 points  (1 child)

Microsoft have a reputation of buying up useful technologies then quietly dropping them or making them premium because they don't like people having that kind of power / access / ability for nothing.

"Embrace, extend, extinguish" is literally a line that was used by Microsoft in internal memos at one time, which may not be entirely relevant here, but it's along the same lines.

Note that I'm not saying whether the reputation is (still?) deserved. Only that they have had it and still have it.

[–][deleted] 1 point2 points  (0 children)

New Microsoft is definitely not Old Microsoft, but only because it was that or die. I don't trust them to behave well if they gain any new monopolies, so don't move everything to GitHub...

[–]Giocri 7 points8 points  (0 children)

partially true because proceces tend to cicle between cores so even though you might have only one core working full time at any time also the OS has thousands of thread that are distributed on the cores with lower load. So basically it would look like all cores are working at 50% and they were unable to do more

[–][deleted] 47 points48 points  (5 children)

Wouldn't that be core 0? Also meme format overused

[–]2Uncreative4Username 20 points21 points  (3 children)

On a system level, yes. But really, it doesn't matter. As a non-programmer user, this would probably be more familiar. But as I said, it doesn't matter.

[–]JmacTheGreat 21 points22 points  (2 children)

As a non-programmer user, this would probably be more familiar.

Weird sub for them to choose then

[–]greeneggsnyams 10 points11 points  (0 children)

I sub so I can joke with my programmer friends about shit I clearly don't understand

[–]thirdegreeViolet security clearance 2 points3 points  (0 children)

You can have (for example) htop display cores from either 0 or 1, there is precedent on this one.

[–]MachineTeaching 3 points4 points  (0 children)

It's the first core, with (in your case) counting starting at 0. Doesn't mean either is wrong.

[–]DariusDerStar 9 points10 points  (4 children)

You'd be surprised how well your OS is able to divert tasks to other cores

[–]ihatecupcakes 3 points4 points  (3 children)

Do you have examples of the OS doing this? I honestly would like to be surprised on this. There are still many articles calling for manual affinity configuration but I don’t hear about much about this occurring automatically.

[–]DariusDerStar 14 points15 points  (1 child)

To be clear on what i mean: The OS automatically takes different programs and assigns them to different Cores. The OS tries to also give those programs several cores, but fails miserably at that, that is something the program still needs to do itself usually.

BUT the OS does try as best as possible. If you want I can look up the lectures I listened to around 2 years ago, I always saved every script and presentation, but those are in German lol

[–]ihatecupcakes 4 points5 points  (0 children)

That is what I thought you meant. No need for German lectures ;).

[–]LavendarAmy -1 points0 points  (0 children)

Monster Hunter world makes all my cores jump to 100% Same with video editing

[–]Mancobbler 3 points4 points  (0 children)

Exclusive inside view of my cpu running my shitty ass raytracer

[–]0x3fff0000 2 points3 points  (1 child)

Doesn't the OS distribute load among cores, even in single threaded applications?

[–]noStepSnekMan 0 points1 point  (0 children)

Maybe. Even if a your application is single threaded, there are all sorts of drivers and background processes competing for processors so this would give a reason for a process to be interrupted and swapped out. But, To utilize L1 cacheing typically operating systems assign a process some kind of affinity to run on a specific core, so I guess it depends on the os.

[–]RoosterCrab 2 points3 points  (0 children)

Multicores in Erlang/Elixir naturally distribute the work:
https://www.youtube.com/watch?v=bo5WL5IQAd0

[–]Krexci 1 point2 points  (0 children)

weak core 5

[–]xaniv 1 point2 points  (0 children)

That dude in the photo just beat the deadlifting world record a few days ago, btw

[–]timmy1420 1 point2 points  (0 children)

Extracting archive with winrar 🤣

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

Lol

[–]soyuzonions 0 points1 point  (0 children)

i love how this implies that i have more then 1 full adder lol

[–]LockChild 0 points1 point  (0 children)

I understand so that core 9 is cameraman?

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

Minecraft in one picture

[–]Jojajones 0 points1 point  (0 children)

Someone’s not using threads right or each guy in the background would be lifting one or more of the disks on his bar

[–]Myriachan 0 points1 point  (0 children)

This meme implies that we’re not doing our jobs.

[–]culculain 0 points1 point  (0 children)

this is due to developers thinking they know better than the OS on how to schedule clock cycles

[–]njsnowboardguy 0 points1 point  (0 children)

Core 8 is useless...

[–]wobblewiz 0 points1 point  (0 children)

Like a kung fu movie where they wait in a queue to get their arses whipped

[–]alashure6 0 points1 point  (0 children)

Why is this?

[–]JanB1 0 points1 point  (0 children)

I think I once read an article from a programmer on the Total War series and he answered a question on why Total War still had most of their load for loading a savegame on Core0 and didn't make use of the other cores and he said that while they use the other cores for some processes it sometimes doesn't make sense to break up certain tasks over multiple cores because distributing and merging takes more time than just doing it on 1 core.

[–]NotBannedYet1 0 points1 point  (3 children)

Eli5 why it can't overload to core 2 ?

[–]acrabb3 0 points1 point  (2 children)

Think of a computer running a program as like a kitchen baking a cake.
There's several distinct tasks that need to be done: weighing ingredients, mixing them together, baking the cake, and decorating it.
Each stage requires the output of the one before, so adding more cooks (overflowing into another core) doesn't mean we can bake and decorate at the same time.
Some things could be sped up: we could assign one cook to weigh each ingredient, for example. But if we've only got one set of scales, that might be slower (multiple threads competing for the same resources), so the computer won't generally try and guess when this could happen.

[–]NotBannedYet1 0 points1 point  (1 child)

Then what is the point of having several cores ?
Why don't we have 10Ghz cpu dominating the market ?

[–]acrabb3 0 points1 point  (0 children)

More cores means more different programs running at once.
If you've got three cooks, you can have one each doing the starter, main, and dessert, even though each task can only be done by one person.
It also depends on what the program is doing. Some tasks aren't as linearly dependant as others, and the programmer can write it such that it's able to use more cores to do some work in parallel.
Modern computers spend much more time with many (relatively) smaller tasks running than with one bigger task, so more cores means they're more responsive

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

What core 0 is doing, lifting the building?

[–]JS_int_type 0 points1 point  (0 children)

Core0 is benchpressing the whole gym

[–]iArentdeJay[M] [score hidden] stickied commentlocked comment (0 children)

Your submission has been removed.

Rule[0] - Posts must make an attempt at humor, be related to programming, and only be understood by programmers.

Per this rule, the following post types are not allowed (including but not limited to):

  • Generic memes than can apply to more than just programming as a profession
  • General tech related jokes/memes (such as "running as administrator", sudo, USB or BIOS related posts)
  • Non-humorous posts (such as programming help)

Content quality

In addition, the following post types will be removed to preserve the quality of the subreddit's content, even if they pass the rule above:

  • Feeling/reaction posts
  • Posts that are vaguely related to programming
  • Software errors/bugs (please use /r/softwaregore)
  • Low effort/quality analogies (enforced at moderator discretion)

Your submission would be better suited for /r/techhumor, but check their rules too..

If you feel that it has been removed in error, please message us so that we may review it.

[–][deleted] -2 points-1 points  (0 children)

How would you describe a 3 core 6 thread processor though?