Commit df471f9
chore(benchmarks): add benchmarks for niop opcode in all operation modes (#3050)
## Added
A new benchmarking group for `niop` operations in the `alu.rs` file. The
changes add comprehensive benchmarks for various operations (`ADD`,
`SUB`, `MUL`, `EXP`, `SLL`, `XNOR`) across different operand widths
(`U8`, `U16`, `U32`)
### Additions to benchmarking:
* A new `niop` benchmarking group was added to evaluate the performance
of narrow integer operations (`niop`) with different operand widths
(`U8`, `U16`, `U32`).
* Introduced the `niop_bench` macro to simplify the creation of
benchmarks for operations like `ADD`, `SUB`, `MUL`, `EXP`, `SLL`, and
`XNOR`.
* Benchmarks iterate over generated operand pairs for each width,
ensuring a variety of test cases for each operation.
## Breaking
- Used a new `fuel-vm 0.64.0` release which brings breaking changes:
https://github.com/FuelLabs/fuel-vm/releases/tag/v0.64.0
- The default gas cost has been changed according to new optimizations
and a new benchmark machine for a local node.
- Receipts now are behind an `Arc` pointer to avoid unnecessary cloning.
It affects transaction states and preconfirmations.
- The `deploy_contract_with_id` now works with `[u8]` instead of the
`Contract` type.
## Changed
Actualized benchmarks with the performance of the network. With this
change we should be able to run benchmarks on nightly bases.
Added several optimizations to the code base:
- Executor now reuses the memory instance between blocks production and
validation avoiding allocations.
- Receipts are not cloned anymore from the VM. Instead, they are
extracted from the VM and stored ina s shared pointer.
- The gas usage for script is discovered in a faster way.
- `Create` transaction doesn't require a cloning of the contract
bytecode anymore to calculate its `ContractId`.
- Serialization and deserialization of the bytes became much faster for
canonical, `postcard`, `bincode` codecs.
---------
Co-authored-by: Green Baneling <[email protected]>1 parent e4750d7 commit df471f9
File tree
54 files changed
+841
-543
lines changed- .changes
- added
- breaking
- changed
- benches
- benches
- block_target_gas_set
- vm_set
- src
- bin/fuel-core
- chainspec/local-testnet
- src/cli
- crates
- chain-config/src/config
- client/src/client/schema
- compression/src
- fuel-core/src
- database
- graphql_api
- query
- message
- schema/tx
- service
- adapters
- consensus_module/poa/pre_confirmation_signature
- graphql_api
- services
- executor/src
- tx_status_manager/src
- txpool_v2/src
- service
- tests
- upgradable-executor
- src
- wasm-executor/src
- storage/src
- types
- src
- services
- executor
- tests
- test-helpers/src
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
54 files changed
+841
-543
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
131 | 137 | | |
132 | 138 | | |
133 | 139 | | |
134 | 140 | | |
135 | 141 | | |
136 | 142 | | |
137 | | - | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
138 | 150 | | |
139 | 151 | | |
140 | 152 | | |
| |||
144 | 156 | | |
145 | 157 | | |
146 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
147 | 175 | | |
148 | 176 | | |
149 | 177 | | |
150 | 178 | | |
151 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
152 | 190 | | |
153 | 191 | | |
154 | 192 | | |
| |||
247 | 285 | | |
248 | 286 | | |
249 | 287 | | |
250 | | - | |
| 288 | + | |
251 | 289 | | |
252 | 290 | | |
253 | 291 | | |
| |||
266 | 304 | | |
267 | 305 | | |
268 | 306 | | |
269 | | - | |
| 307 | + | |
270 | 308 | | |
271 | | - | |
| 309 | + | |
272 | 310 | | |
273 | 311 | | |
274 | 312 | | |
| |||
301 | 339 | | |
302 | 340 | | |
303 | 341 | | |
304 | | - | |
| 342 | + | |
305 | 343 | | |
306 | | - | |
307 | | - | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
308 | 347 | | |
309 | 348 | | |
310 | 349 | | |
| |||
320 | 359 | | |
321 | 360 | | |
322 | 361 | | |
323 | | - | |
| 362 | + | |
| 363 | + | |
324 | 364 | | |
325 | 365 | | |
326 | | - | |
| 366 | + | |
327 | 367 | | |
328 | 368 | | |
329 | 369 | | |
| |||
336 | 376 | | |
337 | 377 | | |
338 | 378 | | |
339 | | - | |
| 379 | + | |
340 | 380 | | |
341 | 381 | | |
342 | 382 | | |
| |||
0 commit comments