Faker.cpp v0.1.2
Manual Faker.cpp release built from 03ae5cd3c2dd85d9b8326509c6e0c9d4d8551e4f. Faker.cpp is licensed under the Apache License 2.0.
Release Highlights
Release area: New features
Highlights:
- Add formatted address helpers
- Add release benchmark rows for the new address helpers
Notes:
- Adds one-line and multi-line address helpers on Faker, location aliases, and namespace helpers.
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, 57 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 55 to 57 generated values per row, so aggregate comparison is marked as workload changed.
Total median time changed: linux-x64 3.498s -> 3.691s, windows-x64 5.481s -> 5.963s.
The largest measured improvements are ipv6 on linux-x64 (62.28% faster), mac_address on linux-x64 (36.15% faster), currency_code on windows-x64 (19.96% faster), hex_string on linux-x64 (19.94% faster), md5 on linux-x64 (17.11% faster).
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.690915 | 2.904832 | 270935.53 | 15443325.32 | workload changed: workload changed |
| windows-x64 | 5.963237 | 5.690578 | 167694.16 | 9558566.85 | workload changed: workload changed |
New Benchmark Results
linux-x64: 9 faster, 0 measured slower, 46 within runtime variance, 0 runner context, 2 new results.windows-x64: 3 faster, 0 measured slower, 52 within runtime variance, 0 runner context, 2 new results.linux-x64new rows:full_address,mailing_address.windows-x64new rows:full_address,mailing_address.
Full Per-Generator Results
linux-x64 full result table
| Result | Median seconds | Best seconds | Rows/s | Calls/s | Comparison |
|---|---|---|---|---|---|
boolean |
0.012198 | 0.009443 | 81982242.07 | 81982242.07 | runtime variance: within runtime variance (8.53% slower measured, run ranges overlap) |
number_int |
0.006902 | 0.005347 | 144877049.73 | 144877049.73 | runtime variance: within runtime variance (6.79% slower measured, run ranges overlap) |
number_real |
0.012666 | 0.009818 | 78952792.27 | 78952792.27 | runtime variance: within runtime variance (1.78% faster) |
uuid_v4 |
0.087791 | 0.067567 | 11390670.24 | 11390670.24 | runtime variance: within runtime variance (37.76% faster measured, run ranges overlap) |
first_name |
0.011717 | 0.008972 | 85345972.73 | 85345972.73 | faster: 8.22% faster |
last_name |
0.012649 | 0.010099 | 79056664.26 | 79056664.26 | runtime variance: within runtime variance (3.09% faster) |
full_name |
0.026496 | 0.020485 | 37742048.01 | 37742048.01 | runtime variance: within runtime variance (1.08% faster) |
name_prefix |
0.017744 | 0.013845 | 56355639.70 | 56355639.70 | runtime variance: within runtime variance (9.01% slower measured, run ranges overlap) |
name_suffix |
0.009723 | 0.007526 | 102845223.39 | 102845223.39 | runtime variance: within runtime variance (7.70% faster measured, run ranges overlap) |
middle_name |
0.012074 | 0.009699 | 82820776.25 | 82820776.25 | runtime variance: within runtime variance (7.59% faster measured, run ranges overlap) |
username |
0.093429 | 0.073755 | 10703354.80 | 10703354.80 | runtime variance: within runtime variance (1.72% slower) |
email |
0.193087 | 0.150734 | 5179004.34 | 5179004.34 | runtime variance: within runtime variance (3.32% slower) |
domain_name |
0.121447 | 0.094456 | 8234032.51 | 8234032.51 | runtime variance: within runtime variance (5.98% slower measured, run ranges overlap) |
url |
0.126700 | 0.098620 | 7892640.23 | 7892640.23 | runtime variance: within runtime variance (1.87% faster) |
ipv4 |
0.091247 | 0.069961 | 10959306.99 | 10959306.99 | runtime variance: within runtime variance (4.42% slower) |
ipv6 |
0.083692 | 0.064594 | 11948630.31 | 11948630.31 | faster: 62.28% faster |
mac_address |
0.050050 | 0.038620 | 19979957.51 | 19979957.51 | faster: 36.15% faster |
password |
0.085931 | 0.066383 | 11637225.76 | 11637225.76 | faster: 14.99% faster |
user_agent |
0.026882 | 0.020772 | 37199258.18 | 37199258.18 | runtime variance: within runtime variance (0.80% faster) |
phone_number |
0.058409 | 0.044781 | 17120506.91 | 17120506.91 | runtime variance: within runtime variance (2.41% faster) |
building_number |
0.024725 | 0.019796 | 40445301.15 | 40445301.15 | runtime variance: within runtime variance (3.68% slower) |
street_name |
0.012144 | 0.009901 | 82345919.98 | 82345919.98 | faster: 9.63% faster |
street_address |
0.053936 | 0.043670 | 18540597.80 | 18540597.80 | runtime variance: within runtime variance (0.54% slower) |
secondary_address |
0.034151 | 0.026988 | 29281637.11 | 29281637.11 | runtime variance: within runtime variance (3.50% slower) |
full_address |
0.169628 | 0.136012 | 5895261.83 | 5895261.83 | new result: new result |
mailing_address |
0.212548 | 0.172519 | 4704820.85 | 4704820.85 | new result: new result |
city |
0.014606 | 0.011590 | 68467037.08 | 68467037.08 | runtime variance: within runtime variance (1.35% faster) |
country |
0.013685 | 0.011121 | 73070849.20 | 73070849.20 | runtime variance: within runtime variance (2.24% slower) |
state |
0.021242 | 0.017067 | 47077493.91 | 47077493.91 | runtime variance: within runtime variance (5.45% slower measured, run ranges overlap) |
zip_code |
0.024434 | 0.019657 | 40927201.66 | 40927201.66 | runtime variance: within runtime variance (0.60% slower) |
postal_code |
0.024457 | 0.019699 | 40888041.65 | 40888041.65 | runtime variance: within runtime variance (0.30% slower) |
latitude |
0.012208 | 0.009507 | 81912137.27 | 81912137.27 | runtime variance: within runtime variance (12.83% slower measured, run ranges overlap) |
longitude |
0.012212 | 0.009484 | 81890021.70 | 81890021.70 | runtime variance: within runtime variance (9.90% slower measured, run ranges overlap) |
company_name |
0.028308 | 0.023686 | 35325503.94 | 35325503.94 | runtime variance: within runtime variance (0.47% faster) |
job_title |
0.024062 | 0.018865 | 41558813.75 | 41558813.75 | runtime variance: within runtime variance (3.91% slower) |
word |
0.011097 | 0.008852 | 90116101.98 | 90116101.98 | runtime variance: within runtime variance (0.13% slower) |
sentence |
0.096167 | 0.077442 | 10398591.59 | 10398591.59 | runtime variance: within runtime variance (8.15% faster measured, run ranges overlap) |
paragraph |
0.343969 | 0.282019 | 2907242.70 | 2907242.70 | runtime variance: within runtime variance (5.75% faster measured, run ranges overlap) |
past_date |
0.126824 | 0.098578 | 7884936.60 | 7884936.60 | runtime variance: within runtime variance (3.79% slower) |
future_date |
0.127487 | 0.099726 | 7843941.31 | 7843941.31 | runtime variance: within runtime variance (4.84% slower) |
recent_date |
0.107582 | 0.083411 | 9295213.45 | 9295213.45 | runtime variance: within runtime variance (0.75% slower) |
credit_card_number |
0.096185 | 0.074643 | 10396671.21 | 10396671.21 | faster: 5.30% faster |
currency_code |
0.011058 | 0.008300 | 90435840.16 | 90435840.16 | faster: 8.65% faster |
iban |
0.091224 | 0.071443 | 10962051.51 | 10962051.51 | runtime variance: within runtime variance (3.50% faster) |
product_name |
0.038682 | 0.031715 | 25851994.49 | 25851994.49 | runtime variance: within runtime variance (4.06% slower) |
product_category |
0.015863 | 0.013011 | 63039786.05 | 63039786.05 | runtime variance: within runtime variance (0.27% faster) |
price |
0.055824 | 0.043530 | 17913368.92 | 17913368.92 | runtime variance: within runtime variance (0.37% slower) |
hex_string |
0.069904 | 0.053992 | 14305346.84 | 14305346.84 | faster: 19.94% faster |
md5 |
0.071953 | 0.054933 | 13897909.40 | 13897909.40 | faster: 17.11% faster |
sha1 |
0.084732 | 0.065525 | 11801904.79 | 11801904.79 | runtime variance: within runtime variance (20.75% faster measured, run ranges overlap) |
sha256 |
0.121014 | 0.093718 | 8263498.37 | 8263498.37 | runtime variance: within runtime variance (28.57% faster measured, run ranges overlap) |
file_name |
0.076641 | 0.059856 | 13047839.39 | 13047839.39 | runtime variance: within runtime variance (0.30% faster) |
file_path |
0.131158 | 0.101663 | 7624399.08 | 7624399.08 | runtime variance: within runtime variance (0.71% slower) |
mime_type |
0.017344 | 0.013606 | 57655629.84 | 57655629.84 | runtime variance: within runtime variance (0.35% slower) |
semver |
0.056066 | 0.043380 | 17836067.79 | 17836067.79 | runtime variance: within runtime variance (3.45% slower) |
hex_color |
0.020260 | 0.015524 | 49358994.48 | 49358994.48 | runtime variance: within runtime variance (2.46% faster) |
rgb_color |
0.096702 | 0.074927 | 10341073.05 | 10341073.05 | runtime variance: within runtime variance (6.05% slower measured, run ranges overlap) |
windows-x64 full result table
| Result | Median seconds | Best seconds | Rows/s | Calls/s | Comparison |
|---|---|---|---|---|---|
boolean |
0.006850 | 0.005974 | 145989663.93 | 145989663.93 | faster: 7.06% faster |
number_int |
0.007349 | 0.007132 | 136068306.29 | 136068306.29 | runtime variance: within runtime variance (5.07% faster measured, run ranges overlap) |
number_real |
0.008323 | 0.006296 | 120143210.71 | 120143210.71 | runtime variance: within runtime variance (4.85% faster) |
uuid_v4 |
0.140278 | 0.113829 | 7128686.33 | 7128686.33 | runtime variance: within runtime variance (19.71% slower measured, run ranges overlap) |
first_name |
0.025920 | 0.022890 | 38580172.49 | 38580172.49 | runtime variance: within runtime variance (12.19% faster measured, run ranges overlap) |
last_name |
0.026844 | 0.024164 | 37252758.10 | 37252758.10 | runtime variance: within runtime variance (11.62% faster measured, run ranges overlap) |
full_name |
0.043481 | 0.041454 | 22998339.52 | 22998339.52 | runtime variance: within runtime variance (10.64% faster measured, run ranges overlap) |
name_prefix |
0.021623 | 0.018353 | 46247372.57 | 46247372.57 | runtime variance: within runtime variance (8.82% faster measured, run ranges overlap) |
name_suffix |
0.020281 | 0.015883 | 49306747.14 | 49306747.14 | runtime variance: within runtime variance (4.34% faster) |
middle_name |
0.026077 | 0.022995 | 38347454.78 | 38347454.78 | runtime variance: within runtime variance (11.57% faster measured, run ranges overlap) |
username |
0.147075 | 0.140563 | 6799235.90 | 6799235.90 | runtime variance: within runtime variance (3.08% faster) |
email |
0.264115 | 0.262733 | 3786223.75 | 3786223.75 | runtime variance: within runtime variance (6.47% faster measured, run ranges overlap) |
domain_name |
0.166158 | 0.161966 | 6018360.82 | 6018360.82 | runtime variance: within runtime variance (1.08% faster) |
url |
0.172017 | 0.167658 | 5813380.60 | 5813380.60 | runtime variance: within runtime variance (0.14% slower) |
ipv4 |
0.103098 | 0.095236 | 9699546.84 | 9699546.84 | runtime variance: within runtime variance (9.06% faster measured, run ranges overlap) |
ipv6 |
0.118020 | 0.107232 | 8473168.86 | 8473168.86 | runtime variance: within runtime variance (9.90% slower measured, run ranges overlap) |
mac_address |
0.222353 | 0.217279 | 4497362.41 | 4497362.41 | runtime variance: within runtime variance (1.95% slower) |
password |
0.286834 | 0.283421 | 3486341.91 | 3486341.91 | runtime variance: within runtime variance (2.09% slower) |
user_agent |
0.065881 | 0.061726 | 15178929.22 | 15178929.22 | runtime variance: within runtime variance (0.42% faster) |
phone_number |
0.067977 | 0.066647 | 14710771.52 | 14710771.52 | runtime variance: within runtime variance (2.25% faster) |
building_number |
0.027587 | 0.026098 | 36249154.94 | 36249154.94 | runtime variance: within runtime variance (2.40% faster) |
street_name |
0.025669 | 0.022789 | 38957421.49 | 38957421.49 | runtime variance: within runtime variance (8.50% faster measured, run ranges overlap) |
street_address |
0.244103 | 0.240680 | 4096628.82 | 4096628.82 | runtime variance: within runtime variance (2.08% slower) |
secondary_address |
0.045130 | 0.041709 | 22158307.81 | 22158307.81 | runtime variance: within runtime variance (6.03% faster measured, run ranges overlap) |
full_address |
0.264244 | 0.258207 | 3784373.94 | 3784373.94 | new result: new result |
mailing_address |
0.334593 | 0.320996 | 2988702.55 | 2988702.55 | new result: new result |
city |
0.024088 | 0.020823 | 41514188.51 | 41514188.51 | runtime variance: within runtime variance (10.91% faster measured, run ranges overlap) |
country |
0.022932 | 0.020646 | 43607566.78 | 43607566.78 | runtime variance: within runtime variance (14.34% faster measured, run ranges overlap) |
state |
0.029394 | 0.027390 | 34020259.06 | 34020259.06 | runtime variance: within runtime variance (10.66% faster measured, run ranges overlap) |
zip_code |
0.029786 | 0.028525 | 33573157.59 | 33573157.59 | runtime variance: within runtime variance (4.76% faster) |
postal_code |
0.031022 | 0.029819 | 32235032.07 | 32235032.07 | runtime variance: within runtime variance (4.82% faster) |
latitude |
0.008457 | 0.006873 | 118243842.45 | 118243842.45 | runtime variance: within runtime variance (7.42% faster measured, run ranges overlap) |
longitude |
0.008891 | 0.006892 | 112472022.58 | 112472022.58 | runtime variance: within runtime variance (6.09% faster measured, run ranges overlap) |
company_name |
0.044916 | 0.042287 | 22263731.71 | 22263731.71 | runtime variance: within runtime variance (11.61% faster measured, run ranges overlap) |
job_title |
0.040345 | 0.039656 | 24786157.43 | 24786157.43 | runtime variance: within runtime variance (8.81% faster measured, run ranges overlap) |
word |
0.022448 | 0.018928 | 44547299.21 | 44547299.21 | runtime variance: within runtime variance (11.05% faster measured, run ranges overlap) |
sentence |
0.199072 | 0.192705 | 5023318.24 | 5023318.24 | runtime variance: within runtime variance (2.44% faster) |
paragraph |
0.663135 | 0.653668 | 1507989.59 | 1507989.59 | faster: 7.62% faster |
past_date |
0.131348 | 0.118365 | 7613374.57 | 7613374.57 | runtime variance: within runtime variance (3.09% faster) |
future_date |
0.129132 | 0.117253 | 7743995.89 | 7743995.89 | runtime variance: within runtime variance (4.81% faster) |
recent_date |
0.113341 | 0.104737 | 8822963.70 | 8822963.70 | runtime variance: within runtime variance (1.69% faster) |
credit_card_number |
0.177640 | 0.175482 | 5629359.59 | 5629359.59 | runtime variance: within runtime variance (2.62% faster) |
currency_code |
0.014039 | 0.010965 | 71228368.83 | 71228368.83 | faster: 19.96% faster |
iban |
0.137031 | 0.135002 | 7297605.47 | 7297605.47 | runtime variance: within runtime variance (2.66% faster) |
product_name |
0.057787 | 0.056316 | 17304975.09 | 17304975.09 | runtime variance: within runtime variance (6.88% faster measured, run ranges overlap) |
product_category |
0.027240 | 0.024249 | 36710180.47 | 36710180.47 | runtime variance: within runtime variance (12.02% faster measured, run ranges overlap) |
price |
0.088337 | 0.087505 | 11320272.00 | 11320272.00 | runtime variance: within runtime variance (2.08% slower) |
hex_string |
0.136451 | 0.126213 | 7328654.23 | 7328654.23 | runtime variance: within runtime variance (2.57% faster) |
md5 |
0.104346 | 0.098905 | 9583487.27 | 9583487.27 | runtime variance: within runtime variance (5.14% slower measured, run ranges overlap) |
sha1 |
0.121378 | 0.114924 | 8238698.15 | 8238698.15 | runtime variance: within runtime variance (4.97% slower) |
sha256 |
0.163265 | 0.152586 | 6125013.36 | 6125013.36 | runtime variance: within runtime variance (6.17% slower measured, run ranges overlap) |
file_name |
0.119858 | 0.112140 | 8343230.49 | 8343230.49 | runtime variance: within runtime variance (2.65% faster) |
file_path |
0.183815 | 0.175656 | 5440255.39 | 5440255.39 | runtime variance: within runtime variance (4.77% faster) |
mime_type |
0.034284 | 0.031876 | 29167912.38 | 29167912.38 | runtime variance: within runtime variance (10.24% faster measured, run ranges overlap) |
semver |
0.068673 | 0.062638 | 14561795.53 | 14561795.53 | runtime variance: within runtime variance (7.06% faster measured, run ranges overlap) |
hex_color |
0.022318 | 0.020373 | 44806380.43 | 44806380.43 | runtime variance: within runtime variance (1.09% faster) |
rgb_color |
0.126586 | 0.123269 | 7899758.39 | 7899758.39 | runtime variance: within runtime variance (1.92% faster) |
Full machine-readable and Markdown reports are attached as performance.json and performance.md.