Getting the result of a request returning 5000 SearchEntry takes about 5 mins on my machine with a local server vs less than a sec using ldapsearch or the haskell bindings.
I'm not sure if the issue is to blame to ldap-client tho, digging a bit into it and it seems the main cost centers are caused by functions from Data.ASN1.* from theses libraries : https://github.com/vincenthz/hs-asn1
Mon Mar 7 11:22 2022 Time and Allocation Profiling Report (Final)
proto-ldap +RTS -p -RTS
total time = 182.49 secs (182487 ticks @ 1000 us, 1 processor)
total alloc = 628,984,851,976 bytes (excludes profiling overheads)
COST CENTRE MODULE SRC %time %alloc
getWord8 Data.ASN1.Get Data/ASN1/Get.hs:(200,1)-(204,43) 45.3 44.7
runParseState Data.ASN1.BinaryEncoding.Parse Data/ASN1/BinaryEncoding/Parse.hs:(79,1)-(135,47) 31.8 32.3
getHeader Data.ASN1.Serialize Data/ASN1/Serialize.hs:(22,1)-(26,37) 14.3 12.0
getBytes Data.ASN1.Get Data/ASN1/Get.hs:(191,1)-(197,13) 8.1 10.8
Reporting cause I think that information needs to be visible somewhere.
Are you aware of this performance issue ?
Getting the result of a request returning 5000
SearchEntrytakes about 5 mins on my machine with a local server vs less than a sec usingldapsearchor the haskell bindings.I'm not sure if the issue is to blame to
ldap-clienttho, digging a bit into it and it seems the main cost centers are caused by functions fromData.ASN1.*from theses libraries : https://github.com/vincenthz/hs-asn1Reporting cause I think that information needs to be visible somewhere.
Are you aware of this performance issue ?