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.jsonfor machine-readable data orperformance.mdfor 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-x64new rows:animal,animal_type,mammal,bird,reptile,fish,insect,dogand 1 more.windows-x64new rows:animal,animal_type,mammal,bird,reptile,fish,insect,dogand 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.