You can compare them but they're fundamentally different products as well. One is SQL (SQLite actually) and the other is key-value based with a much more restricted querying API (get or prefix list only).
That said, if you did compare them, KV is slower for writes depending on location. D1 is in a single location at present, so if you're near the D1 location KV is almost certainly slower to write, otherwise KV might be faster.
KV can be slower for reads because the initial read goes to the origin (one KV origin is in the US, one in the EU) but after the first read it is cached in the local datacenter and so is very fast. Again, D1 is in a single location and so if you're near that location you can expect fast reads, otherwise not as much.
It really depends on your use-case, and these facts will likely change once D1's read replicas feature is released - but they aren't yet and a DB is only in one location.