Hi!

Currently I'm working on V8 performance for RISC-V and BigInt seems as one 
of the worst bottlenecks due to countless memcpy() calls for handling 
unaligned memory access. Today most of RISC-V hardware does not have vector 
extension so memcpy() is implemented as byte-by-byte copying and generates 
~30% overhead on BigInt microbenches.

AFAIK support of kDoubleAlignment is also far from done, right?

My question is about dynamic padding, is there a reason why we cannot 
allocate kTaggedSize of extra space per BigInt instance and make digit 
array floating to meet ALIGNED condition? Additional integer & and + 
operations for calculating of nearest ALIGNED position still look much more 
efficient than memcpy() even with vectors.

Thank you

Regards,
Alex

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/ef279ddb-13d4-4346-9db7-20fe069dfa62n%40googlegroups.com.

Reply via email to