{"id":23048246,"url":"https://github.com/yigittopm/padding0","last_synced_at":"2025-10-13T11:32:40.842Z","repository":{"id":266975737,"uuid":"870846917","full_name":"yigittopm/padding0","owner":"yigittopm","description":"Lightweight tool that analyzes memory alignment of structs written in Go and provides optimization.","archived":false,"fork":false,"pushed_at":"2024-12-21T11:03:06.000Z","size":5864,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T02:46:32.940Z","etag":null,"topics":["analysis","go","memory-alignment","performance"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yigittopm.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-10T19:18:16.000Z","updated_at":"2024-12-07T11:49:26.000Z","dependencies_parsed_at":"2025-10-13T11:31:48.614Z","dependency_job_id":null,"html_url":"https://github.com/yigittopm/padding0","commit_stats":null,"previous_names":["yigittopm/padding0"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yigittopm/padding0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yigittopm%2Fpadding0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yigittopm%2Fpadding0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yigittopm%2Fpadding0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yigittopm%2Fpadding0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yigittopm","download_url":"https://codeload.github.com/yigittopm/padding0/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yigittopm%2Fpadding0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014793,"owners_count":26085594,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["analysis","go","memory-alignment","performance"],"created_at":"2024-12-15T22:38:23.101Z","updated_at":"2025-10-13T11:32:40.822Z","avatar_url":"https://github.com/yigittopm.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Memory Alignment Analiz Aracı\n Bu araç, Go dilinde yazılmış yapıların (struct) bellek hizalamasını analiz etmek ve optimize etmek için geliştirilmiştir. \nDosyalarınızı gezerek **.go** uzantılı dosyaları bulur ve içerisindeki struct yapılarını analiz edip değiştirir. \nGo'nun bellekteki verileri hizalama şekli, performans açısından kritik öneme sahiptir. Yanlış hizalanmış yapılar, daha fazla bellek tüketimine ve düşük performansa neden olabilir.\n\n\n\u003cimg src=\"assets/padding.png\"\u003e\n\n\nBu repo, aşağıdaki özellikleri sunar:\n\n- [x] CLI tabanlı kullanım ve kolay entegrasyon\n- [x] Basit struct yapılarını analiz etme ve düzenleme\n- [ ] Karmaşık struct yapılarını analiz etme ve düzenleme\n- [ ] Gereksiz boşlukları (padding) ve bellek israfını tespit etme\n- [ ] Performans iyileştirmeleri için önerilerde bulunma\n- [ ] Analizleri raporlama\n\nKendi projelerinizde bellek optimizasyonu yapmanıza yardımcı olmak için geliştirilmiştir. Hem küçük projelerde hem de büyük çaplı sistemlerde faydalı olabilir.\n\n\n### Kurulum\n\n```bash\n    go install github.com/yigttopm/padding0@latest\n```\n\nÇalıştığınız Go projenizin kök dizinine gidin ve aşağıdaki komutu çalıştırın:\n\n```bash\n    padding0\n```\n\nya da projenizin yolunu belirterek çalıştırabilirsiniz:\n\n```bash\n    padding0 -d=\"path/to/your/project\"\n```\n\n### Örnek\nProjenizde kullandığınız örnek bir struct:\n```go\npackage main\n\n// Total size with padding: 40 bytes\ntype A struct {\n\tA byte  // 1 byte\n\tB int64 // 8 byte\n\tC byte  // 1 byte\n\tD int64 // 8 byte\n\tE byte  // 1 byte\n}\n```\n\nve bu aracı çalıştırdıktan sonra:\n\n```go\npackage main\n\n// Total size with padding: 24 bytes\ntype A struct {\n\tB int64 // 8 byte\n\tD int64 // 8 byte\n\tA byte  // 1 byte\n\tC byte  // 1 byte\n\tE byte  // 1 byte\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyigittopm%2Fpadding0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyigittopm%2Fpadding0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyigittopm%2Fpadding0/lists"}