[{"data":1,"prerenderedAt":33},["ShallowReactive",2],{"note-cpu-idle-states-and-plugin-hosting-ca":3},{"slug":4,"order":5,"title":6,"summary":7,"measured":8,"topic":9,"toc":10,"html":32},"cpu-idle-states-and-plugin-hosting",150,"\"Estats de repòs de la CPU i allotjament de plugins: què s'hi guanya retenint cpu_dma_latency\"","Retenir \u002Fdev\u002Fcpu_dma_latency a 10 µs, perquè cap nucli no dormi més profund que C1, retalla de tres a cinc vegades el cicle del graf d'àudio en tots els amfitrions mesurats i n'elimina els excessos, per un o quatre watts; retenir-lo a 0 costa seixanta watts per una mica més. Amb la retenció, l'avantatge de mod-host sobre els altres amfitrions desapareix.","Un ordinador de taula Intel Core Ultra 9 275HX (8 nuclis de rendiment i 16 d'eficiència), Fedora 44, nucli 7.2, PipeWire 1.6.9, 96 i 48 kHz a 128 mostres, octubre del 2026.","core",[11,14,17,20,23,26,29],{"id":12,"title":13},"la-pregunta","La pregunta",{"id":15,"title":16},"la-maquina","La màquina",{"id":18,"title":19},"tot-el-graf","Tot el graf",{"id":21,"title":22},"que-en-surt","Què en surt",{"id":24,"title":25},"per-plugin","Per plugin",{"id":27,"title":28},"jalv-com-zynthian-fa-correr-una-capa","jalv, com Zynthian fa córrer una capa",{"id":30,"title":31},"advertiments","Advertiments","\u003Ch2 id=\"la-pregunta\">La pregunta\u003C\u002Fh2>\n\u003Cp>La biblioteca de l'amfitrió pot retenir \u003Ccode>\u002Fdev\u002Fcpu_dma_latency\u003C\u002Fcode> mentre corre, cosa que diu al nucli del sistema que no posi\ncap nucli de la CPU en un estat de repòs la sortida del qual trigui més que aquest valor. Els mateixos plugins es van fer\ncórrer a través de mod-host, omx-clap-host (CLAP i l'adaptador LV2), el nivell dins del procés, plugin-hostd i jalv, amb el\ndispositiu retingut a res, a 10 µs (només C1, el valor per defecte) i a 0 (cap estat de repòs).\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>camí\u003C\u002Fth>\n\u003Cth>què reté el dispositiu\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>omx-clap-host, CLAP i adaptador\u003C\u002Ftd>\n\u003Ctd>el seu propi `--idle-hold=&lt;off\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>CLAP i LV2 dins del procés\u003C\u002Ftd>\n\u003Ctd>la mateixa crida de biblioteca que fa el nivell dins del procés de la consola\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>plugin-hostd\u003C\u002Ftd>\n\u003Ctd>el seu worker, omx-clap-host, amb l'opció passada\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>mod-host, jalv\u003C\u002Ftd>\n\u003Ctd>res de propi: el banc de proves manté oberta la mateixa petició durant l'execució, com ho faria un script de configuració\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>&quot;Off&quot; és la màquina en repòs: el seu perfil de tuned retenia el dispositiu a 4000 µs, que no refusa cap estat (C3 surt en\n1048 µs). Les tres retencions s'intercalaven a cada repetició, de manera que una deriva de la màquina al llarg de l'hora no\ncoincideix amb una sola retenció. Les files CLAP porten set plugins, les LV2 vuit.\u003C\u002Fp>\n\u003Ch2 id=\"la-maquina\">La màquina\u003C\u002Fh2>\n\u003Cp>Intel Core Ultra 9 275HX (8 nuclis de rendiment i 16 d'eficiència, 24 fils), el governador de rendiment, \u003Ccode>intel_idle\u003C\u002Fcode> amb el\ngovernador menu, estats POLL, C1 (1 µs), C2 (127 µs) i C3 (1048 µs), tots activats. Els watts són el comptatge RAPL del\npaquet, integrat sobre la finestra de 30 s de cada execució. Un altre graf d'àudio en temps real corria a la mateixa màquina\ni és dins de cada xifra de watts: només signifiquen alguna cosa les diferències entre retencions, no el nivell.\u003C\u002Fp>\n\u003Ch2 id=\"tot-el-graf\">Tot el graf\u003C\u002Fh2>\n\u003Cp>El final del cicle és el temps del controlador des del despertar fins que acaba l'últim node; els excessos són els cicles que\nhan acabat després del seu període. 96 kHz, 128 mostres (període de 1333 µs), mediana de tres repeticions:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>camí\u003C\u002Fth>\n\u003Cth>retenció\u003C\u002Fth>\n\u003Cth>final del cicle p50 µs\u003C\u002Fth>\n\u003Cth>final del cicle p99 µs\u003C\u002Fth>\n\u003Cth>excessos \u002F 30 s\u003C\u002Fth>\n\u003Cth>CPU de l'amfitrió %\u003C\u002Fth>\n\u003Cth>RSS MiB\u003C\u002Fth>\n\u003Cth>W del paquet\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>mod-host\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>235\u003C\u002Ftd>\n\u003Ctd>675\u003C\u002Ftd>\n\u003Ctd>19\u003C\u002Ftd>\n\u003Ctd>20,7\u003C\u002Ftd>\n\u003Ctd>41,0\u003C\u002Ftd>\n\u003Ctd>19,4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>mod-host\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>74\u003C\u002Ftd>\n\u003Ctd>116\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>8,6\u003C\u002Ftd>\n\u003Ctd>41,0\u003C\u002Ftd>\n\u003Ctd>18,6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>mod-host\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>27\u003C\u002Ftd>\n\u003Ctd>47\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>3,7\u003C\u002Ftd>\n\u003Ctd>40,9\u003C\u002Ftd>\n\u003Ctd>79,3\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-clap-host CLAP\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>324\u003C\u002Ftd>\n\u003Ctd>720\u003C\u002Ftd>\n\u003Ctd>14\u003C\u002Ftd>\n\u003Ctd>16,5\u003C\u002Ftd>\n\u003Ctd>42,6\u003C\u002Ftd>\n\u003Ctd>17,9\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-clap-host CLAP\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>103\u003C\u002Ftd>\n\u003Ctd>183\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>10,4\u003C\u002Ftd>\n\u003Ctd>42,4\u003C\u002Ftd>\n\u003Ctd>20,1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-clap-host CLAP\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>41\u003C\u002Ftd>\n\u003Ctd>103\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>4,4\u003C\u002Ftd>\n\u003Ctd>42,5\u003C\u002Ftd>\n\u003Ctd>79,6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-clap-host adaptador\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>355\u003C\u002Ftd>\n\u003Ctd>756\u003C\u002Ftd>\n\u003Ctd>26\u003C\u002Ftd>\n\u003Ctd>15,8\u003C\u002Ftd>\n\u003Ctd>28,8\u003C\u002Ftd>\n\u003Ctd>18,0\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-clap-host adaptador\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>72\u003C\u002Ftd>\n\u003Ctd>120\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>8,6\u003C\u002Ftd>\n\u003Ctd>28,8\u003C\u002Ftd>\n\u003Ctd>19,2\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-clap-host adaptador\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>26\u003C\u002Ftd>\n\u003Ctd>42\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>3,8\u003C\u002Ftd>\n\u003Ctd>28,7\u003C\u002Ftd>\n\u003Ctd>79,7\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>CLAP dins del procés\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>369\u003C\u002Ftd>\n\u003Ctd>797\u003C\u002Ftd>\n\u003Ctd>39\u003C\u002Ftd>\n\u003Ctd>18,8\u003C\u002Ftd>\n\u003Ctd>40,5\u003C\u002Ftd>\n\u003Ctd>17,8\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>CLAP dins del procés\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>101\u003C\u002Ftd>\n\u003Ctd>186\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>10,9\u003C\u002Ftd>\n\u003Ctd>40,9\u003C\u002Ftd>\n\u003Ctd>19,5\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>CLAP dins del procés\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>43\u003C\u002Ftd>\n\u003Ctd>80\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>4,8\u003C\u002Ftd>\n\u003Ctd>40,6\u003C\u002Ftd>\n\u003Ctd>79,6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>LV2 dins del procés\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>392\u003C\u002Ftd>\n\u003Ctd>768\u003C\u002Ftd>\n\u003Ctd>17\u003C\u002Ftd>\n\u003Ctd>18,2\u003C\u002Ftd>\n\u003Ctd>24,6\u003C\u002Ftd>\n\u003Ctd>17,6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>LV2 dins del procés\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>72\u003C\u002Ftd>\n\u003Ctd>127\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>9,6\u003C\u002Ftd>\n\u003Ctd>24,6\u003C\u002Ftd>\n\u003Ctd>19,4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>LV2 dins del procés\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>26\u003C\u002Ftd>\n\u003Ctd>44\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>3,8\u003C\u002Ftd>\n\u003Ctd>24,6\u003C\u002Ftd>\n\u003Ctd>79,6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>plugin-hostd\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>224\u003C\u002Ftd>\n\u003Ctd>644\u003C\u002Ftd>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>26,1\u003C\u002Ftd>\n\u003Ctd>91,4\u003C\u002Ftd>\n\u003Ctd>18,1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>plugin-hostd\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>82\u003C\u002Ftd>\n\u003Ctd>139\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>16,5\u003C\u002Ftd>\n\u003Ctd>91,5\u003C\u002Ftd>\n\u003Ctd>19,5\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>plugin-hostd\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>27\u003C\u002Ftd>\n\u003Ctd>140\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>7,2\u003C\u002Ftd>\n\u003Ctd>91,6\u003C\u002Ftd>\n\u003Ctd>79,8\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>jalv\u003C\u002Ftd>\n\u003Ctd>off\u003C\u002Ftd>\n\u003Ctd>341\u003C\u002Ftd>\n\u003Ctd>816\u003C\u002Ftd>\n\u003Ctd>23\u003C\u002Ftd>\n\u003Ctd>16,6\u003C\u002Ftd>\n\u003Ctd>109,4\u003C\u002Ftd>\n\u003Ctd>21,1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>jalv\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>72\u003C\u002Ftd>\n\u003Ctd>121\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>8,2\u003C\u002Ftd>\n\u003Ctd>109,3\u003C\u002Ftd>\n\u003Ctd>20,7\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>jalv\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>26\u003C\u002Ftd>\n\u003Ctd>50\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>3,4\u003C\u002Ftd>\n\u003Ctd>109,4\u003C\u002Ftd>\n\u003Ctd>78,9\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>A 48 kHz i 128 mostres passa el mateix amb xifres més altes: de 243 a 439 µs en repòs, de 80 a 118 a 10 i de 26 a 49 a 0 i\ncap camí no va tenir excessos amb cap retenció.\u003C\u002Fp>\n\u003Ch2 id=\"que-en-surt\">Què en surt\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>La retenció a 10 µs retalla de tres a cinc vegades el final del cicle en tots els camins i l'avantatge de mod-host\ndesapareix.\u003C\u002Fstrong> Sense retenció, mod-host i plugin-hostd acaben els cicles a 224 o 235 µs, on omx-clap-host i el nivell dins\ndel procés en triguen de 324 a 392. A 10, tots els camins són entre 72 i 103 µs; a 0, entre 26 i 43. L'avantatge de\nmod-host en repòs eren els nuclis que els seus clients de més mantenien desperts; quan cap nucli no dorm més enllà de C1,\nels amfitrions són iguals per a un conjunt de plugins. Les dues files CLAP queden uns 30 µs per sobre de les LV2 amb\nqualsevol retenció: és el cost propi dels camins CLAP, no un efecte del repòs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Els excessos se'n van amb ella\u003C\u002Fstrong>: de 14 a 39 cada 30 s sense retenció a 96 kHz, 0 o 1 a 10.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>10 µs costa d'un a quatre watts; 0 en costa seixanta.\u003C\u002Fstrong> A 96 kHz, la retenció a 10 marca d'1,2 a 2,2 W més que en repòs\na la majoria de camins; a 48 kHz, d'1,6 a 3,7 W més, perquè els nuclis tenen el doble de temps per dormir entre cicles. La\nretenció a 0 refusa fins i tot C1, de manera que cada fil fa espera activa entre cicles: de 58 a 64 W més, quatre vegades\nla potència del paquet, per 45 a 60 µs més de final del cicle. Per això 10 µs és el valor per defecte i 0 només una tria\nexplícita.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>La CPU de l'amfitrió és temps de rellotge\u003C\u002Fstrong>, de manera que baixa quan els cicles s'escurcen; no és que l'amfitrió\ntreballi menys.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>La memòria no es mou amb la retenció.\u003C\u002Fstrong> Entre camins: LV2 dins del procés 25 MiB, l'adaptador 29, mod-host i les files\nCLAP de 41 a 43, plugin-hostd 91 (el dimoni i el seu worker), jalv 109 per a vuit processos.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"per-plugin\">Per plugin\u003C\u002Fh2>\n\u003Cp>El temps propi del node per cicle (el plugin més el que fa el seu amfitrió dins del cicle del node), 96 kHz, 128 mostres,\nmediana de tres repeticions, µs, retenció off \u002F 10 \u002F 0:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>plugin\u003C\u002Fth>\n\u003Cth>mod-host\u003C\u002Fth>\n\u003Cth>omx-clap-host CLAP\u003C\u002Fth>\n\u003Cth>adaptador\u003C\u002Fth>\n\u003Cth>CLAP dins del procés\u003C\u002Fth>\n\u003Cth>LV2 dins del procés\u003C\u002Fth>\n\u003Cth>plugin-hostd\u003C\u002Fth>\n\u003Cth>jalv\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>omx-comp\u003C\u002Ftd>\n\u003Ctd>3,8 \u002F 2,7 \u002F 2,4\u003C\u002Ftd>\n\u003Ctd>4,6 \u002F 5,4 \u002F 2,7\u003C\u002Ftd>\n\u003Ctd>3,1 \u002F 4,1 \u002F 2,4\u003C\u002Ftd>\n\u003Ctd>3,9 \u002F 3,5 \u002F 3,5\u003C\u002Ftd>\n\u003Ctd>3,3 \u002F 3,3 \u002F 3,2\u003C\u002Ftd>\n\u003Ctd>5,5 \u002F 5,6 \u002F 2,6\u003C\u002Ftd>\n\u003Ctd>2,6 \u002F 2,4 \u002F 2,2\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-delay\u003C\u002Ftd>\n\u003Ctd>2,2 \u002F 1,2 \u002F 0,9\u003C\u002Ftd>\n\u003Ctd>2,8 \u002F 1,3 \u002F 0,8\u003C\u002Ftd>\n\u003Ctd>3,4 \u002F 1,5 \u002F 0,9\u003C\u002Ftd>\n\u003Ctd>5,0 \u002F 3,7 \u002F 1,6\u003C\u002Ftd>\n\u003Ctd>5,6 \u002F 3,9 \u002F 1,8\u003C\u002Ftd>\n\u003Ctd>3,1 \u002F 2,3 \u002F 1,0\u003C\u002Ftd>\n\u003Ctd>4,0 \u002F 2,0 \u002F 0,8\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-deesser\u003C\u002Ftd>\n\u003Ctd>4,6 \u002F 5,7 \u002F 3,3\u003C\u002Ftd>\n\u003Ctd>6,1 \u002F 6,7 \u002F 3,6\u003C\u002Ftd>\n\u003Ctd>5,5 \u002F 5,8 \u002F 3,4\u003C\u002Ftd>\n\u003Ctd>8,2 \u002F 8,2 \u002F 3,9\u003C\u002Ftd>\n\u003Ctd>7,6 \u002F 7,6 \u002F 3,4\u003C\u002Ftd>\n\u003Ctd>6,1 \u002F 6,2 \u002F 3,4\u003C\u002Ftd>\n\u003Ctd>5,5 \u002F 5,7 \u002F 3,2\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-eq8\u003C\u002Ftd>\n\u003Ctd>1,7 \u002F 1,2 \u002F 0,6\u003C\u002Ftd>\n\u003Ctd>1,9 \u002F 1,1 \u002F 0,5\u003C\u002Ftd>\n\u003Ctd>2,4 \u002F 1,5 \u002F 0,6\u003C\u002Ftd>\n\u003Ctd>4,6 \u002F 2,7 \u002F 1,5\u003C\u002Ftd>\n\u003Ctd>5,4 \u002F 3,1 \u002F 1,4\u003C\u002Ftd>\n\u003Ctd>2,5 \u002F 2,0 \u002F 0,7\u003C\u002Ftd>\n\u003Ctd>2,3 \u002F 1,4 \u002F 0,5\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>omx-reverb\u003C\u002Ftd>\n\u003Ctd>5,8 \u002F 7,7 \u002F 3,7\u003C\u002Ftd>\n\u003Ctd>5,7 \u002F 7,3 \u002F 3,2\u003C\u002Ftd>\n\u003Ctd>6,3 \u002F 7,7 \u002F 3,5\u003C\u002Ftd>\n\u003Ctd>8,2 \u002F 8,5 \u002F 4,5\u003C\u002Ftd>\n\u003Ctd>8,5 \u002F 8,8 \u002F 4,0\u003C\u002Ftd>\n\u003Ctd>8,0 \u002F 8,6 \u002F 3,9\u003C\u002Ftd>\n\u003Ctd>6,5 \u002F 7,0 \u002F 3,2\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>ZamCompX2\u003C\u002Ftd>\n\u003Ctd>3,8 \u002F 4,6 \u002F 2,4\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>4,4 \u002F 5,0 \u002F 2,5\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>6,7 \u002F 6,6 \u002F 3,1\u003C\u002Ftd>\n\u003Ctd>5,2 \u002F 5,5 \u002F 2,7\u003C\u002Ftd>\n\u003Ctd>4,1 \u002F 4,6 \u002F 2,4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>caps PlateX2\u003C\u002Ftd>\n\u003Ctd>5,7 \u002F 9,4 \u002F 4,4\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>6,2 \u002F 9,7 \u002F 4,3\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>8,8 \u002F 11,2 \u002F 5,2\u003C\u002Ftd>\n\u003Ctd>7,1 \u002F 9,8 \u002F 4,6\u003C\u002Ftd>\n\u003Ctd>6,0 \u002F 8,8 \u002F 4,3\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>caps CompressX2\u003C\u002Ftd>\n\u003Ctd>9,8 \u002F 16,8 \u002F 8,5\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>10,2 \u002F 16,8 \u002F 8,6\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>12,8 \u002F 19,0 \u002F 9,7\u003C\u002Ftd>\n\u003Ctd>11,6 \u002F 17,4 \u002F 7,9\u003C\u002Ftd>\n\u003Ctd>10,0 \u002F 16,7 \u002F 8,4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>compressor LSP\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>5,7 \u002F 4,8 \u002F 2,0\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>8,3 \u002F 6,0 \u002F 2,8\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Dragonfly Room\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>28,0 \u002F 49,6 \u002F 25,0\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>31,5 \u002F 51,1 \u002F 26,7\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003Ctd>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cul>\n\u003Cli>\u003Cstrong>Entre amfitrions, amb una mateixa retenció, un plugin costa el mateix amb una diferència d'un o dos microsegons.\u003C\u002Fstrong> Les\nfiles dins del procés marquen d'un a tres microsegons més en els plugins lleugers: les proteccions per bloc que aplica el\nnivell dins del procés (una limitació i una revisió de valors no finits), que els amfitrions per sòcol no apliquen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>L'efecte de la retenció per node no és monòton.\u003C\u002Fstrong> De repòs a 10, els plugins lleugers van més de pressa però els pesants\nmés a poc a poc, en tots els amfitrions igual: un compressor passa d'uns 10 a 17 µs, una reverb de 28 a 50. A 0 tot és més\nràpid. Tot el graf continua guanyant a 10, perquè la sortida de l'estat de repòs que elimina és de centenars de\nmicrosegons.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Es van fer dues comprovacions per a aquest alentiment i cap no l'explica. La col·locació als nuclis: els fils de temps real\nde l'amfitrió eren en nuclis de rendiment el 65 % del temps en repòs, el 77 % a 10 i el 61 % a 0, de manera que la retenció\nmés lenta és la que tenia més temps en nuclis de rendiment. Els rellotges: la part no nuclear es va mantenir al seu màxim\namb totes les retencions i els nuclis marcaven de 3,8 a 4,6 GHz en repòs i a 10. Per tant, una reverb o un compressor amb\nanticipació corren més a poc a poc per cicle amb tots els nuclis aturats a C1, en tots els amfitrions i aquesta execució no\ndiu per què. El guany de tot el graf hi és per sobre en un ordre de magnitud.\u003C\u002Fp>\n\u003Ch2 id=\"jalv-com-zynthian-fa-correr-una-capa\">jalv, com Zynthian fa córrer una capa\u003C\u002Fh2>\n\u003Cp>Un procés \u003Ccode>jalv -i\u003C\u002Fcode> per plugin, vuit processos, la versió LV2 del mateix conjunt:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Vuit processos costen el mateix cicle que un.\u003C\u002Fstrong> Amb la retenció a 10, jalv acaba el cicle a 72 µs contra 72 a 74 de\nmod-host i de l'adaptador en un sol procés; a 0, 26 contra 26 o 27.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Costen memòria i una mica de potència\u003C\u002Fstrong>: 109 MiB per a vuit processos jalv contra 29 a 41 per a un sol procés amb els\nmateixos plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Els cicles de la sonda de jalv arriben tard més sovint\u003C\u002Fstrong> amb totes les retencions, tot i que els seus temps de node per\nplugin són els de tothom.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>La GUI d'un plugin mostrada en un servidor X virtual no canvia gens el cicle\u003C\u002Fstrong> i costa 94 MiB i prop d'un watt.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"advertiments\">Advertiments\u003C\u002Fh2>\n\u003Cp>Una màquina, un conjunt de plugins, finestres de 30 s, tres repeticions. Les files dins del procés són el petit amfitrió\npropi del banc de proves fent les mateixes crides de biblioteca que el nivell de la consola, no la consola mateixa.\u003C\u002Fp>\n",1793954996520]