{"id":18974549,"url":"https://github.com/m7a/bo-big","last_synced_at":"2026-04-08T15:30:20.747Z","repository":{"id":164554559,"uuid":"226948299","full_name":"m7a/bo-big","owner":"m7a","description":"Generate arbitrarly large files with random text, random bytes or zeroes.","archived":false,"fork":false,"pushed_at":"2024-04-28T19:29:05.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T09:08:17.664Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m7a.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-12-09T19:15:47.000Z","updated_at":"2024-04-28T19:29:07.000Z","dependencies_parsed_at":"2023-07-03T06:11:07.462Z","dependency_job_id":null,"html_url":"https://github.com/m7a/bo-big","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-big","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-big/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-big/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-big/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m7a","download_url":"https://codeload.github.com/m7a/bo-big/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239972111,"owners_count":19727307,"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":"2024-11-08T15:15:23.944Z","updated_at":"2026-04-08T15:30:20.670Z","avatar_url":"https://github.com/m7a.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\nx-masysma-name: big4\nsection: 32\ntitle: Ma_Sys.ma Big4\nauthor: [\"Linux-Fan, Ma_Sys.ma (Ma_Sys.ma@web.de)\"]\nkeywords: [\"big4\", \"big\"]\ndate: 2019/12/09 10:59:12\nlang: de-DE\nx-masysma-repository: https://www.github.com/m7a/bo-big\nx-masysma-website: https://masysma.net/32/big4.xhtml\nx-masysma-owned: 1\nx-masysma-copyright: |\n  Copyright (c) 2014, 2019 Ma_Sys.ma.\n  For further info send an e-mail to Ma_Sys.ma@web.de.\n---\nRepository\n==========\n\nDieses Repository enthält alle Versionen von Big, standardmäßig wird im JAR file\naber nur Big4 integriert. Kompilieren erfolgt durch Eingabe von `ant`.\n\nBeschreibung\n============\n\nBig ist ein scheinbar sinnloses Programm, mit dem man große Dateien generieren\nkann. Was auf den ersten Blick sinnlos erscheint, erschließt sich\nbei genauerem Nachdenken: Mit Big kann man schnell Testdateien erzeugen, um\ndamit z.B. die Geschwindigkeit von Kopier- und Datensicherungsprogrammen zu\nvergleichen oder Texteditoren auf ihren Umgang mit großen Dateien testen. Auch\nlassen sich eigene Webseiten hiermit auf Spamsicherheit testen, indem man z.B.\n1 MB Daten in ein Textfeld eingibt, das auf komplexe Weise ausgewertet werden\nmuss.\n\nIm Grunde funktionieren alle Big Versionen gleich, Big 2 bietet im Vergleich\nzur Vorversion etwas mehr Funktionen, z.B. Zufallsdaten, und arbeitet wesentlich\ngenauer. Leider waren die beiden Big Versionen 1 und 2 nicht besonders schnell,\nweshalb man beim Erzeugen der Daten besser einfach eine 1 MB Datei erzeugte und\ndiese dann einige Male kopierte, um z.B. einen großen Order zu erstellen.\n\nIn Big 3 wurde das Geschwindigkeitsproblem weitgehend behoben. Zwar waren in\nSonderfällen Programme wie `dd` immernoch schneller, dafür konnte man auf ein\neinfacheres und plattformunabhängiges Interface zurückgreifen und den\nFortschritt live beobachten.\n\nBig1\n====\n\nBig 1 wurde vor allem durch ungenaue Arbeitsweise und schlechte Übersetzung\ncharacterisiert, erfüllte aber seinen eigentlichen Zweck recht gut. Big 1\nerzeugte eine sinnlose XML Datei, deren Größe durch die Anzahl der Zeilen\nmit dem Inhalt `+++ruibbish+++` gekennzeichnet wurde. Weil für die Bestimmung\nder Zeilenanzahl ursprünglich einfach eine Textdatei erstellt wurde, in der\ndiese Zeile mehrfach kopiert wurde, bis 1 MB erreicht worden war, entstand eine\ngewisse Ungenauigkeit.\n\n## Bedienung\n\nBig 1 begrüßte den Nutzer in schlechtem Englisch mit folgender Hilfeseite\n\n\t$ java Big\n\tUSAGE :\n\tjava Big \u003cfile\u003e \u003csize\u003e\n\tsize : Defines the Size in MB of the rubbish-file to create\n\tfile : Defines the name of the file to create\n\t\n\tTis program makes very big file\n\t\n\tWarning :\n\tTHIS PROGRAM IS ONLY FOR TO LEARN NOT TO SPAM SOME OTHERS AS YOU!\n\nBig2\n====\n\nBig 2 arbeitete wesentlich genauer als Big 1 und ermöglichte das Erzeugen\nvon verschiedenen Daten, entweder nur „Null-Bytes“, Zufallstexte oder\nzufällige Binärdaten.\n\n## Bedienung\n\nDas Interface hatte sich gegenüber Big1 wesentlich verbessert.\n\n\t$ java Big2\n\t-------------------------------------------------------------------\n\t Big 2.0, Copyright (c) Ma_Sys.ma, Further Info : Ma_Sys.ma@gmx.de\n\t-------------------------------------------------------------------\n\t\n\tUSAGE : java Big2 \u003cmodus\u003e \u003cdestination_file\u003e \u003cfilesize_mb\u003e\n\tAvariable Options for \u003cmodus\u003e :\n\t rtext - \u003cdestination_file\u003e is filled with random text\n\t zeros - \u003cdestination_file\u003e is filled with lots of zeros\n\t rbin  - \u003cdestination_file\u003e is filled with random bytes\n\tThe output will sent to \u003cdestination_file\u003e\n\tThe size of \u003cdestination_file\u003e will be \u003cfilesize_mb\u003e in MB.\n\tEnter -1 as filesize for infinite Size, the Program then never exits.\n\t\n\tWARNING!\n\t This program is only for testing some things with big files.\n\t Use it only if you know, what you do. Don't spam people with this program.\n\nBig3\n====\n\nBei Big3 wurde vor allem an der Geschwindigkeit gearbeitet. Das Programm\nschrieb die Daten nun in 10 MB Blocks, um Festplattenzugriffe effizienter zu\ngestalten. Das Erzeugen von Zufallstexten dauerte wie auch in der Vorversion,\nziemlich lange.\n\n![Big 3 erstellt eine Binärdatei mit 5 GB Zufallsbytes](big4_att/screenshot3.png)\n\n## Bedienung\n\nDas Interface war verglichen zur Vorversion ausgereifter und bot\nerstmalig eine andere Einheit als „MiB“, um auch größere Dateien schnell zu\nerstellen.\n\n\t$ java Big3\n\tBig 3.0.0.1, Copyright (c) 2011 Ma_Sys.ma.\n\tFor further info send an e-mail to Ma_Sys.ma@web.de.\n\t\n\tUsage: java Big3 \u003cmethod\u003e \u003cfile\u003e \u003csize\u003e \u003cunit\u003e\n\t\n\t\u003cmethod\u003e\n\t   zeros  Writes '0' bytes into \u003cfile\u003e.\n\t   rtext  Writes random text to \u003cfile\u003e.\n\t   rbin   Writes random bytes to \u003cfile\u003e.\n\t\u003cfile\u003e\n\t   The file to write the data to.\n\t\u003csize\u003e\n\t   A figure which gives a size.\n\t\u003cunit\u003e\n\t   B    Writes \u003csize\u003e bytes to \u003cfile\u003e.\n\t   KiB  Writes \u003csize\u003e*1024 bytes to \u003cfile\u003e.\n\t   MiB  Writes \u003csize\u003e*1024² bytes to \u003cfile\u003e.\n\t   GiB  Writes \u003csize\u003e*1024³ bytes to \u003cfile\u003e.\n\nBig4\n====\n\nWie schon beim Vorgänger Big3 wurde auch in dieser Version die Performance\ndrastisch verbessert. Damit sollte sich Big erstmalig auch zum Benchmarken von\nFestplatten einsetzen lassen. Insbesondere die zufallsbasierenden Modi hatten\nnun deutlich an Geschwindigkeit zugelegt. Zum Vergleich gibt es unten auch\neine Benchmarktabelle der unterschiedlichen Big-Versionen verglichen mit den\nLinux Standardmitteln. In allen diesen Fällen wurden die Daten nach `/dev/null`\ngeschrieben und die Geschwindigkeit unter Linux mit `pv` ermittelt. Zufallstext\nwurde unter Linux mit Hilfe von `cat /dev/urandom | cat -v | pv \u003e /dev/null`\nsimuliert. Bei Big1 gab es ja keine unterschiedlichen Modi, sodass die\nGeschwindigkeit unter „Nullbytes“ angegeben wurde.\n\nProgramm  Nullbytes   Zufallstext  Zufallsbytes\n--------  ----------  -----------  ------------\nLinux     9.5 GiB/s   29 MiB/s     13 MiB/s\nBig1      299 MiB/s   n/a          n/a\nBig2      15 MiB/s    19 MiB/s     5 MiB/s\nBig3      3.7 GiB/s   79 MiB/s     276 MiB/s\nBig4      3.8 GiB/s   823 MiB/s    1394 Mib/s\n\nDie starke Beschleunigung bei Big4 wird vor Allem durch die konsequente\nVerwendung von mehreren Threads erreicht, sodass Zufallsdaten schneller\ngeneriert werden können. Umgekehrt kommt die getrennte Generierung und Ausgabe\nder Daten auch beim Schreiben von Nullbytes zum Einsatz, sodass die nativen\nLinux Tools schneller sind.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm7a%2Fbo-big","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm7a%2Fbo-big","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm7a%2Fbo-big/lists"}