ClojureDart doesn't have ArrayMaps. Allocating small maps is thus more expensive than with array maps.
This could be optimized in many cases by detecting literal maps whose keys don't conflicts on the lowest 5 bits and emitting special code to allocate straight from the array + precomputed bitmaps.
This can be done in macro land the only little blocker is to make cljd-hash accessible to the macro.
ClojureDart doesn't have ArrayMaps. Allocating small maps is thus more expensive than with array maps. This could be optimized in many cases by detecting literal maps whose keys don't conflicts on the lowest 5 bits and emitting special code to allocate straight from the array + precomputed bitmaps. This can be done in macro land the only little blocker is to make cljd-hash accessible to the macro.