Faker.cpp v0.0.9
Pre-release
Pre-release
Manual Faker.cpp release built from cc63ccabaf7e0f8a4a96fa4de9d8961549e623aa.
Performance
Benchmark workload: 10 runs per OS, 1000000 rows per run, 55 generated values per row. The tables use median results.
Aggregate rows are only directly comparable when the generated-result count is unchanged. Per-result rows show matching generators independently.
Aggregate
| OS | Median seconds | Best seconds | Rows/s | Calls/s | Previous |
|---|---|---|---|---|---|
| linux-x64 | 3.442940 | 3.418518 | 290449.42 | 15974717.88 | workload changed |
| windows-x64 | 5.568731 | 5.438227 | 179574.14 | 9876577.53 | workload changed |
linux-x64 Results
| Result | Median seconds | Best seconds | Rows/s | Calls/s | Previous |
|---|---|---|---|---|---|
boolean |
0.011172 | 0.011148 | 89509596.17 | 89509596.17 | 9.10% faster |
number_int |
0.006435 | 0.006422 | 155389349.38 | 155389349.38 | 0.97% faster |
number_real |
0.011300 | 0.011284 | 88496319.22 | 88496319.22 | 12.18% faster |
uuid_v4 |
0.119616 | 0.118614 | 8360107.76 | 8360107.76 | 5.40% slower |
first_name |
0.012674 | 0.012381 | 78904076.04 | 78904076.04 | 8.02% slower |
last_name |
0.013017 | 0.012994 | 76819848.77 | 76819848.77 | 3.76% slower |
full_name |
0.026887 | 0.026815 | 37193083.37 | 37193083.37 | 0.86% slower |
name_prefix |
0.016150 | 0.016094 | 61919364.70 | 61919364.70 | new result |
name_suffix |
0.010471 | 0.010458 | 95497694.35 | 95497694.35 | new result |
middle_name |
0.012981 | 0.012976 | 77036376.69 | 77036376.69 | new result |
username |
0.091291 | 0.091089 | 10954038.60 | 10954038.60 | 0.15% slower |
email |
0.183885 | 0.183221 | 5438184.78 | 5438184.78 | 4.93% faster |
domain_name |
0.114119 | 0.114042 | 8762790.39 | 8762790.39 | 9.89% faster |
url |
0.119921 | 0.119680 | 8338805.99 | 8338805.99 | 9.19% faster |
ipv4 |
0.086709 | 0.086632 | 11532762.69 | 11532762.69 | 1.53% faster |
ipv6 |
0.127095 | 0.126835 | 7868155.92 | 7868155.92 | 28.70% slower |
mac_address |
0.062239 | 0.062059 | 16067156.09 | 16067156.09 | 14.55% slower |
password |
0.095343 | 0.095071 | 10488498.57 | 10488498.57 | 17.26% slower |
user_agent |
0.026492 | 0.026412 | 37746613.25 | 37746613.25 | 0.11% faster |
phone_number |
0.059688 | 0.059598 | 16753689.94 | 16753689.94 | 5.57% slower |
building_number |
0.023806 | 0.023770 | 42005918.72 | 42005918.72 | new result |
street_name |
0.014759 | 0.012231 | 67755348.31 | 67755348.31 | new result |
street_address |
0.057512 | 0.051575 | 17387652.18 | 17387652.18 | 8.14% slower |
secondary_address |
0.032058 | 0.031785 | 31193481.31 | 31193481.31 | new result |
city |
0.013737 | 0.013723 | 72795957.70 | 72795957.70 | 6.17% faster |
country |
0.013350 | 0.013331 | 74908429.13 | 74908429.13 | 5.40% faster |
state |
0.019674 | 0.019283 | 50827228.39 | 50827228.39 | 7.32% faster |
zip_code |
0.024156 | 0.023902 | 41398085.38 | 41398085.38 | 0.38% faster |
postal_code |
0.024403 | 0.024369 | 40977938.50 | 40977938.50 | new result |
latitude |
0.010642 | 0.010626 | 93966698.95 | 93966698.95 | 18.34% faster |
longitude |
0.010997 | 0.010989 | 90935660.66 | 90935660.66 | 14.82% faster |
company_name |
0.028490 | 0.028409 | 35100072.68 | 35100072.68 | 0.66% faster |
job_title |
0.023040 | 0.022999 | 43401844.37 | 43401844.37 | 10.36% faster |
word |
0.011090 | 0.011076 | 90173232.25 | 90173232.25 | 6.09% faster |
sentence |
0.104468 | 0.102410 | 9572276.83 | 9572276.83 | 8.83% slower |
paragraph |
0.360432 | 0.359397 | 2774450.67 | 2774450.67 | 1.42% slower |
past_date |
0.119380 | 0.119110 | 8376581.34 | 8376581.34 | 0.49% faster |
future_date |
0.121728 | 0.118939 | 8215056.14 | 8215056.14 | 1.54% slower |
recent_date |
0.103876 | 0.103766 | 9626858.58 | 9626858.58 | 3.46% slower |
credit_card_number |
0.096446 | 0.096341 | 10368469.97 | 10368469.97 | 7.74% slower |
currency_code |
0.012022 | 0.012008 | 83183467.92 | 83183467.92 | 10.88% slower |
iban |
0.090321 | 0.090230 | 11071681.29 | 11071681.29 | 0.61% slower |
product_name |
0.036928 | 0.036787 | 27079721.60 | 27079721.60 | 0.00% slower |
product_category |
0.015889 | 0.015865 | 62937916.12 | 62937916.12 | 4.88% faster |
price |
0.054384 | 0.054290 | 18387886.04 | 18387886.04 | 260.88% faster |
hex_string |
0.083575 | 0.083020 | 11965229.33 | 11965229.33 | 68.40% faster |
md5 |
0.085087 | 0.084329 | 11752718.52 | 11752718.52 | 49.36% faster |
sha1 |
0.102842 | 0.102338 | 9723676.07 | 9723676.07 | 49.90% faster |
sha256 |
0.155537 | 0.154231 | 6429354.73 | 6429354.73 | 51.04% faster |
file_name |
0.073658 | 0.073497 | 13576239.59 | 13576239.59 | 1.17% faster |
file_path |
0.128138 | 0.127973 | 7804082.44 | 7804082.44 | 1.85% slower |
mime_type |
0.017128 | 0.016736 | 58383009.00 | 58383009.00 | 2.40% faster |
semver |
0.053197 | 0.053106 | 18797970.89 | 18797970.89 | 3.48% slower |
hex_color |
0.020750 | 0.020720 | 48192935.99 | 48192935.99 | 31.77% faster |
rgb_color |
0.091956 | 0.091528 | 10874797.47 | 10874797.47 | 7.06% faster |
windows-x64 Results
| Result | Median seconds | Best seconds | Rows/s | Calls/s | Previous |
|---|---|---|---|---|---|
boolean |
0.007206 | 0.007121 | 138780948.15 | 138780948.15 | 5.20% slower |
number_int |
0.007771 | 0.007441 | 128688535.14 | 128688535.14 | 8.61% faster |
number_real |
0.007892 | 0.007763 | 126706579.24 | 126706579.24 | 5.40% slower |
uuid_v4 |
0.147360 | 0.140297 | 6786108.97 | 6786108.97 | 20.32% faster |
first_name |
0.030592 | 0.027390 | 32688711.93 | 32688711.93 | 21.55% slower |
last_name |
0.033610 | 0.030093 | 29752916.90 | 29752916.90 | 26.70% slower |
full_name |
0.059459 | 0.049590 | 16818226.92 | 16818226.92 | 28.64% slower |
name_prefix |
0.030555 | 0.023575 | 32727760.67 | 32727760.67 | new result |
name_suffix |
0.024331 | 0.022066 | 41099409.20 | 41099409.20 | new result |
middle_name |
0.028935 | 0.027404 | 34560639.23 | 34560639.23 | new result |
username |
0.206456 | 0.164380 | 4843643.55 | 4843643.55 | 26.00% slower |
email |
0.285498 | 0.272883 | 3502655.80 | 3502655.80 | 7.66% slower |
domain_name |
0.176096 | 0.170967 | 5678730.37 | 5678730.37 | 0.55% slower |
url |
0.178593 | 0.172594 | 5599311.06 | 5599311.06 | 1.84% slower |
ipv4 |
0.109811 | 0.102553 | 9106555.81 | 9106555.81 | 1.19% faster |
ipv6 |
0.125735 | 0.125102 | 7953247.63 | 7953247.63 | 1.46% faster |
mac_address |
0.231408 | 0.230353 | 4321368.04 | 4321368.04 | 1.98% faster |
password |
0.288992 | 0.287991 | 3460302.80 | 3460302.80 | 0.41% slower |
user_agent |
0.067395 | 0.067271 | 14837873.97 | 14837873.97 | 4.69% slower |
phone_number |
0.067786 | 0.067054 | 14752374.03 | 14752374.03 | 12.58% faster |
building_number |
0.028034 | 0.027748 | 35671225.45 | 35671225.45 | new result |
street_name |
0.025419 | 0.025227 | 39340960.23 | 39340960.23 | new result |
street_address |
0.250393 | 0.249351 | 3993715.49 | 3993715.49 | 3.92% slower |
secondary_address |
0.045000 | 0.044494 | 22222123.46 | 22222123.46 | new result |
city |
0.024563 | 0.024470 | 40711059.36 | 40711059.36 | 3.62% slower |
country |
0.023346 | 0.023286 | 42833706.70 | 42833706.70 | 4.21% faster |
state |
0.030260 | 0.030065 | 33047472.69 | 33047472.69 | 32.41% faster |
zip_code |
0.030169 | 0.029879 | 33146277.84 | 33146277.84 | 4.23% faster |
postal_code |
0.030981 | 0.030910 | 32277899.81 | 32277899.81 | new result |
latitude |
0.008164 | 0.008138 | 122481474.68 | 122481474.68 | 6.33% faster |
longitude |
0.009039 | 0.008392 | 110627423.43 | 110627423.43 | 10.68% slower |
company_name |
0.045067 | 0.044620 | 22189308.08 | 22189308.08 | 18.37% faster |
job_title |
0.043739 | 0.043241 | 22862943.51 | 22862943.51 | 146.01% faster |
word |
0.022802 | 0.022603 | 43855802.12 | 43855802.12 | 4.42% slower |
sentence |
0.196340 | 0.194007 | 5093213.45 | 5093213.45 | 10.37% slower |
paragraph |
0.667224 | 0.663195 | 1498747.83 | 1498747.83 | 7.02% slower |
past_date |
0.130927 | 0.130314 | 7637855.66 | 7637855.66 | 3.55% slower |
future_date |
0.129422 | 0.128767 | 7726634.75 | 7726634.75 | 2.71% slower |
recent_date |
0.111068 | 0.110544 | 9003529.83 | 9003529.83 | 1.59% slower |
credit_card_number |
0.178707 | 0.178325 | 5595753.27 | 5595753.27 | 2.58% slower |
currency_code |
0.014089 | 0.014042 | 70974839.42 | 70974839.42 | 1.32% slower |
iban |
0.137809 | 0.137105 | 7256428.02 | 7256428.02 | 0.66% slower |
product_name |
0.057747 | 0.057586 | 17316946.88 | 17316946.88 | 4.92% slower |
product_category |
0.027595 | 0.027493 | 36238711.64 | 36238711.64 | 8.98% slower |
price |
0.090841 | 0.090501 | 11008299.71 | 11008299.71 | 197.52% faster |
hex_string |
0.137641 | 0.136906 | 7265253.31 | 7265253.31 | 83.94% faster |
md5 |
0.103669 | 0.103216 | 9646057.22 | 9646057.22 | 101.48% faster |
sha1 |
0.122748 | 0.122213 | 8146778.89 | 8146778.89 | 99.18% faster |
sha256 |
0.163976 | 0.163684 | 6098442.27 | 6098442.27 | 121.93% faster |
file_name |
0.121215 | 0.120889 | 8249790.46 | 8249790.46 | 1.70% slower |
file_path |
0.189366 | 0.188662 | 5280773.44 | 5280773.44 | 2.12% faster |
mime_type |
0.035216 | 0.034997 | 28395901.34 | 28395901.34 | 8.48% slower |
semver |
0.068656 | 0.068494 | 14565316.34 | 14565316.34 | 6.77% faster |
hex_color |
0.022347 | 0.022280 | 44748435.48 | 44748435.48 | 76.76% faster |
rgb_color |
0.129670 | 0.128693 | 7711898.88 | 7711898.88 | 0.88% faster |
Full machine-readable and Markdown reports are attached as performance.json and performance.md.