View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0005296 | Spring engine | General | public | 2016-07-10 13:43 | 2016-10-09 21:52 | ||||
Reporter | lamer | ||||||||
Assigned To | abma | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 102.0+git | ||||||||
Target Version | 104.0 | Fixed in Version | |||||||
Summary | 0005296: SCOPED_TIMER hash collision | ||||||||
Description | name: "PathManager::Update" hash: 1842 name: "AI t:3 id:3 CircuitAI 0.9" hash: 1842 And so profiler lies about AI's time. | ||||||||
Steps To Reproduce | 1) Add 4+ CircuitAI's 2) /debug | ||||||||
Additional Information | Failer: https://github.com/spring/spring/blob/102.0/rts/System/TimeProfiler.cpp#L31 | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
hokomoko (developer) 2016-07-10 14:03 |
:D |
abma (administrator) 2016-07-19 00:46 Last edited: 2016-07-19 00:46 |
IMHO major as these values are very important. any error here will cost us A LOT of time. |
abma (administrator) 2016-07-19 01:03 |
@lamer: thanks a lot for finding + reporting this! |
abma (administrator) 2016-07-19 02:07 |
one of the FNV-variants could be an alternative: http://isthe.com/chongo/tech/comp/fnv/ (replacing the function is low prio i guess, but adding the assert imo was important) |
abma (administrator) 2016-09-17 03:16 |
would be using an enum for this the best? -> no hashing needed at all |
hokomoko (developer) 2016-09-18 11:11 |
1) hash function was improved considerably here: https://github.com/spring/spring/commit/741aa393454a738d57e0c04f224108040bfaaa07 so I believe we won't hit any collision in the foreseeable future. 2) I prefer not using enums since they prevent creating new timers on the fly (like AIs do). |
abma (administrator) 2016-10-09 21:52 |
the asserts hopefully alert us when we hit the next collision :) |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2016-07-10 13:43 | lamer | New Issue | |
2016-07-10 14:03 | hokomoko | Note Added: 0016489 | |
2016-07-19 00:46 | abma | Severity | minor => major |
2016-07-19 00:46 | abma | Note Added: 0016522 | |
2016-07-19 00:46 | abma | Note Edited: 0016522 | View Revisions |
2016-07-19 00:48 | abma | Target Version | => 103.0 |
2016-07-19 01:03 | abma | Note Added: 0016523 | |
2016-07-19 02:07 | abma | Note Added: 0016524 | |
2016-07-19 15:28 | abma | Target Version | 103.0 => 104.0 |
2016-09-17 03:16 | abma | Note Added: 0016677 | |
2016-09-18 11:11 | hokomoko | Note Added: 0016684 | |
2016-09-18 11:12 | hokomoko | Changeset attached | => spring develop 741aa393 |
2016-10-09 21:52 | abma | Note Added: 0016757 | |
2016-10-09 21:52 | abma | Status | new => resolved |
2016-10-09 21:52 | abma | Resolution | open => fixed |
2016-10-09 21:52 | abma | Assigned To | => abma |