Skip to content

Faker.cpp v0.1.0

Choose a tag to compare

@github-actions github-actions released this 29 May 13:33
· 10 commits to main since this release

Manual Faker.cpp release built from 91a27de5b3f6ce8cda4bef24181504de1f3f7a0f. The planned stable release target remains v0.1.0; this project is still unlicensed.

Release Highlights

What changed: Performance reporting now separates aggregate workload context from per-generator comparisons.

What improved: Comparable benchmark changes under 5% are shown as runtime variance instead of regressions.

What is new: Full Linux and Windows per-generator tables are available in expandable sections below.

Full metrics: Download performance.json for machine-readable data or performance.md for the complete Markdown report.

Runtime note: This release does not change generator/runtime code from v0.0.9; the performance tables are fresh GitHub runner measurements, not proof of a runtime optimization.

Performance Summary

Benchmark workload: 10 runs per OS, 1000000 rows per run, 55 generated values per row. The tables use median results.

Small per-generator movements below 5% are treated as runtime variance.
Performance tables show fresh-runner measurements for this release. Treat them as regression signals only when the related generator/runtime code changed.

The largest measured improvements are ipv6 on linux-x64 (42.43% faster), street_name on linux-x64 (38.14% faster), username on windows-x64 (35.85% faster), currency_code on linux-x64 (34.70% faster), uuid_v4 on windows-x64 (32.56% faster).

Aggregate rows are only directly comparable when the generated-result count is unchanged. Per-result rows show matching generators independently.

OS Median seconds Best seconds Rows/s Calls/s Previous
linux-x64 3.097898 3.085092 322799.53 17753974.42 11.14% faster
windows-x64 5.492775 5.460589 182057.33 10013153.37 within runtime variance (1.38% faster)

New Benchmark Results

  • linux-x64: 44 improved, 0 possible regressions, 11 within runtime variance, 0 new results.
  • windows-x64: 10 improved, 17 possible regressions, 28 within runtime variance, 0 new results.

Full Per-Generator Results

linux-x64 full result table
Result Median seconds Best seconds Rows/s Calls/s Previous
boolean 0.010726 0.010702 93232486.86 93232486.86 within runtime variance (4.16% faster)
number_int 0.006370 0.006321 156995877.60 156995877.60 within runtime variance (1.03% faster)
number_real 0.010642 0.010581 93963092.14 93963092.14 6.18% faster
uuid_v4 0.099273 0.099079 10073264.36 10073264.36 20.49% faster
first_name 0.009825 0.009745 101782367.01 101782367.01 29.00% faster
last_name 0.010908 0.010867 91672632.26 91672632.26 19.33% faster
full_name 0.022885 0.022777 43697372.80 43697372.80 17.49% faster
name_prefix 0.014339 0.014281 69740629.02 69740629.02 12.63% faster
name_suffix 0.008114 0.008065 123245340.68 123245340.68 29.06% faster
middle_name 0.010139 0.010099 98624834.48 98624834.48 28.02% faster
username 0.087475 0.087338 11431782.71 11431782.71 within runtime variance (4.36% faster)
email 0.165989 0.165728 6024497.54 6024497.54 10.78% faster
domain_name 0.098009 0.097883 10203106.09 10203106.09 16.44% faster
url 0.103521 0.102119 9659898.64 9659898.64 15.84% faster
ipv4 0.083432 0.083144 11985741.14 11985741.14 within runtime variance (3.93% faster)
ipv6 0.089236 0.089182 11206252.63 11206252.63 42.43% faster
mac_address 0.049335 0.049176 20269677.52 20269677.52 26.16% faster
password 0.092924 0.092592 10761487.83 10761487.83 within runtime variance (2.60% faster)
user_agent 0.025106 0.024758 39831403.23 39831403.23 5.52% faster
phone_number 0.051547 0.051367 19399807.59 19399807.59 15.79% faster
building_number 0.019915 0.019855 50213077.94 50213077.94 19.54% faster
street_name 0.010684 0.010662 93598074.24 93598074.24 38.14% faster
street_address 0.046055 0.045778 21713375.07 21713375.07 24.88% faster
secondary_address 0.029701 0.029524 33669313.24 33669313.24 7.94% faster
city 0.012094 0.012000 82686856.48 82686856.48 13.59% faster
country 0.011526 0.011455 86759099.52 86759099.52 15.82% faster
state 0.018091 0.017898 55275596.94 55275596.94 8.75% faster
zip_code 0.020947 0.020885 47739188.97 47739188.97 15.32% faster
postal_code 0.021108 0.021044 47375459.92 47375459.92 15.61% faster
latitude 0.010235 0.010214 97704525.00 97704525.00 within runtime variance (3.98% faster)
longitude 0.010426 0.010401 95916052.74 95916052.74 5.48% faster
company_name 0.025715 0.025462 38888489.96 38888489.96 10.79% faster
job_title 0.021544 0.021306 46416656.19 46416656.19 6.95% faster
word 0.008817 0.008713 113420773.94 113420773.94 25.78% faster
sentence 0.092742 0.091288 10782640.43 10782640.43 12.64% faster
paragraph 0.340813 0.339744 2934157.42 2934157.42 5.76% faster
past_date 0.106166 0.106013 9419223.67 9419223.67 12.45% faster
future_date 0.106118 0.105851 9423461.95 9423461.95 14.71% faster
recent_date 0.090500 0.090329 11049736.39 11049736.39 14.78% faster
credit_card_number 0.094889 0.093832 10538616.52 10538616.52 within runtime variance (1.64% faster)
currency_code 0.008925 0.008789 112050743.75 112050743.75 34.70% faster
iban 0.084372 0.084281 11852252.41 11852252.41 7.05% faster
product_name 0.035997 0.035905 27779896.38 27779896.38 within runtime variance (2.59% faster)
product_category 0.014276 0.014195 70047961.14 70047961.14 11.30% faster
price 0.050485 0.050344 19807759.75 19807759.75 7.72% faster
hex_string 0.079862 0.079573 12521544.10 12521544.10 within runtime variance (4.65% faster)
md5 0.081152 0.080827 12322543.74 12322543.74 within runtime variance (4.85% faster)
sha1 0.097502 0.097002 10256171.47 10256171.47 5.48% faster
sha256 0.149689 0.149161 6680505.98 6680505.98 within runtime variance (3.91% faster)
file_name 0.066489 0.066337 15040116.20 15040116.20 10.78% faster
file_path 0.115215 0.114971 8679401.84 8679401.84 11.22% faster
mime_type 0.015855 0.015816 63070637.51 63070637.51 8.03% faster
semver 0.049261 0.049188 20300075.51 20300075.51 7.99% faster
hex_color 0.017557 0.017435 56956891.27 56956891.27 18.19% faster
rgb_color 0.083380 0.083207 11993321.09 11993321.09 10.29% faster
windows-x64 full result table
Result Median seconds Best seconds Rows/s Calls/s Previous
boolean 0.007360 0.007315 135874180.51 135874180.51 within runtime variance (2.09% slower)
number_int 0.007698 0.007643 129902183.66 129902183.66 within runtime variance (0.94% faster)
number_real 0.008728 0.008694 114573129.16 114573129.16 possible regression (9.58% slower)
uuid_v4 0.111165 0.109999 8995608.79 8995608.79 32.56% faster
first_name 0.029806 0.028942 33549785.37 33549785.37 within runtime variance (2.63% faster)
last_name 0.029831 0.029786 33521950.17 33521950.17 12.67% faster
full_name 0.047869 0.047673 20890215.65 20890215.65 24.21% faster
name_prefix 0.023675 0.023617 42238202.34 42238202.34 29.06% faster
name_suffix 0.020903 0.020789 47839450.80 47839450.80 16.40% faster
middle_name 0.029549 0.028950 33841520.16 33841520.16 within runtime variance (2.08% slower)
username 0.151975 0.151398 6580020.95 6580020.95 35.85% faster
email 0.282758 0.282413 3536587.50 3536587.50 within runtime variance (0.97% faster)
domain_name 0.167991 0.167721 5952692.76 5952692.76 within runtime variance (4.82% faster)
url 0.171506 0.171114 5830701.50 5830701.50 within runtime variance (4.13% faster)
ipv4 0.112623 0.109904 8879180.98 8879180.98 within runtime variance (2.50% slower)
ipv6 0.106254 0.105912 9411432.54 9411432.54 18.33% faster
mac_address 0.218298 0.218113 4580903.45 4580903.45 6.01% faster
password 0.280097 0.279700 3570186.66 3570186.66 within runtime variance (3.18% faster)
user_agent 0.066665 0.066337 15000386.26 15000386.26 within runtime variance (1.10% faster)
phone_number 0.069082 0.068319 14475592.70 14475592.70 within runtime variance (1.88% slower)
building_number 0.028240 0.028047 35410514.09 35410514.09 within runtime variance (0.73% slower)
street_name 0.028878 0.028845 34627957.23 34627957.23 possible regression (11.98% slower)
street_address 0.244748 0.244412 4085829.38 4085829.38 within runtime variance (2.31% faster)
secondary_address 0.047808 0.047749 20916848.21 20916848.21 possible regression (5.87% slower)
city 0.026629 0.026545 37553678.29 37553678.29 possible regression (7.76% slower)
country 0.026521 0.025571 37705826.68 37705826.68 possible regression (11.97% slower)
state 0.032988 0.032613 30314329.28 30314329.28 possible regression (8.27% slower)
zip_code 0.031462 0.031301 31784576.85 31784576.85 within runtime variance (4.11% slower)
postal_code 0.032613 0.032549 30662337.14 30662337.14 possible regression (5.01% slower)
latitude 0.009115 0.009073 109712279.55 109712279.55 possible regression (10.43% slower)
longitude 0.009445 0.008415 105872201.67 105872201.67 within runtime variance (4.30% slower)
company_name 0.049876 0.049410 20049703.21 20049703.21 possible regression (9.64% slower)
job_title 0.044744 0.044511 22349540.10 22349540.10 within runtime variance (2.25% slower)
word 0.025238 0.024880 39622084.56 39622084.56 possible regression (9.65% slower)
sentence 0.209652 0.207616 4769813.57 4769813.57 possible regression (6.35% slower)
paragraph 0.709940 0.701919 1408570.43 1408570.43 possible regression (6.02% slower)
past_date 0.134551 0.133981 7432098.49 7432098.49 within runtime variance (2.69% slower)
future_date 0.134655 0.133724 7426385.95 7426385.95 within runtime variance (3.89% slower)
recent_date 0.114024 0.113975 8770071.95 8770071.95 within runtime variance (2.59% slower)
credit_card_number 0.183499 0.183239 5449609.10 5449609.10 within runtime variance (2.61% slower)
currency_code 0.016824 0.016794 59437836.94 59437836.94 possible regression (16.26% slower)
iban 0.140955 0.140761 7094470.32 7094470.32 within runtime variance (2.23% slower)
product_name 0.061797 0.061243 16181910.57 16181910.57 possible regression (6.55% slower)
product_category 0.030568 0.030457 32713949.23 32713949.23 possible regression (9.73% slower)
price 0.085083 0.084449 11753229.20 11753229.20 6.77% faster
hex_string 0.139750 0.139345 7155640.18 7155640.18 within runtime variance (1.51% slower)
md5 0.099591 0.099285 10041017.56 10041017.56 within runtime variance (4.09% faster)
sha1 0.115772 0.115505 8637670.87 8637670.87 6.03% faster
sha256 0.158144 0.157586 6323364.86 6323364.86 within runtime variance (3.69% faster)
file_name 0.122693 0.122347 8150437.52 8150437.52 within runtime variance (1.20% slower)
file_path 0.191332 0.191064 5226526.82 5226526.82 within runtime variance (1.03% slower)
mime_type 0.038015 0.037320 26305232.77 26305232.77 possible regression (7.36% slower)
semver 0.072698 0.072166 13755527.14 13755527.14 possible regression (5.56% slower)
hex_color 0.022450 0.022183 44542933.82 44542933.82 within runtime variance (0.46% slower)
rgb_color 0.128640 0.127372 7773652.99 7773652.99 within runtime variance (0.80% faster)

Full machine-readable and Markdown reports are attached as performance.json and performance.md.