Skip to content

l0gicnz-singlethread#218

Open
l0gicnz wants to merge 33 commits intotempestphp:mainfrom
l0gicnz:single-thread
Open

l0gicnz-singlethread#218
l0gicnz wants to merge 33 commits intotempestphp:mainfrom
l0gicnz:single-thread

Conversation

@l0gicnz
Copy link

@l0gicnz l0gicnz commented Mar 2, 2026

single thread

@l0gicnz l0gicnz changed the title l0gicnz - single thread l0gicnz-singlethread Mar 2, 2026
@l0gicnz
Copy link
Author

l0gicnz commented Mar 2, 2026

/bench

@brendt
Copy link
Member

brendt commented Mar 2, 2026

Benchmarking complete! Mean execution time: 11.60750396254s

@brendt
Copy link
Member

brendt commented Mar 3, 2026

Failed to run benchmark:

Cloning into '/Users/brentroose/Dev/100-million-row-challenge/app/Commands/../../.benchmark/pr-218'...
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Package operations: 62 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing doctrine/lexer (3.0.1): Extracting archive
  - Installing guzzlehttp/promises (2.3.0): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-message (2.0): Extracting archive
  - Installing psr/http-factory (1.1.0): Extracting archive
  - Installing guzzlehttp/psr7 (2.8.0): Extracting archive
  - Installing nette/utils (v4.1.3): Extracting archive
  - Installing nette/schema (v1.3.5): Extracting archive
  - Installing dflydev/dot-access-data (v3.0.3): Extracting archive
  - Installing league/config (v1.2.0): Extracting archive
  - Installing league/mime-type-detection (1.16.0): Extracting archive
  - Installing league/flysystem-local (3.31.0): Extracting archive
  - Installing league/flysystem (3.31.0): Extracting archive
  - Installing phpstan/phpstan (2.1.40): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing psr-discovery/discovery (1.2.0): Extracting archive
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing symfony/cache-contracts (v3.6.0): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v3.6.0): Extracting archive
  - Installing symfony/event-dispatcher (v8.0.4): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.33.0): Extracting archive
  - Installing symfony/mime (v8.0.5): Extracting archive
  - Installing symfony/polyfill-uuid (v1.33.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing voku/portable-ascii (2.0.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing phpoption/phpoption (1.9.5): Extracting archive
  - Installing graham-campbell/result-type (v1.1.4): Extracting archive
  - Installing vlucas/phpdotenv (v5.6.3): Extracting archive
  - Installing tempest/highlight (2.17.1): Extracting archive
  - Installing symfony/yaml (v7.4.1): Extracting archive
  - Installing symfony/var-exporter (v7.4.0): Extracting archive
  - Installing symfony/var-dumper (v7.4.4): Extracting archive
  - Installing symfony/uid (v7.4.4): Extracting archive
  - Installing symfony/process (v7.4.5): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing egulias/email-validator (4.0.4): Extracting archive
  - Installing symfony/mailer (v7.4.4): Extracting archive
  - Installing symfony/filesystem (v7.4.0): Extracting archive
  - Installing symfony/cache (v7.4.5): Extracting archive
  - Installing rector/rector (2.3.1): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing psr/clock (1.0.0): Extracting archive
  - Installing psr-discovery/http-factory-implementations (1.2.0): Extracting archive
  - Installing psr-discovery/http-client-implementations (1.4.0): Extracting archive
  - Installing nikic/php-parser (v5.7.0): Extracting archive
  - Installing nette/php-generator (v4.2.1): Extracting archive
  - Installing monolog/monolog (3.10.0): Extracting archive
  - Installing guzzlehttp/guzzle (7.10.0): Extracting archive
  - Installing league/oauth2-client (2.9.0): Extracting archive
  - Installing league/commonmark (2.8.0): Extracting archive
  - Installing laminas/laminas-diactoros (3.8.0): Extracting archive
  - Installing giggsey/libphonenumber-for-php-lite (9.0.24): Extracting archive
  - Installing filp/whoops (2.18.4): Extracting archive
  - Installing doctrine/inflector (2.1.0): Extracting archive
  - Installing tempest/framework (v3.2.1): Extracting archive
  0/62 [>---------------------------]   0%
 28/62 [============>---------------]  45%
 41/62 [==================>---------]  66%
 52/62 [=======================>----]  83%
 57/62 [=========================>--]  91%
 62/62 [============================] 100%
Generating optimized autoload files
41 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Benchmark 1: cd /Users/brentroose/Dev/100-million-row-challenge/app/Commands/../../.benchmark/pr-218 && php -dmax_execution_time=300 tempest data:parse --input-path="/Users/brentroose/Dev/100-million-row-challenge/app/Commands/../../data/real-data.csv" --output-path="/Users/brentroose/Dev/100-million-row-challenge/app/Commands/../../data/real-data-actual.json"

Warning: fopen(--input-path=/Users/brentroose/Dev/100-million-row-challenge/app/Commands/../../data/real-data.csv): Failed to open stream: No such file or directory in /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/app/Parser.php on line 86

Fatal error: Uncaught TypeError: fread(): Argument #1 ($stream) must be of type resource, false given in /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/app/Parser.php:87
Stack trace:
#0 /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/app/Parser.php(87): fread(false, 262144)
#1 /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/app/Parser.php(45): App\Parser->discoverSlugs('--input-path=/U...')
#2 /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/app/Parser.php(37): App\Parser->execute('--input-path=/U...', '--output-path=/...')
#3 /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/tempest(9): App\Parser::parse('--input-path=/U...', '--output-path=/...')
#4 {main}
  thrown in /Users/brentroose/Dev/100-million-row-challenge/.benchmark/pr-218/app/Parser.php on line 87

@l0gicnz
Copy link
Author

l0gicnz commented Mar 3, 2026

/bench

@brendt
Copy link
Member

brendt commented Mar 3, 2026

Benchmarking complete! Mean execution time: 11.59865456994s

@brendt
Copy link
Member

brendt commented Mar 3, 2026

That’s a nice drop in mean time. Keep going—there’s still juice left. 🧃
🏆 leaderboard.csv

@brendt
Copy link
Member

brendt commented Mar 3, 2026

Mean time decreased. We love a humble average. 🙇
🏆 leaderboard-single-thread.csv

@l0gicnz
Copy link
Author

l0gicnz commented Mar 4, 2026

/bench

@brendt
Copy link
Member

brendt commented Mar 4, 2026

Benchmarking failed: Parsed result did not match expected result

@l0gicnz
Copy link
Author

l0gicnz commented Mar 4, 2026

/bench

@brendt
Copy link
Member

brendt commented Mar 4, 2026

Benchmarking failed: Parsed result did not match expected result

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants