Skip to content

Faker.cpp v0.1.3

Latest

Choose a tag to compare

@github-actions github-actions released this 30 May 22:53

Manual Faker.cpp release built from 1d5cd1bc9a019ec1065d14a41f7992c11f613022. Faker.cpp is licensed under the Apache License 2.0.

Release Highlights

Release area: New features

Highlights:

  • Added animal data generators and category aliases
  • Updated docs, tests, and benchmark sections for the expanded API

Notes:

  • This release expands the fake data API while keeping performance comparisons sectioned by generator.

Runtime code: Generator/runtime code changed; performance tables can be used as comparison signals for related changes.

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

Performance Summary

Benchmark workload: 5 fresh runner instances per OS, 2 runs per runner, 1000000 rows per run, 66 generated values per row. The tables use median results across 10 total runs per OS.

Small per-generator movements below 5% are treated as runtime variance.

Performance tables compare fresh-runner measurements for this release against the previous release.

The benchmark workload grew from 57 to 66 generated values per row, so aggregate comparison is marked as workload changed.

Total median time changed: linux-x64 3.691s -> 3.870s, windows-x64 5.963s -> 6.326s.

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

Legend: faster, measured slower, runtime variance, runner context, new result, workload changed, no previous metric.

OS Median seconds Best seconds Rows/s Calls/s Comparison
linux-x64 3.870262 3.769556 258380.46 17053110.19 workload changed: workload changed
windows-x64 6.326336 5.982551 158069.38 10432579.23 workload changed: workload changed

New Benchmark Results

  • linux-x64: 0 faster, 2 measured slower, 55 within runtime variance, 0 runner context, 9 new results.
  • windows-x64: 0 faster, 1 measured slower, 56 within runtime variance, 0 runner context, 9 new results.
  • linux-x64 new rows: animal, animal_type, mammal, bird, reptile, fish, insect, dog and 1 more.
  • windows-x64 new rows: animal, animal_type, mammal, bird, reptile, fish, insect, dog and 1 more.

Full Per-Generator Results

linux-x64 full result table
Result Median seconds Best seconds Rows/s Calls/s Comparison
boolean 0.012126 0.011039 82469751.33 82469751.33 runtime variance: within runtime variance (0.59% faster)
number_int 0.006892 0.006426 145095615.83 145095615.83 runtime variance: within runtime variance (0.15% faster)
number_real 0.012619 0.011764 79243889.67 79243889.67 runtime variance: within runtime variance (0.37% faster)
uuid_v4 0.088453 0.087154 11305485.44 11305485.44 runtime variance: within runtime variance (0.75% slower)
first_name 0.011485 0.011371 87071850.30 87071850.30 runtime variance: within runtime variance (2.02% faster)
last_name 0.012636 0.012551 79136397.16 79136397.16 runtime variance: within runtime variance (0.10% faster)
full_name 0.027076 0.026460 36932784.68 36932784.68 runtime variance: within runtime variance (2.14% slower)
name_prefix 0.017690 0.016691 56530601.65 56530601.65 runtime variance: within runtime variance (0.31% faster)
name_suffix 0.010395 0.009833 96200859.70 96200859.70 runtime variance: within runtime variance (6.46% slower measured, run ranges overlap)
middle_name 0.012118 0.011750 82518541.81 82518541.81 runtime variance: within runtime variance (0.36% slower)
username 0.093505 0.091424 10694621.15 10694621.15 runtime variance: within runtime variance (0.08% slower)
email 0.192745 0.186238 5188199.79 5188199.79 runtime variance: within runtime variance (0.18% faster)
domain_name 0.121877 0.113089 8204962.59 8204962.59 runtime variance: within runtime variance (0.35% slower)
url 0.126963 0.119449 7876319.85 7876319.85 runtime variance: within runtime variance (0.21% slower)
ipv4 0.088261 0.086360 11330065.83 11330065.83 runtime variance: within runtime variance (3.38% faster)
ipv6 0.083555 0.083193 11968101.01 11968101.01 runtime variance: within runtime variance (0.16% faster)
mac_address 0.051717 0.049733 19335897.39 19335897.39 runtime variance: within runtime variance (3.22% slower)
password 0.085284 0.085020 11725480.36 11725480.36 runtime variance: within runtime variance (0.76% faster)
user_agent 0.026965 0.026257 37084680.55 37084680.55 runtime variance: within runtime variance (0.31% slower)
phone_number 0.057117 0.056815 17507910.23 17507910.23 runtime variance: within runtime variance (2.26% faster)
building_number 0.023828 0.023655 41967341.69 41967341.69 runtime variance: within runtime variance (3.76% faster)
street_name 0.014580 0.014240 68589102.61 68589102.61 measured slower: measured slower (16.71% slower, needs confirmation)
street_address 0.052579 0.052361 19019063.64 19019063.64 runtime variance: within runtime variance (2.58% faster)
secondary_address 0.034070 0.032478 29351134.33 29351134.33 runtime variance: within runtime variance (0.24% faster)
full_address 0.171480 0.170640 5831589.15 5831589.15 runtime variance: within runtime variance (1.08% slower)
mailing_address 0.214258 0.211592 4667280.71 4667280.71 runtime variance: within runtime variance (0.80% slower)
city 0.016681 0.015575 59948771.38 59948771.38 measured slower: measured slower (12.44% slower, needs confirmation)
country 0.014425 0.013311 69322581.12 69322581.12 runtime variance: within runtime variance (5.13% slower measured, run ranges overlap)
state 0.020659 0.019543 48404106.91 48404106.91 runtime variance: within runtime variance (2.82% faster)
zip_code 0.024223 0.023795 41283814.33 41283814.33 runtime variance: within runtime variance (0.87% faster)
postal_code 0.024125 0.023787 41450490.27 41450490.27 runtime variance: within runtime variance (1.38% faster)
latitude 0.011697 0.010374 85493373.28 85493373.28 runtime variance: within runtime variance (4.37% faster)
longitude 0.011696 0.010525 85497594.50 85497594.50 runtime variance: within runtime variance (4.41% faster)
company_name 0.028236 0.026971 35415561.15 35415561.15 runtime variance: within runtime variance (0.25% faster)
job_title 0.024670 0.022607 40535310.12 40535310.12 runtime variance: within runtime variance (2.46% slower)
word 0.010380 0.010366 96343049.08 96343049.08 runtime variance: within runtime variance (6.91% faster measured, run ranges overlap)
sentence 0.098214 0.095499 10181855.11 10181855.11 runtime variance: within runtime variance (2.08% slower)
paragraph 0.354373 0.350684 2821885.10 2821885.10 runtime variance: within runtime variance (2.94% slower)
past_date 0.125305 0.120164 7980505.03 7980505.03 runtime variance: within runtime variance (1.21% faster)
future_date 0.125514 0.120121 7967235.22 7967235.22 runtime variance: within runtime variance (1.57% faster)
recent_date 0.106749 0.104529 9367790.09 9367790.09 runtime variance: within runtime variance (0.78% faster)
credit_card_number 0.093298 0.093088 10718374.22 10718374.22 runtime variance: within runtime variance (3.09% faster)
currency_code 0.011077 0.010727 90279530.71 90279530.71 runtime variance: within runtime variance (0.17% slower)
iban 0.087632 0.087125 11411294.79 11411294.79 runtime variance: within runtime variance (4.10% faster)
product_name 0.037527 0.035452 26647465.92 26647465.92 runtime variance: within runtime variance (3.08% faster)
product_category 0.015962 0.015859 62648204.12 62648204.12 runtime variance: within runtime variance (0.62% slower)
price 0.056685 0.055544 17641255.94 17641255.94 runtime variance: within runtime variance (1.52% slower)
hex_string 0.069833 0.069569 14319963.03 14319963.03 runtime variance: within runtime variance (0.10% faster)
md5 0.071066 0.070860 14071501.41 14071501.41 runtime variance: within runtime variance (1.25% faster)
sha1 0.085024 0.084683 11761362.82 11761362.82 runtime variance: within runtime variance (0.34% slower)
sha256 0.121243 0.120879 8247897.73 8247897.73 runtime variance: within runtime variance (0.19% slower)
file_name 0.074529 0.072887 13417536.60 13417536.60 runtime variance: within runtime variance (2.83% faster)
file_path 0.129644 0.128267 7713432.74 7713432.74 runtime variance: within runtime variance (1.17% faster)
mime_type 0.018016 0.016694 55506894.51 55506894.51 runtime variance: within runtime variance (3.73% slower)
semver 0.053445 0.052458 18710889.33 18710889.33 runtime variance: within runtime variance (4.90% faster)
hex_color 0.019951 0.019864 50123308.35 50123308.35 runtime variance: within runtime variance (1.55% faster)
rgb_color 0.095476 0.090012 10473851.22 10473851.22 runtime variance: within runtime variance (1.28% faster)
animal 0.038685 0.034568 25849498.87 25849498.87 new result: new result
animal_type 0.013625 0.013567 73392009.51 73392009.51 new result: new result
mammal 0.017137 0.016416 58352729.29 58352729.29 new result: new result
bird 0.015708 0.014856 63660288.33 63660288.33 new result: new result
reptile 0.018070 0.017189 55341614.10 55341614.10 new result: new result
fish 0.017995 0.016721 55571924.57 55571924.57 new result: new result
insect 0.017079 0.015940 58551656.85 58551656.85 new result: new result
dog 0.022108 0.020294 45233185.55 45233185.55 new result: new result
cat 0.022225 0.020605 44993449.52 44993449.52 new result: new result
windows-x64 full result table
Result Median seconds Best seconds Rows/s Calls/s Comparison
boolean 0.007471 0.007392 133858056.92 133858056.92 measured slower: measured slower (8.31% slower, needs confirmation)
number_int 0.007791 0.007736 128347462.25 128347462.25 runtime variance: within runtime variance (5.67% slower measured, run ranges overlap)
number_real 0.009334 0.006550 107134056.85 107134056.85 runtime variance: within runtime variance (10.83% slower measured, run ranges overlap)
uuid_v4 0.136238 0.111681 7340087.93 7340087.93 runtime variance: within runtime variance (2.97% faster)
first_name 0.026442 0.023357 37817978.29 37817978.29 runtime variance: within runtime variance (1.98% slower)
last_name 0.027849 0.024329 35907738.66 35907738.66 runtime variance: within runtime variance (3.61% slower)
full_name 0.044938 0.042337 22252708.43 22252708.43 runtime variance: within runtime variance (3.24% slower)
name_prefix 0.022753 0.018889 43950344.90 43950344.90 runtime variance: within runtime variance (4.97% slower)
name_suffix 0.020886 0.016286 47879535.09 47879535.09 runtime variance: within runtime variance (2.89% slower)
middle_name 0.027113 0.023392 36882948.28 36882948.28 runtime variance: within runtime variance (3.82% slower)
username 0.150600 0.146575 6640115.06 6640115.06 runtime variance: within runtime variance (2.34% slower)
email 0.274569 0.268130 3642071.09 3642071.09 runtime variance: within runtime variance (3.81% slower)
domain_name 0.165592 0.162607 6038931.79 6038931.79 runtime variance: within runtime variance (0.34% faster)
url 0.168510 0.164319 5934371.20 5934371.20 runtime variance: within runtime variance (2.08% faster)
ipv4 0.104408 0.099016 9577856.00 9577856.00 runtime variance: within runtime variance (1.25% slower)
ipv6 0.121213 0.105987 8249923.17 8249923.17 runtime variance: within runtime variance (2.63% slower)
mac_address 0.225767 0.217460 4429349.22 4429349.22 runtime variance: within runtime variance (1.51% slower)
password 0.293227 0.279497 3410331.22 3410331.22 runtime variance: within runtime variance (2.18% slower)
user_agent 0.066015 0.060130 15148037.99 15148037.99 runtime variance: within runtime variance (0.20% slower)
phone_number 0.071805 0.069071 13926626.18 13926626.18 runtime variance: within runtime variance (5.33% slower measured, run ranges overlap)
building_number 0.028837 0.026843 34677250.16 34677250.16 runtime variance: within runtime variance (4.34% slower)
street_name 0.027377 0.024418 36527412.00 36527412.00 runtime variance: within runtime variance (6.24% slower measured, run ranges overlap)
street_address 0.254878 0.240756 3923448.04 3923448.04 runtime variance: within runtime variance (4.23% slower)
secondary_address 0.047249 0.044956 21164603.47 21164603.47 runtime variance: within runtime variance (4.48% slower)
full_address 0.264543 0.258261 3780098.09 3780098.09 runtime variance: within runtime variance (0.11% slower)
mailing_address 0.328692 0.323108 3042365.09 3042365.09 runtime variance: within runtime variance (1.80% faster)
city 0.026273 0.022311 38062395.69 38062395.69 runtime variance: within runtime variance (8.31% slower measured, run ranges overlap)
country 0.024276 0.020866 41193202.30 41193202.30 runtime variance: within runtime variance (5.54% slower measured, run ranges overlap)
state 0.030163 0.028012 33153750.52 33153750.52 runtime variance: within runtime variance (2.55% slower)
zip_code 0.031677 0.029286 31568745.68 31568745.68 runtime variance: within runtime variance (5.97% slower measured, run ranges overlap)
postal_code 0.033727 0.030579 29649747.53 29649747.53 runtime variance: within runtime variance (8.02% slower measured, run ranges overlap)
latitude 0.009463 0.007337 105670266.50 105670266.50 runtime variance: within runtime variance (10.63% slower measured, run ranges overlap)
longitude 0.010262 0.007356 97449740.30 97449740.30 runtime variance: within runtime variance (13.36% slower measured, run ranges overlap)
company_name 0.045627 0.042579 21917087.66 21917087.66 runtime variance: within runtime variance (1.56% slower)
job_title 0.040763 0.040459 24532111.31 24532111.31 runtime variance: within runtime variance (1.02% slower)
word 0.022632 0.019442 44185614.93 44185614.93 runtime variance: within runtime variance (0.81% slower)
sentence 0.197896 0.189162 5053165.62 5053165.62 runtime variance: within runtime variance (0.59% faster)
paragraph 0.668546 0.655649 1495782.83 1495782.83 runtime variance: within runtime variance (0.81% slower)
past_date 0.130547 0.117473 7660079.38 7660079.38 runtime variance: within runtime variance (0.61% faster)
future_date 0.133653 0.117870 7482072.95 7482072.95 runtime variance: within runtime variance (3.38% slower)
recent_date 0.111193 0.102024 8993367.84 8993367.84 runtime variance: within runtime variance (1.93% faster)
credit_card_number 0.195047 0.176690 5126961.51 5126961.51 runtime variance: within runtime variance (8.92% slower measured, run ranges overlap)
currency_code 0.014995 0.011642 66688451.56 66688451.56 runtime variance: within runtime variance (6.37% slower measured, run ranges overlap)
iban 0.136801 0.135477 7309906.79 7309906.79 runtime variance: within runtime variance (0.17% faster)
product_name 0.057737 0.057259 17319796.18 17319796.18 runtime variance: within runtime variance (0.09% faster)
product_category 0.027897 0.024936 35845891.34 35845891.34 runtime variance: within runtime variance (2.35% slower)
price 0.086781 0.085525 11523306.17 11523306.17 runtime variance: within runtime variance (1.79% faster)
hex_string 0.140858 0.130712 7099348.28 7099348.28 runtime variance: within runtime variance (3.13% slower)
md5 0.106512 0.098437 9388600.27 9388600.27 runtime variance: within runtime variance (2.03% slower)
sha1 0.118414 0.114564 8444915.30 8444915.30 runtime variance: within runtime variance (2.50% faster)
sha256 0.164919 0.152898 6063590.08 6063590.08 runtime variance: within runtime variance (1.00% slower)
file_name 0.121822 0.118900 8208711.41 8208711.41 runtime variance: within runtime variance (1.61% slower)
file_path 0.190715 0.189606 5243437.05 5243437.05 runtime variance: within runtime variance (3.62% slower)
mime_type 0.034928 0.032270 28630571.15 28630571.15 runtime variance: within runtime variance (1.84% slower)
semver 0.071747 0.064288 13937865.00 13937865.00 runtime variance: within runtime variance (4.28% slower)
hex_color 0.022345 0.021777 44752841.25 44752841.25 runtime variance: within runtime variance (0.12% slower)
rgb_color 0.128694 0.126733 7770354.93 7770354.93 runtime variance: within runtime variance (1.64% slower)
animal 0.045098 0.043363 22174104.42 22174104.42 new result: new result
animal_type 0.027277 0.023031 36660923.12 36660923.12 new result: new result
mammal 0.027406 0.023211 36488693.07 36488693.07 new result: new result
bird 0.027740 0.024099 36048701.80 36048701.80 new result: new result
reptile 0.024160 0.021513 41391328.10 41391328.10 new result: new result
fish 0.025011 0.021738 39982008.10 39982008.10 new result: new result
insect 0.024885 0.021453 40185334.76 40185334.76 new result: new result
dog 0.031822 0.029341 31424405.45 31424405.45 new result: new result
cat 0.031933 0.029605 31315910.20 31315910.20 new result: new result

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