Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenDream fast del() support #83237

Closed
wants to merge 1 commit into from
Closed

Conversation

Cyberboss
Copy link
Member

About The Pull Request

Skips GC on OpenDream

Why It's Good For The Game

OpenDream's implementation makes del() super fast and not to be feared. Save a ton of bytecode processing by ridding the queue logic.

Changelog

Not really.

@Cyberboss Cyberboss added the Performance Uses the 32-bit address space and slow interpreter more effectively label May 14, 2024
@ZephyrTFA
Copy link
Contributor

this wont work because you change the define entirely which means switch statements / if statements will perform logic wrong

@ike709
Copy link
Contributor

ike709 commented May 14, 2024

Can confirm OpenDream spends more time queuing things in SSgarbage than it would take to just harddel them.

@Cyberboss Cyberboss force-pushed the ODqdel branch 2 times, most recently from f3e1ef1 to 81c2ebd Compare May 14, 2024 21:21
@LemonInTheDark
Copy link
Member

#83236 (comment)

@LemonInTheDark
Copy link
Member

LemonInTheDark commented May 14, 2024

Also there's no reason outside of unit test times to speed this up queue size impacts very little

@LemonInTheDark LemonInTheDark added the Do Not Merge You must have really upset someone label May 14, 2024
@LemonInTheDark
Copy link
Member

Not safe as existing code expects a vague valid reference window and this voids that contract

@Cyberboss
Copy link
Member Author

I fixed that by using QDEL_HINT_HARDDEL instead of QDEL_HINT_HARDDEL_NOW

@out-of-phaze
Copy link
Contributor

#ifdef OPENDREAM
		if(hint != QDEL_HINT_IWILLGC || hint != QDEL_HINT_LETMELIVE)
			hint = QDEL_HINT_HARDDEL
#endif

just fucking use this in /proc/qdel

@Cyberboss Cyberboss force-pushed the ODqdel branch 2 times, most recently from f7d3c62 to 99739a7 Compare May 14, 2024 21:30
@Cyberboss
Copy link
Member Author

bikeshed

@Cyberboss Cyberboss closed this May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Do Not Merge You must have really upset someone Performance Uses the 32-bit address space and slow interpreter more effectively
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants