Plugins - mesurat
Un worker per cadena o un procés per plugin.
plugin-hostd pot executar una cadena de plugins dins d'un sol procés worker o donar un procés a cada plugin. Aquesta pàgina és una mesura dels dos modes en una Raspberry Pi 5 amb totes les files i amb el que no s'ha mesurat.
01
Què ha sortit.
- Memòria: amb 16 plugins la memòria resident (RSS) és 14 vegades més petita agrupada (125,4 MB contra 1764,6 MB a 48 kHz) i la memòria proporcional (PSS) és 2,8 vegades més petita (42,9 MB contra 118,2 MB).
- CPU: d'1,2 a 1,9 vegades menys agrupada amb 3, 8 i 16 plugins a 48 i 96 kHz.
- Canvis de context: fins a unes 14 vegades menys agrupada, 13,9 a 48 kHz i 14,8 a 96 kHz amb 16 plugins.
- Xruns en les 12 mesures de cada mode: 10 agrupat contra 41 amb un procés per plugin.
La RSS compta una biblioteca compartida una vegada per cada procés que la mapa, de manera que un disseny amb molts processos sembla més gran del que és. La PSS reparteix les pàgines compartides entre els processos que les fan servir, així que és la xifra honesta i es mostren totes dues. No llegeixis la proporció de RSS com l'estalvi de memòria real.
Cada mesura és una finestra de 10 segons i els xruns que hi surten són pocs i mal repartits, de manera que el 10 contra 41 és un indici i no una prova. Llegeix-lo com un recompte i no com una taxa.
02
Com s'ha mesurat.
Raspberry Pi 5 de 4 nuclis amb Zynthian i el governador de CPU en performance durant les mesures. plugin-hostd 0.12.0 amb omx-clap-host 0.22.1 com a worker. N instàncies de plugins omx en sèrie (chorus, comp, deesser, delay, drive, eq8, flanger i geq, per torn), una sinusoide a l'entrada, 256 frames, en un servidor JACK privat amb driver dummy. No s'ha tocat el JACK del sistema en marxa. Els dos modes donen el mateix senyal de sortida (pics iguals dins l'1%).
Cada mesura és una finestra de 10 segons després d'1 segon d'escalfament. N és 3, 8 o 16, la freqüència 48 o 96 kHz i cada combinació amb estrès i sense (8 processos que giren en buit sobre els 4 nuclis). Són 12 mesures de cada mode.
La memòria i la CPU se sumen sobre plugin-hostd i els seus workers. La CPU és un percentatge d'un nucli. Els canvis de context són els voluntaris més els involuntaris de tots els seus fils dins la finestra. DSP és la càrrega de JACK, mitjana i màxima, llegida un cop per segon. Els xruns són les crides de xrun de JACK dins la finestra.
03
Què no s'ha mesurat.
- Només 256 frames. No s'han fet 128 frames.
- Només plugin-hostd amb plugins omx. En aquestes xifres no hi ha cap altre host de plugins ni cap plugin de tercers.
- El planificador d'agrupació que decidirà quins plugins comparteixen worker no forma part d'aquest resultat. Les xifres comparen els dos modes fixos i cap valor per defecte no ha canviat per elles.
- La càrrega DSP i els xruns són els del driver dummy de JACK. No es fa cap afirmació sobre maquinari d'àudio real.
04
Les proporcions.
Un procés per plugin dividit per agrupat, sense estrès. Els processos es mostren com individual / agrupat. En CPU i canvis de context una proporció superior a 1 vol dir que la mesura agrupada n'ha fet servir menys.
| Freqüència (Hz) | Plugins | Processos | RSS | PSS | CPU | Canvis de context |
|---|---|---|---|---|---|---|
| 48000 | 3 | 4 / 2 | 2.92x | 1.90x | 1.24x | 2.71x |
| 48000 | 8 | 9 / 2 | 7.46x | 2.60x | 1.62x | 7.02x |
| 48000 | 16 | 17 / 2 | 14.07x | 2.76x | 1.86x | 13.92x |
| 96000 | 3 | 4 / 2 | 2.92x | 1.90x | 1.21x | 2.83x |
| 96000 | 8 | 9 / 2 | 7.46x | 2.60x | 1.43x | 7.41x |
| 96000 | 16 | 17 / 2 | 14.07x | 2.76x | 1.60x | 14.78x |
05
Totes les files.
Les 24 mesures tal com han sortit. Memòria en MB, CPU en percentatge d'un nucli, DSP com a mitjana / màxim en percentatge.
| Freqüència (Hz) | Plugins | Estrès | Mode | Processos | Clients JACK | RSS MB | PSS MB | CPU % | Canvis de context | DSP mitjana / màx. % | Xruns |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 48000 | 3 | no | agrupat | 2 | 1 | 113.4 | 31.0 | 2.1 | 2795 | 2.1 / 2.27 | 0 |
| 48000 | 3 | no | un per plugin | 4 | 3 | 331.0 | 59.0 | 2.6 | 7579 | 2.34 / 2.37 | 0 |
| 48000 | 3 | sí | agrupat | 2 | 1 | 113.4 | 30.9 | 2.4 | 2838 | 2.11 / 2.23 | 0 |
| 48000 | 3 | sí | un per plugin | 4 | 3 | 330.9 | 58.9 | 2.7 | 7616 | 2.4 / 2.45 | 0 |
| 48000 | 8 | no | agrupat | 2 | 1 | 118.1 | 35.6 | 3.9 | 2793 | 3.86 / 3.88 | 0 |
| 48000 | 8 | no | un per plugin | 9 | 8 | 881.6 | 92.7 | 6.3 | 19612 | 4.86 / 4.9 | 0 |
| 48000 | 8 | sí | agrupat | 2 | 1 | 118.1 | 35.6 | 4 | 2809 | 3.89 / 3.99 | 0 |
| 48000 | 8 | sí | un per plugin | 9 | 8 | 881.7 | 92.6 | 6.49 | 19820 | 4.92 / 5.33 | 0 |
| 48000 | 16 | no | agrupat | 2 | 1 | 125.4 | 42.9 | 7.2 | 2801 | 7.25 / 7.29 | 0 |
| 48000 | 16 | no | un per plugin | 17 | 16 | 1764.6 | 118.2 | 13.39 | 38985 | 9.83 / 9.98 | 0 |
| 48000 | 16 | sí | agrupat | 2 | 1 | 125.4 | 42.9 | 7.3 | 2795 | 7.24 / 7.31 | 0 |
| 48000 | 16 | sí | un per plugin | 17 | 16 | 1764.5 | 118.0 | 13.15 | 39219 | 9.94 / 12.49 | 18 |
| 96000 | 3 | no | agrupat | 2 | 1 | 113.4 | 31.0 | 3.8 | 4678 | 4.05 / 4.11 | 0 |
| 96000 | 3 | no | un per plugin | 4 | 3 | 330.9 | 59.0 | 4.6 | 13233 | 4.52 / 4.57 | 0 |
| 96000 | 3 | sí | agrupat | 2 | 1 | 113.4 | 30.9 | 3.9 | 4749 | 4.16 / 4.26 | 0 |
| 96000 | 3 | sí | un per plugin | 4 | 3 | 330.9 | 59.0 | 4.8 | 13397 | 4.62 / 4.82 | 0 |
| 96000 | 8 | no | agrupat | 2 | 1 | 118.1 | 35.6 | 7.5 | 4679 | 7.62 / 7.79 | 2 |
| 96000 | 8 | no | un per plugin | 9 | 8 | 881.5 | 92.7 | 10.69 | 34674 | 9.38 / 9.45 | 0 |
| 96000 | 8 | sí | agrupat | 2 | 1 | 118.1 | 35.6 | 7.4 | 4696 | 7.59 / 7.76 | 3 |
| 96000 | 8 | sí | un per plugin | 9 | 8 | 881.7 | 92.6 | 11.38 | 34875 | 9.53 / 10.15 | 10 |
| 96000 | 16 | no | agrupat | 2 | 1 | 125.4 | 42.9 | 14.2 | 4700 | 14.41 / 14.79 | 0 |
| 96000 | 16 | no | un per plugin | 17 | 16 | 1764.5 | 118.2 | 22.68 | 69466 | 19.16 / 22.33 | 13 |
| 96000 | 16 | sí | agrupat | 2 | 1 | 125.4 | 42.9 | 14.2 | 4717 | 14.37 / 14.61 | 5 |
| 96000 | 16 | sí | un per plugin | 17 | 16 | 1764.4 | 118.0 | 23.33 | 76520 | 19.52 / 19.94 | 0 |
Els plugins mateixos es descriuen a la pàgina dels plugins que porten els paquets.