2 things 1) I already have the file open. 2) heres the output when applying the same method to char count
def char_count(file_path) do
file_path
|> File.stream!()
|> Stream.map(&String.length/1)
|> Enum.sum()
end
{file_len_wc, _} =
System.shell("wc -m #{file_path}")
|> elem(0)
|> Integer.parse()
file_len_fn = file_path |> char_count()
{file_len_wc, file_len_fn} |> IO.inspect()
heres a sample of the output
{790, 785}
{1285, 1280}
{767, 762}
{898, 893}
{636, 631}
{800, 795}
{720, 715}
{911, 906}
{990, 985}
{773, 768}
{596, 591}
{651, 646}
{906, 901}
{632, 627}
{953, 948}
{1256, 1251}
{1163, 1158}
{1011, 1006}
{734, 729}
{685, 680}
{744, 739}
{639, 634}
{620, 615}
{806, 801}
{649, 644}
{641, 636}
{1078, 1073}
{760, 755}
{801, 796}
{656, 651}
{905, 900}
{649, 644}
{1116, 1111}
{838, 833}
{731, 726}
{611, 606}
{649, 644}
{585, 580}
{744, 739}
{968, 963}
{923, 918}
{620, 615}
{806, 801}
{1205, 1200}
{1124, 1119}
{760, 755}
{603, 598}
{597, 592}
{1197, 1192}
{790, 785}
{585, 580}
{768, 763}
{610, 605}
{962, 957}
{585, 580}
{859, 854}
{575, 570}
{843, 838}
{1139, 1134}
{834, 829}
{1031, 1026}
{968, 963}
{818, 813}
{642, 637}
{552, 547}
{1116, 1111}
{603, 598}
{642, 637}
{1056, 1051}
{576, 571}
{734, 729}
{811, 806}
{790, 785}
{595, 590}
{648, 643}
{717, 712}
{1094, 1089}
{849, 844}
{1162, 1157}
{691, 686}
{698, 693}
{896, 891}
{901, 896}
{1007, 1002}
{768, 763}
{922, 917}
{1081, 1076}
{969, 964}
{1121, 1116}
{825, 820}
{821, 816}
{765, 760}
{955, 950}
{1193, 1188}
{1102, 1097}
{576, 571}
{1275, 1270}
{919, 914}
{1206, 1201}
{699, 694}
{571, 566}
{835, 830}
{600, 595}
{576, 571}
{1086, 1081}
{949, 944}
{585, 580}
{1092, 1087}
{695, 690}
{617, 612}
{715, 710}
{1145, 1140}
{1151, 1146}
{971, 966}
{779, 774}
{638, 633}
{1020, 1015}
{570, 565}
{622, 617}
{968, 963}
{1055, 1050}
{571, 566}
{849, 844}
{1012, 1007}
{1302, 1297}
{576, 571}
{897, 892}
{841, 836}
{1134, 1129}
{1041, 1036}
{620, 615}
{1059, 1054}
{645, 640}
{885, 880}
{576, 571}
{1224, 1219}
{1189, 1184}
{887, 882}
{622, 617}
{1265, 1260}
{1235, 1230}
{993, 988}
{1103, 1098}
{1012, 1007}
{848, 843}
{985, 980}
{921, 916}
{685, 680}
{595, 590}
{1150, 1145}
{1045, 1040}
{515, 510}
{1015, 1010}
{785, 780}
{619, 614}
{609, 604}
{740, 735}
{864, 859}
{619, 614}
{976, 971}
{1134, 1129}
{619, 614}
{907, 902}
{1292, 1287}
{912, 907}
{775, 770}
{870, 865}
{732, 727}
{638, 633}
{647, 642}
{923, 918}
{931, 926}
{751, 746}
{869, 864}
{1082, 1077}
{767, 762}
{586, 581}
{667, 662}
{678, 673}
{617, 612}
{576, 571}
{741, 736}
{875, 870}
{823, 818}
{618, 613}
{798, 793}
{770, 765}
{641, 636}
{818, 813}
{652, 647}
{590, 585}
{1369, 1364}
{805, 800}
{1090, 1085}
{1294, 1289}
{1151, 1146}
{1040, 1035}
{615, 610}
{837, 832}
{1036, 1031}
{707, 702}
{1400, 1395}
{784, 779}
{1252, 1247}
{1110, 1105}
{603, 598}
{1132, 1127}
{585, 580}
{683, 678}
{1035, 1030}
{1120, 1115}
{588, 583}
{618, 613}
{583, 578}
{741, 736}
{801, 796}
{559, 554}
{658, 653}
{1136, 1131}
{636, 631}
{576, 571}
{700, 695}
{881, 876}
{1027, 1022}
{1171, 1166}
{515, 510}
{1080, 1075}
{907, 902}
{1011, 1006}
{835, 830}
{585, 580}
{835, 830}
{595, 590}
{771, 766}
{805, 800}
{724, 719}
Its not reliable