diff options
| author | Sebastiano Tronto <sebastiano.tronto@gmail.com> | 2021-12-13 20:40:18 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano.tronto@gmail.com> | 2021-12-13 20:40:18 +0100 |
| commit | 1215648b1ba3c592bd9d97b871349673d1702e44 (patch) | |
| tree | 7dc73a013c76b0cb0976e98d5e07902a0045363f /src/utils.c | |
| parent | 296f35b7ed4ea3177c520f28176f44d6ad47d76d (diff) | |
| download | nissy-1215648b1ba3c592bd9d97b871349673d1702e44.tar.gz nissy-1215648b1ba3c592bd9d97b871349673d1702e44.zip | |
Faster optimal solver.
This is a pretty big one, but unfortunately performance only improved by about 5%.
I implemented one of the main ideas of nxopt, that is switching to the
inverse scramble on the fly if it gives a lower branching factor.
On the one hand it makes sense that it does not have such a huge impact, since
it only rarely happens that we do have a lower branching factor on inverse, but
on the other hand I am quite sad that the improvement is barely noticeable :-(
Maybe the problem is that I have introduced a lot of new overhead and I can improve
that in the future. Or maybe I am just overlooking something stupid.
Diffstat (limited to 'src/utils.c')
| -rw-r--r-- | src/utils.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/utils.c b/src/utils.c index 1c829c4..e0d3268 100644 --- a/src/utils.c +++ b/src/utils.c | |||
| @@ -272,7 +272,17 @@ swap(int *a, int *b) | |||
| 272 | int aux; | 272 | int aux; |
| 273 | 273 | ||
| 274 | aux = *a; | 274 | aux = *a; |
| 275 | *a = *b; | 275 | *a = *b; |
| 276 | *b = aux; | 276 | *b = aux; |
| 277 | } | ||
| 278 | |||
| 279 | void | ||
| 280 | swapu64(uint64_t *a, uint64_t *b) | ||
| 281 | { | ||
| 282 | uint64_t aux; | ||
| 283 | |||
| 284 | aux = *a; | ||
| 285 | *a = *b; | ||
| 286 | *b = aux; | ||
| 277 | } | 287 | } |
| 278 | 288 | ||
