# Choix de la machine de référence pour l'étalonnage des poids

**URL:** https://forum.duniter.org/t/choix-de-la-machine-de-reference-pour-letalonnage-des-poids/9067
**Category:** Ğ1v2 protocol
**Created:** [28 January 2022 21:50 UTC](https://forum.duniter.org/t/choix-de-la-machine-de-reference-pour-letalonnage-des-poids/9067 "2022-01-28T21:50:25Z")
**Posts on this page:** 1
**Showing post:** 6

<div class="post-metadata">

### Author: ![elois](https://forum.duniter.org/user_avatar/forum.duniter.org/elois/32/1541_2.png) [@elois](https://forum.duniter.org/u/elois)
#### Post date: [12 June 2022 22:36 UTC](https://forum.duniter.org/t/choix-de-la-machine-de-reference-pour-letalonnage-des-poids/9067/6 "2022-06-12T22:36:59Z")

</div>

Suite à des [**tests concluants sur armv7**](https://forum.duniter.org/t/armv7-duniter-v2s-fonctionne-sur-mon-raspberry-pi-4-binaire-disponible/9432), je propose très officiellement de définir le **«&nbsp;Raspberry Pi 4 Model B - 4GB - SSD USB3&nbsp;»** comme machine de référence.

Du moins dans un 1er temps, car cela va fortement nous limiter en taille de blocs, donc d’ici quelques années nous auront probablement besoin de passer sur une machine de référence plus puissante.

J’ai passé le week-end à mettre en place la structure pour le «&nbsp;weights benchmarking&nbsp;», afin de pouvoir mesurer concrètement quelle taille de bloc nous pourront avoir sur raspberry pi 4.

Pour le moment je n’ai pu benchmarker que les simples transferts de monnaie, mais ça donne déjà un ordre d’idée: j’obtiens des performances à peu près 50 fois plus faible que la machine de référence de Polkadot.

Plus concrètement, on sera limité à 400\* transfers de monnaie par bloc, si le bloc ne contient que ça, donc aucune certif ni aucune création de DU ni rien d’autre.  
Tant qu’on est en dessous de 100 000 utilisateurs ça devrait être suffisant, et l’idée c’est qu’au-delà on aura les moyens de mieux rémunérer les forgerons pour qu’ils puissent investir dans du matériel plus conséquent.

> **\*Calcul du nombre max de transferts par bloc**
>
> On se base sur le call `balances.transfer_keep_alive` qui est le call qui sera utilisé dans la pratique par les wallet, en plus il est moins coûteux que `balances.transfer`.
> 
> D’après le benchmarking, le poids de ce call est `1_414_318_000 + 1 read + 2 writes`.  
> Il faut également ajouter le poids de base d’un extrinsic:
> 
> ```auto
> base_extrinsic: 1 billion
> read: 250 millions
> write: 1 billion
> transfer_keep_alive: 1_414_318_000 + 1 read + 2 writes + base = 1_414_318_000 + 2.25 billions + 1 milliard = 3_664_318_000 ~= 3.66 billions.
> normal.max_block: 1500 billions
> normal.max_block / transfer_keep_alive = 1500 / 3.66 = 409
> 
> ```
> 
> On tombe bien sur environ 400 transferts.

Pour ceux qui souhaitent plus de détails, voici la MR:

> **[Add weights benchmarks (step 1) (!73) · Merge requests · nodes / rust /...](https://git.duniter.org/nodes/rust/duniter-v2s/-/merge_requests/73)**
>
> This is a first MR that create the structure for weights benchmarking, and officially define the reference machine as a Raspberry Pi 4 Model B - 4GB.

---

_[View the full topic](https://forum.duniter.org/t/choix-de-la-machine-de-reference-pour-letalonnage-des-poids/9067)._
