{"id":25979272,"url":"https://github.com/bjorg/optimus","last_synced_at":"2025-07-20T01:31:38.670Z","repository":{"id":7102588,"uuid":"8394938","full_name":"bjorg/Optimus","owner":"bjorg","description":"Collection of optimized and best-practice implementations for .Net","archived":false,"fork":false,"pushed_at":"2013-03-03T07:11:26.000Z","size":184,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-14T14:37:22.279Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/bjorg.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}},"created_at":"2013-02-24T18:58:37.000Z","updated_at":"2014-04-27T05:07:27.000Z","dependencies_parsed_at":"2022-08-28T01:21:25.788Z","dependency_job_id":null,"html_url":"https://github.com/bjorg/Optimus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bjorg/Optimus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjorg%2FOptimus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjorg%2FOptimus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjorg%2FOptimus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjorg%2FOptimus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjorg","download_url":"https://codeload.github.com/bjorg/Optimus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjorg%2FOptimus/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266053824,"owners_count":23869496,"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":[],"created_at":"2025-03-05T06:29:13.694Z","updated_at":"2025-07-20T01:31:38.628Z","avatar_url":"https://github.com/bjorg.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Optimus\n=======\n\nThe objective of the Optimus library is to complement or replace standard functionality found in the .Net/Mono framework \nwith more performant alternatives. Each method implementation must be provided with a rational and evidence that it is\nand improvement over the existing alternatives.\n\nOrigin\n------\nI have a passion for fast code and I obsess on squeezing out every last ounce of performance when I set my mind to it.  \nHowever, the .Net frameworks was really not designed for people like me.  Instead, many interfaces and methods seem to \nhave been designed for ease of comprehension and use.\n\nFor many years, I have tried to fit my needs into this framework and step out of its design only when absolutely needed.  \nMy motivation was that by restraining myself to stay within the boundaries of the standard framework, it would make it \neasier for others to maintain my code.\n\nAlas, this approach is leading to a death by a million cuts.  It is not that the .Net framework implementations are bad, \nthough some are.  It is that the sum of the poor patterns and poor implementations eventually leads to significant \ndegradation of performance that then requires enourmouse effort to fix.\n\nOptimus is my attempt at providing missing or alternative implementations that are designed to be efficient.  I want \nOptimus to follow the *[Kaizen](http://en.wikipedia.org/wiki/Kaizen)* philosophy of *continuous improvement of practices \nand efficiency*.  This also means that if a new pattern is found to be better than an old one, but is not backwards \ncompatible, I will have no reservations to making the change.  Optimus is about discovering and docummeting optimal \npatterns for .Net/Mono.\n\nI invite you to join me on this journey and I look forward learning from everyone on it.\n\n\\- [@bjorg](http://twitter.com/bjorg)\n\nRules of Engagement\n-------------------\nI welcome all contributions to Optimus.  However, to achieve our objective, I'm setting down some requirements that\nwill help us get there.  All pull-requests will be measured against these.  Please make sure that your submission\npasses these requirements before you submit the pull-request.\n\n* Code must be formatted to be induistinguishable from other code.\n* Every implementation has unit-test coverage.\n* Every implementation has a time and memory performance test.\n* Every implementation has a rationale for its existence.\n\nCode Formatting\n---------------\n* Always use 4 spaces for indentation.\n* Never use tabs.\n* Always place { at the end of the same line, preceeded by a space.\n* Always indent the matching } to the same column as the first character on the line where the opening { was.\n* Always use { } after if/else/switch/foreach/for/while/do/try/catch/finally/using/unsafe/fixed.\n* Always start case statements and goto labels on the same column as the containing block.\n* Never use a space between if/switch/foreach/for/while/catch/using/fixed and (.\n\nLicense\n-------\nOptimus is an open source library under the Apache 2.0 license.\n\nDocumentation Guidelines\n========================\n\nWhen creating new optimizations, make sure to capture findings for all variations analyzed.  The best available code can \nsometimes be a given solution at a given time.  As the .Net/Mono runtime changes, it can also change what solution is \nbest.  Also, capturing intermediary steps makes it possible for others to avoid research those variations when they\nhad already been investigate.\n\n* Make sure to capture baseline performance for the existing implementation or its closest approximation.\n* Capture the implementation with performance results for each variation.\n* Capture findings on this implementation, such as thoughts for improvement, surprises, and conclusions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjorg%2Foptimus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjorg%2Foptimus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjorg%2Foptimus/lists"}