# Massive and reproducible slowdown (git425255a5)

**URL:** <https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053>\
**Category:** The Garage\
**Created:** [March 8, 2021, 9:51pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053 "2021-03-08T21:51:01Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 8, 2021, 9:51pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/1 "2021-03-08T21:51:01Z")

</div>

So, I’m crafting starch with 2 NPCs assisting, when the third one comes down to repair(or something) a vehicle. And then the game slows down from 3s IRL for 5 minutes ingame to 5s IRL for 1s ingame.

Does anyone want the savegame? It’s 54MB.

---

<div class="post-metadata">

**Author:** ![Zhilkin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/zhilkin/32/3749_2.png) [@Zhilkin](https://discourse.cataclysmdda.org/u/Zhilkin)\
**Post date:** [March 9, 2021, 8:28am UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/2 "2021-03-09T08:28:19Z")

</div>

> **[Build software better, together](https://github.com/CleverRaven/Cataclysm-DDA/issues/new?assignees=&labels=&template=bug_report.md)**
>
> rRaven/Cataclysm-DDA/issues/new

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 9, 2021, 12:35pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/3 "2021-03-09T12:35:49Z")

</div>

As stated before, my ethical standards prevent me from using Github.

[https://www.gnu.org/software/repo-criteria-evaluation.html](https://www.gnu.org/software/repo-criteria-evaluation.html)

---

<div class="post-metadata">

**Author:** ![Valase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/valase/32/6972_2.png) [@Valase](https://discourse.cataclysmdda.org/u/Valase)\
**Post date:** [March 9, 2021, 1:07pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/4 "2021-03-09T13:07:44Z")

</div>

> [@ThinkSome](#):
>
> As stated before, my ethical standards prevent me from using Github.

Not to attack you on your ethical believes, but would you be fine with explain why you still have a GitHub account, even if you didn’t use it in a while?  
If I want to boycott something, I usually cut all ties and let the business/organization know why I did it (not that they care about me doing it, but if others do it as well, they might…).

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 9, 2021, 1:26pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/5 "2021-03-09T13:26:31Z")

</div>

I’ve kept that account for work on proprietary software/paid software work and because my thesis has a link in it to my hardware HDL source hosted there.

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 9, 2021, 2:51pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/6 "2021-03-09T14:51:37Z")

</div>

To not open endless threads: In this version, the ‘m’ advanced inventory key copies instead of moving.

---

<div class="post-metadata">

**Author:** ![Valase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/valase/32/6972_2.png) [@Valase](https://discourse.cataclysmdda.org/u/Valase)\
**Post date:** [March 9, 2021, 3:08pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/7 "2021-03-09T15:08:43Z")

</div>

> [@ThinkSome](#):
>
> I’ve kept that account for work on proprietary software/paid software work […]

Still seems a bit weird to me…

> [@ThinkSome](#):
>
> In this version, the ‘m’ advanced inventory key copies instead of moving.

Known bug, see:

> [@Bug: Moving items using (m) causes the game to multiply the items in some cases](https://discourse.cataclysmdda.org/t/bug-moving-items-using-m-causes-the-game-to-multiply-the-items-in-some-cases/26032):
>
> Easy to replicate: Build 11508 Mods: Dark Days Ahead Disable NPC Needs Bionic Professions No Rail Stations No Fungal Monsters SpeedyDex Stats Through Kills Stats Through Skills Create a test world Spawn any item that has “multiples” under ( ) in front of the name (Ammo, some foods, some drugs, cotton sheet and other spare parts that work the same way) place them on the floor anywhere and open the “/” menu. use “m” to move an amount of them from one space to …

and it was fixed already:

> <https://github.com/CleverRaven/Cataclysm-DDA/pull/47885>
>
> \#### Summary
> Bugfixes "AIM item duplication"
> 
> \#### Purpose of change
> 
> A pre…vious pr of mine (#47796) caused a bug that duplicated items in certain cases.
> (When moving partial stacks via AIM, with both destination and target location being floor tiles)
> 
> Fixes #47884
> 
> \#### Describe the solution
> 
> \- My stolen items pr turned a reference into a copy ... reverted this change to the original code.
> \- Instead now the check for item ownership is moved up before any charge/stack count manipulation could happen.
> 
> This should prevent the duplication issue and still prevent the player from moving/hauling stolen goods without picking them up first. (and prevent the original crash) 
> 
> \#### Testing
> 
> \- Spawn in a bunch of ammo
> \- Get into AIM and move a portion of that amo stack from one floor tile to another
> \- The total amount of ammo should remain the same (no duplication)
> 
> Stolen flag handling
> \- Download linked save in issue #47726
> \- Try to move the item stack with stolen flags (!) either via AIM or the hauling action
> \- Examine the items
> \- Should not crash and the items that aren't owned by the player should still be in the same tile they originally were (not moved)

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 9, 2021, 4:20pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/8 "2021-03-09T16:20:08Z")

</div>

> Still seems a bit weird to me…

You may call me a hypocrite for this, but I cannot make the world a better place if I’m starving in poverty. But I can help make it a better place by refusing to use unethical services in my free time and being vocal about it. Hopefully, that will make other people rethink their views and join me. When there will be enough of us refusing unethical services, the latter will become socially unacceptable/go away and the world will be a better place.

---

<div class="post-metadata">

**Author:** ![Mantar](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mantar/32/42_2.png) [@Mantar](https://discourse.cataclysmdda.org/u/Mantar)\
**Post date:** [March 9, 2021, 7:09pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/9 "2021-03-09T19:09:27Z")

</div>

That’s understandable. The world makes hypocrites of us all sooner or later, but that doesn’t change right and wrong. Just because “you do it too” (Tu quoque) doesn’t mean you’re wrong to call something unethical.

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 9, 2021, 7:27pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/10 "2021-03-09T19:27:47Z")

</div>

Thank you.

There is another issue, that is also in today’s master (git aac9170e): Using NPCs for skill training drains my focus all the way down to 1, while it previously only drained up to 10 points.

---

<div class="post-metadata">

**Author:** ![Valase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/valase/32/6972_2.png) [@Valase](https://discourse.cataclysmdda.org/u/Valase)\
**Post date:** [March 10, 2021, 5:17am UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/11 "2021-03-10T05:17:17Z")

</div>

> [@ThinkSome](#):
>
> When there will be enough of us refusing unethical services, the latter will become socially unacceptable/go away and the world will be a better place.

I don’t want to strive further from the base topic, but I disagree with that. Trying to make “something go away” usually turns out bad if there’s no replacement; one should always aim to improve existing things and/or suggest good alternatives.  
Repeated complaints might just get dull and can result in defiant reactions.

> [@Mantar](#):
>
> Just because “you do it too” (Tu quoque) doesn’t mean you’re wrong to call something unethical.

Mostly agreed. Although asking/supporting others to do something one considers unethically - as s-/he did [previously](https://discourse.cataclysmdda.org/t/gallon-jug-as-a-vehicle-tank/25707/9) - is something that does not fit well into this, at least from my graps of ethics (as in; something so fundamentally flawed that the usage or support of it is never justifiable). Given the circumstances the better term would may be “immoral”?

* * *

> [@ThinkSome](#):
>
> There is another issue, that is also in today’s master (git aac9170e): Using NPCs for skill training drains my focus all the way down to 1, while it previously only drained up to 10 points.

I’m not sure that this is a bug, this might as well be intended.

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 10, 2021, 12:45pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/12 "2021-03-10T12:45:29Z")

</div>

> and/or suggest good alternatives.

There are replacements for Github: GitLabCE can be self-hosted, and is hosted by many organisations open to outside projects. I use [framagit.org](http://framagit.org) for my own projects and [salsa.debian.org](http://salsa.debian.org) should also be a good one. But Gitlab is not the only piece of programmer collaboration software, there are also Gogs (e.g. [notabug.org](http://notabug.org), my previous host), Gitea, GNU Savannah (public host at [savannah.nongnu.org](http://savannah.nongnu.org)) and Fedora Pagure, the latter is supposedly what the FSF will provide to the public in the future.

> Repeated complaints might just get dull and can result in defiant reactions.

I have not once complained about cdda being on Github. All I ever did was explain why I will not contribute there, when specifically asked to do that.

> Although asking/supporting others to do something one considers unethically - as s-/he did previously

If this was aimed at me, then please tell me when I did so.

---

<div class="post-metadata">

**Author:** ![Zhilkin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/zhilkin/32/3749_2.png) [@Zhilkin](https://discourse.cataclysmdda.org/u/Zhilkin)\
**Post date:** [March 10, 2021, 8:24pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/13 "2021-03-10T20:24:16Z")

</div>

Yeah, hypocrisy at its best.

---

<div class="post-metadata">

**Author:** ![Profugo\_Barbatus](https://avatars.discourse-cdn.com/v4/letter/p/d26b3c/32.png) [@Profugo\_Barbatus](https://discourse.cataclysmdda.org/u/Profugo_Barbatus)\
**Post date:** [March 10, 2021, 8:42pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/14 "2021-03-10T20:42:05Z")

</div>

You don’t have to use github if you don’t want to, but that doesn’t mean anyone else has to dance around trying to work in your preferred way instead. If you don’t want to contribute there, and thats the projects portal for contributing, then there’s an impass that isn’t just bypassed by using the forums, it just muddies the waters.

Do what you wish, but don’t get angry at others for not being appreciative of you walking in and telling them to work around your restrictions instead of following their process.

---

<div class="post-metadata">

**Author:** ![ThinkSome](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@ThinkSome](https://discourse.cataclysmdda.org/u/ThinkSome)\
**Post date:** [March 10, 2021, 9:27pm UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/15 "2021-03-10T21:27:43Z")

</div>

> that doesn’t mean anyone else has to dance around trying to work in your preferred way instead.

I neither expected nor required that of anyone.

> it isn’t just bypassed by using the forums

You are free to ignore my threads.

> but don’t get angry at others

I’m not angry at anyone. In fact, your response makes it seem that the reverse is true.

> of you walking in and telling them to work around your restrictions instead of following their process.

Where am I **telling** anyone to do anything?

---

<div class="post-metadata">

**Author:** ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)\
**Post date:** [March 11, 2021, 1:17am UTC](https://discourse.cataclysmdda.org/t/massive-and-reproducible-slowdown-git425255a5/26053/16 "2021-03-11T01:17:16Z")

</div>

This is not the venue for reporting bugs, if you aren’t willing to do that in the appropriate venue, simply refrain from doing so. The overhead of transcribing your bug reports to github is higher than the value of the report.
