- Houve um relato de que o FreeBSD usa 7% do tempo de boot para fazer bubble sort dos SYSINITs
- O código foi criado em 1996 e, naquela época, havia cerca de 30 SYSINITs para ordenar, mas hoje já são mais de mil, o que passou a consumir bastante tempo
- Em um commit recente, os arrays de SYSINIT foram alterados para
SLIST, permitindo usar merge sort e também tornando mais rápida a adição de novos SYSINITs
- O merge sort é cerca de ~100 vezes mais rápido
- No Firecracker, isso permite economizar 2 ms de um boot total de 28 ms
3 comentários
Para conjuntos de dados abaixo de um certo tamanho, provavelmente fazia sentido usar um código pequeno e fácil de entender.
Por causa desse tipo de decisão, ainda devem existir muitos casos remanescentes de uso de algoritmos lentos.
(Talvez seja preconceito meu, mas) tenho a forte impressão de que, se alguém implicar com isso, será o tipo de pessoa que não ajuda em nada e só reclama.
O FreeBSD usa 7% do tempo de boot para ordenar os SYSINITs com bubble sort
Comentários do Hacker News