{"id":17439412,"url":"https://github.com/citrineinformatics/theta","last_synced_at":"2026-05-06T07:33:28.856Z","repository":{"id":22475288,"uuid":"86593171","full_name":"CitrineInformatics/theta","owner":"CitrineInformatics","description":"Non-dimensional timers","archived":false,"fork":false,"pushed_at":"2022-02-08T23:14:37.000Z","size":109,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-02-02T03:44:27.372Z","etag":null,"topics":["benchmarks","jvm","performance-testing","scala"],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CitrineInformatics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-29T14:36:38.000Z","updated_at":"2022-01-08T00:44:33.000Z","dependencies_parsed_at":"2022-07-26T03:02:08.950Z","dependency_job_id":null,"html_url":"https://github.com/CitrineInformatics/theta","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitrineInformatics%2Ftheta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitrineInformatics%2Ftheta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitrineInformatics%2Ftheta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitrineInformatics%2Ftheta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CitrineInformatics","download_url":"https://codeload.github.com/CitrineInformatics/theta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245956965,"owners_count":20700189,"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":["benchmarks","jvm","performance-testing","scala"],"created_at":"2024-10-17T13:07:27.042Z","updated_at":"2026-05-06T07:33:28.828Z","avatar_url":"https://github.com/CitrineInformatics.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# theta\nNon-dimensional timers for the jvm.\n\nTheta combines simple a simple timer API with a registry of benchmarks that characterize different components of machine performance.\nThe timer results are normalized (non-dimensionalzed) by appropriate benchmark times to create portable explicit thresholds.\nFor example, a numerically intensive code section could be normalized by a compute intensive benchmark.\nThat way, if the underlying machine the test was running on has half the clock frequency as the machine the test was callibrated on, it would still pass.\n\nTheta also performs multiple evaluations of the code block to estimate the error and confidence in the timing.\nThe default will re-run the block until there is 95% confidence that the relative error is less than 5%.\nBoth of these thresholds are adjustable.\n\n## Usage examples\n\n```scala\ndef heavyFunction(a: Vector[Double], b: Vector[Double]): Vector[Double] {\n  \u003c some expensive stuff \u003e\n}\n\nassert(Stopwatch.time({heavyFunction(testA, testB)}, benchmark = \"Compute\") \u003c 13.8)\n```\n\n## Available benchmarks\n * Random number generation benchmark: generate 2^20 random numbers\n * STREAM benchmark: standard memory bandwidth benchmark\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitrineinformatics%2Ftheta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcitrineinformatics%2Ftheta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitrineinformatics%2Ftheta/lists"}