{"id":15976510,"url":"https://github.com/tbrowder/raku-read-write-tests","last_synced_at":"2026-02-12T06:31:42.250Z","repository":{"id":147369370,"uuid":"55163953","full_name":"tbrowder/raku-read-write-tests","owner":"tbrowder","description":null,"archived":false,"fork":false,"pushed_at":"2017-10-06T21:29:03.000Z","size":150,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-07T09:54:46.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl 6","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tbrowder.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2016-03-31T15:59:48.000Z","updated_at":"2020-08-18T18:18:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd4f70c0-02bd-4099-8180-8c07e8207fd7","html_url":"https://github.com/tbrowder/raku-read-write-tests","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tbrowder/raku-read-write-tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrowder%2Fraku-read-write-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrowder%2Fraku-read-write-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrowder%2Fraku-read-write-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrowder%2Fraku-read-write-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tbrowder","download_url":"https://codeload.github.com/tbrowder/raku-read-write-tests/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrowder%2Fraku-read-write-tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29360644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"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":[],"created_at":"2024-10-07T22:24:12.922Z","updated_at":"2026-02-12T06:31:42.237Z","avatar_url":"https://github.com/tbrowder.png","language":"Perl 6","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Perl 6 Read/Write Tests\n\n[![Build Status](https://travis-ci.org/tbrowder/perl6-read-write-tests.svg?branch=master)](https://travis-ci.org/tbrowder/perl6-read-write-tests)\n\nPerl 6 is currently slow compared to Perl 5 reading ASCII text\nfiles line by line (although the time differences are not so large\nwhen UTF-8 files are read).  Such line processing is a staple of data\nprocessing in use cases such as analyzing output of many kinds of\nprograms.  An example is the category of programs known as raytracing,\none of which, used heavily by analysts and scientists, is\n[BRL-CAD](http://brlcad.org).\n\nThis test suite was developed to monitor the progress of Perl 6 versus\nPerl 5 in closing the gap of processing an ASCII or UTF-8 file of many lines.\nThe test files are of varying numbers of lines, each line consisting\nof 100 bytes, including the ending newline.\n\nThe tests currently compare Perl 6 versus Perl 5 under the following conditions:\n\n+ reading UTF-8 files (Perl 6 native read, Perl 5 using the '\u003c:encoding(UTF-8)' form of open)\n\n+ reading ASCII files (native read with both Perl versions)\n\n+ reading ASCII files (Perl 6 using the ':enc\u003clatin-1\u003e' form of open)\n\n+ reading ASCII files (Perl 6 using the ':enc\u003cascii\u003e' form of open)\n\n## Running the tests\n\n1. Edit file `run-rw-tests.p6` to set the value of array `@S` to the\n   number and size of tests to run.  Note that a bare number will be\n   interpreted as Megabytes and a number with an 'M' or 'G' appended\n   will be interpreted accordingly. The settings that generate most\n   test logs shown on the github site are:\n\n     @S = \u003c1m 1g 5g 10g\u003e; # 10K, 10M, 50M, 100M lines, respectively\n\n     $ntrials = 3;\n\n2. Edit file `run-rw-tests.p6` to set the variable `$ntrials` for\n   the number of trials desired for each size file\n\n3. Exexute file `run-rw-tests.p6`.  Two log files will be generated and \n   each placed in the appropriate `logs` subdirectories (which will be \n   created if they don't exist).\n\n## Results of recent file read tests\n\n### Before latest IO improvements\n\n+ Date: 2017-05-17\n\n+ File type: ASCII\n\n+ Rakudo version: 2017.04.3-275-g84502dc\n\n+ Perl 5 version: 5.20.2\n\n| Size  | Number lines | Trials | Perl 5 T | Perl 6 T | P6T / P5T |\n| ---:  | ---:         | :---:  | ---:     | ---:     | :---:     |\n|  1 Mb |       10,000 |    3   |   0.03 s |   0.86 s |  28.7     |\n|  1 Gb |   10,000,000 |    3   |   2.73 s |  51.50 s |  18.9     |\n|  5 Gb |   50,000,000 |    3   |  27.41 s | 410.00 s |  15.0     |\n| 10 Gb |  100,000,000 |    3   |  66.39 s | 860.56 s |  13.0     |\n\n### After latest IO improvements\n\n+ Date: 2017-06-29\n\n+ File type: ASCII\n\n+ Rakudo version: 2017.06-45-g86e7b2b\n\n+ Perl 5 version: 5.20.2\n\n| Size  | Number lines) | Trials | Perl 5 T  | Perl 6 T  | P6T / P5T | Improvement\n| ---:  | ---:          | :---:  | ---:       | ---:       | :---: | :--: |\n|  1 Mb |        10,000 |    3   |     0.03 s |     0.60 s |  20.0 | 30.3% |\n|  1 Gb |    10,000,000 |    3   |     2.67 s |    32.27 s |  12.1 | 36.0% |\n|  5 Gb |    50,000,000 |    3   |    24.37 s |   276.41 s |  11.3 | 24.7% |\n| 10 Gb |   100,000,000 |    3   |    55.40 s |   582.37 s |  10.5 | 19.2%|\n\nNotes:\n\n1. See the complete results in log files in the **logs** subdirectories.\n\n2. **T** - Time: user time from the GNU `time` program.\n\n3. **Improvement** - (prev P6T/P5T less curr P6T/P5T)/(prev P6T/P5T)\n\n4. When the number of trials is \u003e 1, the user time data are averages over that number.\n\n5. This suite is developed on a Debian system with no consideration to\n   it running successfully on any other OS.  Pull requests are\n   welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbrowder%2Fraku-read-write-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftbrowder%2Fraku-read-write-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbrowder%2Fraku-read-write-tests/lists"}