{"id":20345278,"url":"https://github.com/meokullu/calculateeta","last_synced_at":"2026-03-07T20:03:23.349Z","repository":{"id":154984880,"uuid":"569852870","full_name":"meokullu/CalculateETA","owner":"meokullu","description":"Calculate left time to finish iteration.","archived":false,"fork":false,"pushed_at":"2024-09-01T13:54:43.000Z","size":376,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-08T22:06:01.772Z","etag":null,"topics":["eta","iterations","left-time","loops","multi-thread","single-thread","time","time-estimation"],"latest_commit_sha":null,"homepage":"https://meokullu.github.io/CalculateETA/","language":"C#","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/meokullu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-23T19:04:54.000Z","updated_at":"2024-09-01T13:54:46.000Z","dependencies_parsed_at":"2024-05-08T22:49:29.019Z","dependency_job_id":null,"html_url":"https://github.com/meokullu/CalculateETA","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meokullu%2FCalculateETA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meokullu%2FCalculateETA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meokullu%2FCalculateETA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meokullu%2FCalculateETA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meokullu","download_url":"https://codeload.github.com/meokullu/CalculateETA/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224698435,"owners_count":17354771,"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":["eta","iterations","left-time","loops","multi-thread","single-thread","time","time-estimation"],"created_at":"2024-11-14T22:07:38.790Z","updated_at":"2026-03-07T20:03:18.279Z","avatar_url":"https://github.com/meokullu.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## CalculateETA\n[![CalculateETA](https://img.shields.io/nuget/v/CalculateETA.svg)](https://www.nuget.org/packages/CalculateETA/) [![CalculateETA](https://img.shields.io/nuget/dt/CalculateETA.svg)](https://www.nuget.org/packages/CalculateETA/) [![License](https://img.shields.io/github/license/meokullu/CalculateETA.svg)](https://github.com/meokullu/CalculateETA/blob/master/LICENSE)\n\nCalculateETA is a project to calculate estimated time to arrive on loops whether it is in single-thread or multi-thread applications.\n\n![CalculateETA](https://github.com/meokullu/CalculateETA/assets/4971757/006959d8-9736-4e67-a42a-1afd13e267a5)\n\n### How to download\nRelease: [Latest release](https://github.com/meokullu/CalculateETA/releases/latest)\n\n[Download on NuGet gallery](https://www.nuget.org/packages/CalculateETA/)\n\n.NET CLI:\n```\ndotnet add package CalculateETA\n```\n\n### Description\nCalculateETA has methods to calculate estimated time to finish on the loops. It calculates left count of the iteration and avarage passed time on the loop then multiply left count with avarage passed time. On multi-thread applications, it has internal counter that increases everytime methods are called. With using counter calculating left count of the loop and avarage passed time on the loop then multiply left count with avarage passed time.\n\nCalculateETA is optimized for CPU-intense applications which methods are named Unsafe as suffix such as `CalcUnsafe()` and `NameETAUnsafe()`\n\n\n### Example Usage\n```\nstring CalcSTCPUIntense(int? index, int? totalIndex, double? totalElapsedTimeInMs)\n{\n    return NameETAUnsafe(CalcETAUnsafe(index, totalIndex, totalElapsedTimeInMs));\n}\n```\n```\nstring CalcSTBetterVisual(int? index, int? totalIndex, double? totalElapsedTimeInMs)\n{\n    return NameETABetterVisual(CalcETA(index, totalIndex, totalElapsedTimeInMs));\n}\n```\n```\nstring CalcMultiThread(uint? totalIndex, long? totalElapsedTicks)\n{\n    return NameETA(CalcETAHighDense(totalIndex, totalElapsedTicks));\n}\n```\nReporting\n```\n// Getting instance of Reporting().\nReporting reporting = new Reporting();\n\n// Calculating ETA\nlong? calcResult = CalcETA(index: i, totalIndex: total, timeSpan: sw.Elapsed);\n\n// Adding result.\nreporting.AddReport(calcResult);\n```\n\n\u003e [!TIP]\n\u003e To save reporting result easily, you can use EasySaver.TextFile.\n```\ndotnet add package EasySaver.TextFile\n```\n\nTo check listed methods, example of output visit wiki page. [CalculateETA Wiki](https://github.com/meokullu/CalculateETA/wiki)\n\n### Version History\nSee [Changelog](https://github.com/meokullu/CalculateETA/blob/master/CHANGELOG.md)\n  \n### Task list\n* Create an issue or check task list: [Issues](https://github.com/meokullu/CalculateETA/issues)\n\n### Licence\nThis repository is licensed under the \"MIT\" license. See [MIT license](https://github.com/meokullu/CalculateETA/blob/master/LICENSE).\n\n### Authors \u0026 Contributing\nIf you'd like to contribute, then contribute. [contributing guide](https://github.com/meokullu/CalculateETA/blob/master/CONTRIBUTING.md).\n\n[![Contributors](https://contrib.rocks/image?repo=meokullu/CalculateETA)](https://github.com/meokullu/CalculateETA/graphs/contributors)\n\n### Help\nTwitter: Enes Okullu [@enesokullu](https://twitter.com/EnesOkullu)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeokullu%2Fcalculateeta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeokullu%2Fcalculateeta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeokullu%2Fcalculateeta/lists"}