Jump to content

Does programming languages prefer higher clocked CPUS with less cores or more cores just a lower clock speed?

Does programming languages prefer less cores but higher clock speeds or lower clock speeds but more cores? So basically would a I3 or Pentium be better than a Ryzen 5 1600 and above and vice versa?

Link to comment
Share on other sites

Link to post
Share on other sites

More cores.

PSU Nerd | PC Parts Flipper | Cable Management Guru

Helpful Links: PSU Tier List | Why not group reg? | Avoid the EVGA G3

Helios EVO (Main Desktop) Intel Core™ i9-10900KF | 32GB DDR4-3000 | GIGABYTE Z590 AORUS ELITE | GeForce RTX 3060 Ti | NZXT H510 | EVGA G5 650W

 

Delta (Laptop) | Galaxy S21 Ultra | Pacific Spirit XT (Server)

Full Specs

Spoiler

 

Helios EVO (Main):

Intel Core™ i9-10900KF | 32GB G.Skill Ripjaws V / Team T-Force DDR4-3000 | GIGABYTE Z590 AORUS ELITE | MSI GAMING X GeForce RTX 3060 Ti 8GB GPU | NZXT H510 | EVGA G5 650W | MasterLiquid ML240L | 2x 2TB HDD | 256GB SX6000 Pro SSD | 3x Corsair SP120 RGB | Fractal Design Venturi HF-14

 

Pacific Spirit XT - Server

Intel Core™ i7-8700K (Won at LTX, signed by Dennis) | GIGABYTE Z370 AORUS GAMING 5 | 16GB Team Vulcan DDR4-3000 | Intel UrfpsgonHD 630 | Define C TG | Corsair CX450M

 

Delta - Laptop

ASUS TUF Dash F15 - Intel Core™ i7-11370H | 16GB DDR4 | RTX 3060 | 500GB NVMe SSD | 200W Brick | 65W USB-PD Charger

 


 

Intel is bringing DDR4 to the mainstream with the Intel® Core™ i5 6600K and i7 6700K processors. Learn more by clicking the link in the description below.

Link to comment
Share on other sites

Link to post
Share on other sites

It depends on the task. Certain things can only be divided so many ways, so some tasks can never benefit from more cores. Additionally, optimizing for more cores is more difficult. 

 

If you want to find the sum of a sequence of numbers, but have no way of determining the next elements in advance, then there's no way to improve performance by adding more cores. 

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

For gaming, generally fewer more capable cores, as low power ones will make intensive tasks take longer to complete. For multitasking, more lower powered cores as the operating system and compatible applications (web browsers, video editing software etc) can leverage them all nicely.

 

Its more complicated than that though, as (for example) a 16 core 5ghz Taiwantrix might perform horribly compared to a 4 core 3ghz Japantrix due to differences in core design etc.

Speedtests

WiFi - 7ms, 22Mb down, 10Mb up

Ethernet - 6ms, 47.5Mb down, 9.7Mb up

 

Rigs

Spoiler

 Type            Desktop

 OS              Windows 10 Pro

 CPU             i5-4430S

 RAM             8GB CORSAIR XMS3 (2x4gb)

 Cooler          LC Power LC-CC-97 65W

 Motherboard     ASUS H81M-PLUS

 GPU             GeForce GTX 1060

 Storage         120GB Sandisk SSD (boot), 750GB Seagate 2.5" (storage), 500GB Seagate 2.5" SSHD (cache)

 

Spoiler

Type            Server

OS              Ubuntu 14.04 LTS

CPU             Core 2 Duo E6320

RAM             2GB Non-ECC

Motherboard     ASUS P5VD2-MX SE

Storage         RAID 1: 250GB WD Blue and Seagate Barracuda

Uses            Webserver, NAS, Mediaserver, Database Server

 

Quotes of Fame

On 8/27/2015 at 10:09 AM, Drixen said:

Linus is light years ahead a lot of other YouTubers, he isn't just an average YouTuber.. he's legitimately, legit.

On 10/11/2015 at 11:36 AM, Geralt said:

When something is worth doing, it's worth overdoing.

On 6/22/2016 at 10:05 AM, trag1c said:

It's completely blown out of proportion. Also if you're the least bit worried about data gathering then you should go live in a cave a 1000Km from the nearest establishment simply because every device and every entity gathers information these days. In the current era privacy is just fallacy and nothing more.

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, Hotseff said:

Ok Thanks Good to know

Except that its wrong, @djdwosk97 sums up nicely. 

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

On 12/15/2017 at 12:06 AM, Hotseff said:

Ok Thanks Good to know

Why did you respond to that post when you had a really good answer from @djdwosk97 ? More cores is not true by default because lots of applications aren't optimised for use over x cores so what's the point in more cores if you can't use them lol?

 

That being said overall I'd recommend a mix, out of your suggested options I'd go for Ryzen.

Link to comment
Share on other sites

Link to post
Share on other sites

Taking the question at face value, the programming language itself doesn't care about what hardware you have in the system.

 

Otherwise the applications you build from said languages depending on faster IPC or more cores is highly dependent on how you program it. You can program a single core application or a multicore one. Often times there's no free lunch either, you must explicitly program for multicore applications.

 

If you're getting into programming and you're fresh at this, it matters zero if you get something with higher IPC or core counts because anything you usually make in those starting days could run on an Atom and you wouldn't notice a difference.

Link to comment
Share on other sites

Link to post
Share on other sites

On 12/14/2017 at 6:03 PM, Hotseff said:

Does programming languages prefer less cores but higher clock speeds or lower clock speeds but more cores? So basically would a I3 or Pentium be better than a Ryzen 5 1600 and above and vice versa?

hmmmm... This is actually a very complicated question and there is no one word answer. Sorry @JDE

It depends. There are generally 3 types of "programs":

  1. Sequential
  2. Parallel
  3. Parallel/Sequential (and inversely, Sequential/Parallel)

A sequential task is just that: A task that can only be completed by completing the steps in order. In other words if I want to, say, generate a Fibonacci sequence:

def fibonacci(n):
    a = 0
    b = 1
    for i in range(0, n):
        temp = a
        a = b
        b = temp + b
    return a

It is easy to see that this task can only be accomplished in order. There is no way to do multiple steps at one time.

A parallel task, however, is one where the steps can all be done at the same time. You will not see a coded example (due to the complexity of such programming). Common parallelized algorithms are sorting algorithms.

Finally, we arrive at parallel sequential tasks. These are tasks which fit into one of two categories: Either there is some work done in parallel, the results of which are sent to a final step, or there is some initial steps, the result of which is sent to various threads to be worked on in parallel. Here is a simple example in no specific language:
 

# add 5 to a, add 6 to b, add a and b
thread_one(n):
  return 5 + n

thread_two(n):
  return 6 + n

a = 2
b = 3

c = parallel_magic(thread_one(a)) + parallel_magic(thread_two(b))

This isn't quite how things work, but you can see how we can work on thread_one and thread_two at the same time, but we cannot arrive at the final result without the results of both thread_one and thread_two.

But what does this mean for your question?

It's simple: Sequential problems prefer a higher clock rate, parallel problems can benefit from more cores.

Disclaimer:: This explanation contains gross oversimplifications.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

Depends on the programmer. Most of the code I've written has been single threaded. So one really high performing core would out perform dozens of slower cores when running most of my programs.

 

On 22/12/2017 at 1:46 PM, M.Yurizaki said:

If you're getting into programming and you're fresh at this, it matters zero if you get something with higher IPC or core counts because anything you usually make in those starting days could run on an Atom and you wouldn't notice a difference.

Eh... not entirely. In fact I personally think it'd be totally reasonable and rather likely for a beginner to write really badly optimized code trying to do something in a really convoluted and dumb way which would end up with something like n^5 complexity and then anything above say n = 5000 suddenly starts taking really long... Of course the actual task the beginner is asked to do shouldn't take that long if it's done correctly. (Source: I've written some really bad code this semester... still got full marks for it though :D )

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, ElfFriend said:

Eh... not entirely. In fact I personally think it'd be totally reasonable and rather likely for a beginner to write really badly optimized code trying to do something in a really convoluted and dumb way which would end up with something like n^5 complexity and then anything above say n = 5000 suddenly starts taking really long... Of course the actual task the beginner is asked to do shouldn't take that long if it's done correctly. (Source: I've written some really bad code this semester... still got full marks for it though :D )

I'd argue if you're doing something like that, you're probably past the point of all the beginner stuff.

 

I dunno, I'm irked that people are immediately promoting all software development as needing high end stuff. I say just get something lower end anyway and develop on that. Unless you can justify needing high-end equipment, developing on or for lower end helps ensure you're doing things more or less correctly and you're not relying on Moore's Law (however much of it remains) to fix your problems.

Link to comment
Share on other sites

Link to post
Share on other sites

I think that we are all forgetting that Arduino and Raspberry Pi are specificially built for people to learn programming with. It's obvious it doesn't take much. In fact, literally all it takes is SAP-1...

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

54 minutes ago, straight_stewie said:

I think that we are all forgetting that Arduino and Raspberry Pi are specificially built for people to learn programming with. It's obvious it doesn't take much. In fact, literally all it takes is SAP-1...

Basically my response when people try to sell arduinos or pis for teaching people programming:

 

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, ElfFriend said:

Basically my response when people try to sell arduinos or pis for teaching people programming

I think @straight_stewie though was alluding to the fact that some of these embedded dev boards use processors that the OG Pentium could run circles around. But again, it depends on what you're trying to do.

 

Otherwise the video does offer a lot of good points, especially about the Pi. That's definitely not a beginner friendly board unless someone basically set everything up for you. At which point... why bother? Everyone getting into programming should know how to set up their tools.

Link to comment
Share on other sites

Link to post
Share on other sites

On 12/24/2017 at 3:23 AM, ElfFriend said:

Depends on the programmer. Most of the code I've written has been single threaded. So one really high performing core would out perform dozens of slower cores when running most of my programs.

 

Eh... not entirely. In fact I personally think it'd be totally reasonable and rather likely for a beginner to write really badly optimized code trying to do something in a really convoluted and dumb way which would end up with something like n^5 complexity and then anything above say n = 5000 suddenly starts taking really long... Of course the actual task the beginner is asked to do shouldn't take that long if it's done correctly. (Source: I've written some really bad code this semester... still got full marks for it though :D )

Probably a good example of that being my code for a version of Pac-Man in JavaFX that I made for my CS 1 class last year because this code is really badly optimized https://drive.google.com/open?id=0B3D8ZA_8SlKbdlczNW5RSE9IbUk

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, Hotseff said:

Probably a good example of that being my code for a version of Pac-Man in JavaFX that I made for my CS 1 class last year because this code is really badly optimized https://drive.google.com/open?id=0B3D8ZA_8SlKbdlczNW5RSE9IbUk

Oh dear, that reminds me of when I wrote Reversi in Python during my first semester... It too was all in one file and a complete mess that required stuff like `###### MAIN FUNCTION #######` just to be able to figure out what each component did.

Link to comment
Share on other sites

Link to post
Share on other sites

On 12/14/2017 at 4:03 PM, Hotseff said:

Does programming languages prefer less cores but higher clock speeds or lower clock speeds but more cores? So basically would a I3 or Pentium be better than a Ryzen 5 1600 and above and vice versa?

Completely depends on the language used and the competence of the developer. This is why I do web design and development instead of application development - I'm visual and cannot stand all the intricacies of programming logic.

Desktop: KiRaShi-Intel-2022 (i5-12600K, RTX2060) Mobile: OnePlus 5T | Koodo - 75GB Data + Data Rollover for $45/month
Laptop: Dell XPS 15 9560 (the real 15" MacBook Pro that Apple didn't make) Tablet: iPad Mini 5 | Lenovo IdeaPad Duet 10.1
Camera: Canon M6 Mark II | Canon Rebel T1i (500D) | Canon SX280 | Panasonic TS20D Music: Spotify Premium (CIRCA '08)

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, kirashi said:

Completely depends on the language used and the competence of the developer. This is why I do web design and development instead of application development - I'm visual and cannot stand all the intricacies of programming logic.

So your web development requires no programming logic?Wat :/

 

On 12/25/2017 at 2:32 AM, straight_stewie said:

I think that we are all forgetting that Arduino and Raspberry Pi are specificially built for people to learn programming with. It's obvious it doesn't take much. In fact, literally all it takes is SAP-1...

Wouldn't it be easier to just buy a cheap desktop/laptop?

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, MyName13 said:

Wouldn't it be easier to just buy a cheap desktop/laptop?

Read the quote when I posted that. I was specifically referring to the fact that all it takes to program something is to have something that is programmable. In other words, I was saying that it's unnecessary to have a beast machine to learn how to program. 

Of course the easiest thing to do is to by something that's ready to go, but that has nothing to do with what we are discussing here...

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, Hotseff said:

-Snip

 

11 hours ago, ElfFriend said:

-Snip-

I'll see your Java and Python and raise you Pong made in VHDL that also had to drive a VGA port and took inputs from a PS/2 keyboard. >:3

 

6 hours ago, MyName13 said:

So your web development requires no programming logic?Wat :/

Web development is a very vague term that encompasses a ton of things about making a web site. You could claim you develop web sites when all your experience was in Wix or whatever Linus was using before and not touch a single line of HTML, CSS, or JavaScript.

 

I started off making web pages in Microsoft FrontPage, though I learned to just hand craft the HTML at some point.

 

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, M.Yurizaki said:

 

Web development is a very vague term that encompasses a ton of things about making a web site. You could claim you develop web sites when all your experience was in Wix or whatever Linus was using before and not touch a single line of HTML, CSS, or JavaScript.

 

I started off making web pages in Microsoft FrontPage, though I learned to just hand craft the HTML at some point.

 

You said "this is why I do web design and development" so I assumed that by development you meant everything related to web development that has nothing to do with design (JS and back end for example)

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, MyName13 said:

You said "this is why I do web design and development" so I assumed that by development you meant everything related to web development that has nothing to do with design (JS and back end for example)

I'm not the person you quoted before. :P

 

Either way, it's a vague term.

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, MyName13 said:

So your web development requires no programming logic?Wat :/

Correct - the web development I do is mostly frontend, and mostly focused on design and layout to provide users with decent navigation and content. There is some logic, especially when I take an existing code snippet and re-factor it to suit my needs at the time, but I don't have to deal with memory management or low-level code that gets compiled before it can run. I'm a high level kind of guy, preferring languages that run through an interpreter at runtime instead, such as PHP, Python, basic Javascript like jQuery, or hell even DOS Batch scripts and PowerShell.

Desktop: KiRaShi-Intel-2022 (i5-12600K, RTX2060) Mobile: OnePlus 5T | Koodo - 75GB Data + Data Rollover for $45/month
Laptop: Dell XPS 15 9560 (the real 15" MacBook Pro that Apple didn't make) Tablet: iPad Mini 5 | Lenovo IdeaPad Duet 10.1
Camera: Canon M6 Mark II | Canon Rebel T1i (500D) | Canon SX280 | Panasonic TS20D Music: Spotify Premium (CIRCA '08)

Link to comment
Share on other sites

Link to post
Share on other sites

22 hours ago, ElfFriend said:

Oh dear, that reminds me of when I wrote Reversi in Python during my first semester... It too was all in one file and a complete mess that required stuff like `###### MAIN FUNCTION #######` just to be able to figure out what each component did.

I knew what everything did I just had to do it because my teacher wanted it at one point done that way 

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, M.Yurizaki said:

I'm not the person you quoted before. :P

 

Either way, it's a vague term.

:o your names are somewhat similar.

 

12 hours ago, kirashi said:

Correct - the web development I do is mostly frontend, and mostly focused on design and layout to provide users with decent navigation and content. There is some logic, especially when I take an existing code snippet and re-factor it to suit my needs at the time, but I don't have to deal with memory management or low-level code that gets compiled before it can run. I'm a high level kind of guy, preferring languages that run through an interpreter at runtime instead, such as PHP, Python, basic Javascript like jQuery, or hell even DOS Batch scripts and PowerShell.

Isn't this something that most developers don't bother with (C#, java, python, go, JS, PHP are high level languages, aren't they)?

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×