evomassiny
Joined 9 years ago
Joined 9 years ago
```
INSTRUCTION_1:
// subroutine 1
ip++;
goto *dispatch_var[*ip];
INSTRUCTION_2:
// subroutine 2
ip++;
goto *dispatch_var[*ip];
```becomes: ```
RECORD_INST_1:
// record logic
INSTRUCTION_1:
// subroutine 1
ip++;
goto *dispatch_var[*ip];
RECORD_INST_2:
// record logic
INSTRUCTION_2:
// subroutine 2
ip++;
goto *dispatch_var[*ip];
```This way you could directly swap `dispatch_var` with an array populated with the `RECORD_INST_*` labels, and remove one step at runtime.
Or maybe this is what you are trying to avoid to reduce the binary size ?
You tag each computation nodes with a hash of its dependencies and some constant salt, that gives you an ID which identifies the results that the computation node would produce; before running it.
You can then use those IDs to index the computations results in a cache; whenever you query a computation results, as long as you update the IDs of each leaf of the computation graph, you will only re-compute the nodes that need to be updated
I'm convinced that this sail boat generates an order of magnitude less of that (I can't find any estimate of it)
Whatever the initial CO2 cost of the construction of this boat is, I'm sure that it's a net benefits if it's used long enough
[0]: https://www.ecsa.eu/sites/default/files/publications/2020%20...
This is only the second boat of a small company, they most likely don't have the ressources to get a bigger one. At this scale, the only way to make money is to move luxury products.
IMO it's a good start.
Even the criminal ones are only enabled because of the dry vegetation, caused by the recent heat waves. IMO focusing on what caused the spark is missing the root cause: global warming.
And yes you can argue that such fires existed previously, but what's concerning is that the frequency on which they are happening is increasing rapidly
[0]https://observatoire.foret.gouv.fr/themes/les-causes-des-inc...