Són dos nuclis bons per programar?
programació i factors humans
Les CPU de doble nucli són l'estàndard avui, i per una bona raó -- hi ha millores considerables, les millores de rendiment del dimoni a guanyar de tenir una segona CPU en mantenir peticions que la primera CPU estigui massa ocupada per a manejar. Si res més, CPU duals que et protegeixen del programari escrit malament ; si un programa de fallada consumeix tot el possible temps de CPU, tot el que pot obtenir és el 50% de la vostra CPU. Encara hi ha una altra CPU disponible per assegurar-se que el sistema operatiu et pot deixar matar CrashyApp 5.80 SP1 Enterprise Edition d'una manera raonable. És el Sistema d' amics En forma de silici.
En la meva opinió, les CPU quadràries encara són un descartadesó d'electricitat A menys que els posis en un servidor. Quatre nuclis a l' escriptori és genial per presumir de drets i superioritat matemàtica (yep, 4 > 2), però aquests quatre nuclis No proporcionis cap millora de punts de referència En el tipus d'aplicacions que la majoria de la gent fa servir. Incloent les eines de desenvolupament de programari.
És lamentable, perquè aquesta declaració va afectar la resta de l'entrada. Tot el que volia fer aquí és encoratjar la gent a fer-ne un. Informació@ title: column decisió en seleccionar una CPU . De debò, escolliu qualsevol CPU que vulgueu, la part important d' aquest article no té por d' actualitzar el vostre PC. Asofar com el paràgraf anterior distret lectors d'aquest objectiu, em disculpo.
No obstant això, tinc fortes sentiments sobre aquest tema. Tot sovint veig als usuaris seduïts pel departament de màrqueting de la Intel·ligència, suposant que si dos nuclis de la CPU és més ràpid que un nucli de CPU, llavors, bé. quatre, vuit o setze ha de ser Bojament De pressa! I surt de la seva cartera. Em temo que molts usuaris s'aprofiten de màrqueting i que acaben pagant una major gràcia per a fer-ho, per a ells, mai es materialitzaran. És com els mals temps del Pentiuni 4 altra vegada, excepte per velocitats del rellotge absurd de megahertz, substitut un nombre absurd de nuclis de la CPU.
Vull que la gent ho entengui. Només hi ha un grapat d' aplicacions que realment poden beneficiar- se de més de 2 nuclis de la CPU , i tendeixen a barrejar molt al voltant d'algunes àrees especialitzades. Per a mi, tot és sobre el DeVició dades , i els punts de referència no mostren cap raó convincent per anar quadre a menys que feu regularment un dels següents:
- "prip" o codificar vídeo
- Captura d' escenes 3D professionalment
- Executa simulacions científiques
Si sovint fas alguna de les anteriors, hi ha cap pregunta que un qua-core (o octa-core) és la decisió correcta. Però aquesta és simplement la meva recomanació basant-me en les dades de referència, no en el fet de roba de ferro. Són els teus diners. Gasta'l com t'agrada. L'únic que proposa és que tu ho gastes perfectament.
Ah, però llavors hi ha la Argument de formatació . Imploro comentaris que es van sentir fermament sobre els beneficis del pati que em apunten a fer referència a punts de referència que van mostrar una profunda diferència en l'actuació entre 2 i més de la CPU-2. És curiós. La xarxa és un rentat en zil·lacions de llocs web de repàs de maquinari, tot i que amb prou feines es pot trobar cap referència a les referències sobre qualsevol d'elles. Crec que és perquè La quantitat de formatació necessària per carregar seriosament més de dos nuclis de la CPU en l'absurd , com a Punts d' Anand :
Quan estàvem tractant de pensar en les noves referències de flexibilitat a realment d'estrès Kentsfield i Quad FX [quad-core] plataformes que vam seguir corrent en aquests escenaris interessants però bastant fora d'allà fora que van fer una gran feina d'estrès dels nostres llits de proves, però un treball terrible i fent un cas per com es podia utilitzar el Quad-core avui en dia.
Tot i així, el que es trobarà és que aquest punt de referència s'absté de nou i altra vegada :
Com la majoria de les aplicacions de l'escriptori d'avui, incloent les seves aplicacions de component, World Bennet no guanya gaire més de dos nuclis de la CPU.
Això va dir, crec que vaig cometre un error en la meva declaració original. Els desenvolupadors de programari no són típics usuaris . De fet, podeu crear un cas raonable que els desenvolupadors de programari són gairebé per condicions de definició i per tant haurien de Cerca Nombres de CPU confidencials, com Kevin Va dir en els comentaris:
Com suggeriríeu que els desenvolupadors escriguin aplicacions (això és el que som, i què fem, oi?) que pot aprofitar 4, 8, etc... els nuclis de la CPU si estem executant el solo o el doble de sistemes de nucli? He posat això allà mateix amb múltiples monitors. Els desenvolupadors els necessiten, i no només per millorar la productivitat, sinó perquè no s'aguanten tan malament com la seva aplicació corre per múltiples monitors llevat que realment l'utilitzin. El mateix és cert amb CPU multi-core.
Tinc dues respostes a això. Un d'ells probablement no t'agradarà.
Comencem pel primer. Estic totalment d'acord que és important que els desenvolupadors de programari considerin desenvolupament de programari multicore I tenir-ne un al seu escriptori és un prerequisit. En principi vaig escriure sobre aquesta manera, de tornada el 2004 Fimbrant, tranquil·lència, i l'especes psiquia més potent de l'univers . De fet, dues de les persones que vaig citar en aquest antic article -- líders reals en el camp de programació recurrent - ambdues van publicar respostes directes al meu article ahir, i es mereixen una resposta.
Eh? Paint.NET, per a un, mostra grans beneficis en el Quad-core i els sistemes duals. N'hi ha fins i tot un punt de referència . Diria que això es considera "l'aplicació que la majoria de la gent utilitza."
Té tota la raó. Un quadr-cora Q6700 @ 2.66 GHz trunxa el meu doble-core E8500 @ 4.00 GHz en aquesta referència, fins a la melodia de 26 segons contra 31 segons. Però amb tot el respecte a en Rick, i de debò, m'encanta. Pinta.NET i el seu codi multifil és increïble -- sento aquests tests de referència especialitzats (i altament paral·lel) filtres més que funcionalitat bàsica. Hi ha una llarga història de Anomenció de referència Photoshop Al llarg de les mateixes línies, és el cas de representació 3D menys una dimensió. Si passes una part significativa del teu dia a Photoshop, hauries de triar la plataforma que el dirigeixi més ràpid.
- Excel- 2007 ho fa Reinstal·la paral· lel . Assumint que el full de càlcul és gran i no conté dependències seqüencials entre cel· les, normalment s' escala linealment fins a almenys 8 nuclis.
Heb és un expert en la indústria en programació recurrent i guru general C++, i és clar que té raó en tots tres nivells. M'havia oblidat del tot de la compilació C++, o potser és més just dir L'he bloquejat . Què esperes d'un noi amb un llinatge de BASIC? Compilació el temps és una enorme pèrdua de productivitat per als desenvolupadors de C++ que treballen en grans projectes. Compilació del temps usant gcc i hora make - j < # dels nuclis + 1> És l'avi de tots els telegrames multi-core per programadors. Aquí hi ha un resultat representant per a Compilant la font LAME 3. 97 :
Els nombres absoluts semblen molt petits, però els percentatges són increïblement convincents, especialment com s'afegeixen al nombre de vegades que compilas cada dia. Si ets un desenvolupador C++, tu necessita Una CPU quadró ahir. Demana-m'ho.
Però què passa amb nosaltres els desenvolupadors de codi gestionats, amb la nostra falta de punters i assignacions de memòria explícites? Heb ha mencionat que el projecte paral·lel crea l' arranjament en Visual Studio 2008; està sota Eines, Opcions, projectes i solucions, construcció i execució.
Com vaig prometre, és per omissió el nombre de nuclis que tinc al meu PC, dos. He baixat el projecte NET molt més gran que podria pensar en la part superior del meu cap, SharpDevelopCity name (optional, probably does not need a translation) . La solució és satisfactòriament enorme; conté 60 projectes. Ho vaig compilar unes quantes vegades a Visual Studio 2008, però el gestor de tasques no mostrava gaire ús de ni tan sols els meus petits dos nuclis:
Vaig veure uns quants pics per sobre del 50%, però és un resultat horrible de tepid comparat amb el make - j4 Un. No veig res aquí que indica qualsevol tipus de possible millora del rendiment del codi gestionat des de moure's a més de 2 nuclis. Sóc una mica curiós si els compiladors Java (o d'altres com ara el llenguatge) fan una millor feina d'això.
Tornar a la pregunta d'en Kevin: sí, si sou un desenvolupador de programari escrivint una aplicació d' escriptori que té alguna cosa remotament paral· lelable en ella, Hauríeu de tenir el nombre de nuclis de la CPU a l' escriptori que necessiteu provar i depurar el codi . Suggereixo començar amb un objectiu d'escalar bé a dos nuclis, ja que sembla ser la part més difícil del viatge. Més enllà d'això, bona sort i Déu velocitat, perquè tot el que he llegit sobre el tema de l'escriptura escalable, el programari recurrent surt de la seva manera d'explicar en detall terriblement difícil és escriure aquest tipus de codi.
Aquesta és la segona part de la resposta que et vaig prometre abans. El que potser no t'agradi. La majoria de desenvolupadors No ho són S' està escrivint aplicacions d' escriptori avui. Estan escrivint aplicacions web. Molts d'ells poden estar escrivint en llenguatges d'script que no són compilats, però interpretades com Ruby o Python o PHP. Merda, probablement ni tan sols estan filejats. I tot i així, aquest codi aconsegueix nivells massius d'acordància, escala a grans conjunts de treball, i porta algunes de les pàgines web més grans d'Internet. Tot això, sense pensar en una inotació, fil o retendentància. És una mica màgic, si hi penses.
En el sentit que els desenvolupadors principals són un servidor modelant els carregadors dels seus escriptoris, estic d'acord, estan d'acord, do Probablement necessiten tants nuclis com puguin aconseguir.
Artículos Relacionados:
- Quants nuclis necessito per programar?
- Quin nucli és millor per programar?
- Els portàtils Ryzen són bons per programar?
- Com puc aconseguir que un programa utilitzi múltiples nuclis?
- Processador -