{"id":13408196,"url":"https://github.com/astei/lazydfu","last_synced_at":"2025-04-09T09:10:55.704Z","repository":{"id":46604382,"uuid":"322322177","full_name":"astei/lazydfu","owner":"astei","description":"Fabric mod that makes Minecraft DataFixerUpper initialization lazy","archived":false,"fork":false,"pushed_at":"2024-01-13T21:26:51.000Z","size":104,"stargazers_count":246,"open_issues_count":5,"forks_count":21,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-02T06:07:59.765Z","etag":null,"topics":["fabricmc","minecraft-mod","minecraft-performance"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-12-17T14:38:03.000Z","updated_at":"2025-03-25T21:38:57.000Z","dependencies_parsed_at":"2024-03-31T22:44:44.398Z","dependency_job_id":null,"html_url":"https://github.com/astei/lazydfu","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astei%2Flazydfu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astei%2Flazydfu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astei%2Flazydfu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astei%2Flazydfu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astei","download_url":"https://codeload.github.com/astei/lazydfu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008630,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fabricmc","minecraft-mod","minecraft-performance"],"created_at":"2024-07-30T20:00:51.358Z","updated_at":"2025-04-09T09:10:55.672Z","avatar_url":"https://github.com/astei.png","language":"Java","funding_links":[],"categories":["Mods","Performance Mods"],"sub_categories":["Performance Mods"],"readme":"# LazyDFU\n\nLazyDFU is an optimization mod that makes the initialization of DataFixerUpper \"lazy\" - that is, it\nwill not immediately create the rules required to migrate data from older versions of Minecraft to\nnewer versions until it actually needs to do so. It does not modify DFU and should be safe, but do\nexercise more than the usual caution.\n\nThe premise of LazyDFU is simple: most of the time, you will not need to convert data for every version\nof the game. As a result, DFU rule compilation occurs later, when the game is already up and running.\nThis means it is possible you may see lag spikes if LazyDFU forces the game to compile migration rules,\nbut once complete there is no performance penalty.\n\n## Give me the numbers!\n\nOn an i5-8250U laptop:\n\n* Vanilla: ~58 seconds spent initializing DFU and compiling DFU rules\n* LazyDFU: 498 **milliseconds** spent initializing DFU\n\nThis results in a smooth, responsive game startup.\n\n## I want to see to believe it!\n\n[Here's a video I recorded](https://www.youtube.com/watch?v=gXDqJ598kKA).\n\n## Comparing it to other mods\n\n### Cadmium\n\nLazyDFU is complementary to Cadmium. While Cadmium tackles the root source of the problem (rule\noptimization being slow), it only partially improves the situation. LazyDFU will still be highly\neffective by deferring the initial compilation of DFU rules until needed, so the game will start\nup much more quickly.\n\n### Smooth Boot\n\nLazyDFU takes a similar implementation approach to Smooth Boot: both mods do not try to modify DFU.\nHowever, LazyDFU is superior to Smooth Boot as it does not compile DFU rules at all, which is the most\nexpensive part of the game startup process.\n\nIn comparison, Smooth Boot will instead limit the number of threads that compile DFU rules and run them\nat a lower priority.\n\n### DataBreaker\n\n**DataBreaker is fundamentally unsafe**. If you load an older world with DataBreaker then **it will corrupt\nthat world**. There's some safeguards in DataBreaker, but even the author does not recommend using DataBreaker.\nIn comparison, with LazyDFU you may experience a nasty lag spike instead, which is vastly superior to having a\ncompletely hosed world. So prefer LazyDFU over DataBreaker :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastei%2Flazydfu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastei%2Flazydfu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastei%2Flazydfu/lists"}