Hopper usage poll

Discussion in 'Community Discussion' started by Aikar, Sep 9, 2013.


Making hoppers move entire stack instead of 1 by 1

Love the idea, helps me 136 vote(s) 59.6%
This would hurt my creations (please explain in thread) 40 vote(s) 17.5%
Doesn't affect me (or I don't use hoppers) 52 vote(s) 22.8%
Thread Status:
Not open for further replies.
  1. Hi everyone.

    I'm sure many have noticed TPS (Lag) issues over the weekends. The main thing hitting us is hoppers...

    These things are simply causing a ton of lag. I'm looking to optimize them where I can.

    I have some rough changes on our code to improve (essentially going back to our version of hopper events instead of using Bukkits which were more effecient).

    But another idea I had was to change how items move.

    The general idea would be to make the hoppers move the entire stack by default instead of 1 by 1, where applicable (ie if target only has room for 1... it would only move 1)
    I am not a hopper user... but from what I gather this would likely not affect the primary usage?
    UPDATE: I am aware this would break item sorters - and we WILL come up with a way to disable this feature on a hopper to make it stay as a single item still. So it would require a little bit of changing sorters, but still would work just fine.

    NOTE: If a slot has 3 items, it will move all 3, it will never wait until its a full stack. It would essentially clear 1 slot every update, moving all of your items through the hoppers quicker.

    Please vote on poll on how this would affect you.

    UPDATE: Going to try to avoid touching the speed of items
  2. This will help me a lot. Yes please!
  3. I don't know why they didn't make them like this in the first place.
  4. Sounds like a good idea for the most part. I don't use potion brewers so it wouldn't really affect me.
  5. Is this why my head farm was weird this weekend?
    I noticed that the hopper was taking the heads from a chest so quick that a comparator couldn't register them.
  6. 2-utopia are on vanilla speeds, smp1 is currently running with reduced speed as it was really suffering over the weekend.
  7. I could always make another potion machine :)
    Apart from that, I don't use hoppers apart from moving items, so moving items in stacks would be much faster.
    What percent of server load would be removed by changing the way hoppers work?
    Also, I completely advocate this idea.
  8. So if only 1 item came into the hopper, would it wait until 64 entered before moving any? Because if 1 comes in and just sits there waiting, that would break every single hopper thing I've ever made.....
    Chascarrillo and THE_LEGEND4 like this.
  9. I noticed that i got visual lag while using 4-hopper clock in the leaves, not such effect underground. I dont know if this has something to do with hopper lag. Hmm one couldnt build really slow clocks after this change, but i think it is rarely used, putting more than 63 items into clock hoppers. My 2 cents.
  10. A large portion. When a hopper doesn't have work to do it can "take a break" longer. So getting the items moved quicker will substantially reduce the # of events fired.

    We are talking millions of events in a matter of minutes. The overhead adds up quick.

    Here is a performance report.

    10 million events in less than 3 minutes.
    20% is from our code (which is not slow code, its just called so much), 30% is hoppers overall (or event overhead)
  11. oh, well it can't be that, it's on 7.
    But its certainly faster, not slower
  12. Nono, it would move it still.

    Basically in vanilla, if you drop 64 items on 1, it will move them 1 by 1, so 64 events. I'm suggesting we change it to it move all 64, with 1 event.
    cddm95ace likes this.
  13. I suggest maybe not an entire stack at a time, but maybe 8 or 16 items at a time, as that may make excess items a bit easier to work with
    marknaaijer likes this.
  14. With that clarity cddm/rainbow - do you still oppose it?
  15. nothing would change in regards to excess. it would fill up the same way as if it was done 1 by 1. This proposal would be essentially cleaning the pipes quicker, but same end result.
  16. Maybe it's possible to make it different for potions/enchanted tools?
    In that case it would make all hopper users happy.

    or maybe a slowdown of itemtransfer is better. In that case it's just about adjusting the redstone, and laying a few more redstone repeaters for automatic potion brewers.

    ps. I love this idea. Let's get higher FPS on EMC. Reducing lag by adjusting hoppers definitely sounds like a good idea to me.
    Also, I noticed that megamalls like 1112, 4005 and now my own mall 9000 are experiencing fps lower than 25. Probably caused by the amount of shopsigns and itemframes, is there anything possible to be done about that?
  17. So if there is a stack of 63 dirt and no more space in the chest for dirt besides there, it will only move one dirt to the chest?
  18. What about automated item sorters?
  19. Wouldn't affect it I would imagine, it would just sort faster rather than 1 at a time?
  20. right.
    TPS and FPS are not the same. TPS is server performance, FPS would be client performance due to # of signs and such.
    what do you mean? How would moving 32 blocks of dirt be different than moving 1 block of dirt for an item sorter?
    MrUnknownian and TheSkidz like this.
Thread Status:
Not open for further replies.