anchor.diff:             (result (time (deserialize-object-from-bytes (type-of population) buffer))))
         (assert-true (proto:proto-equal population result :exact t)))))
   
  +#+off
   (deftest performance-test (serialization-tests)
     (let ((population (make-population))
           (count 0))
  
positive.code:                       strval)
          (slots-equalp (second (recvals test6))
                        (second (recvals (deserialize-object 'basic-test6 tser6)))
                        strval)))))
  
  ;; TODO(cgay): surely this can re-use the code from basic-serialization, above?
  (deftest basic-optimized-serialization (serialization-tests)
    (dolist (class '(basic-test1 basic-test2 basic-test3 basic-test4 basic-test5 basic-test6))
      (let ((message (proto:find-message-for-class class)))
        (handler-bind ((style-warning #'muffle-warning))
          (eval (proto-impl:generate-serializer   message))
          (eval (proto-impl:generate-deserializer message)))))
    (let* ((test1  (proto-impl:make-object basic-test1 :intval 150))
           (test1b (proto-impl:make-object basic-test1 :intval -150))
           (test2  (proto-impl:make-object basic-test2 :strval "testing"))
  
negative.code:       (assert-true (equalp tser4 #(#x1A #x09 #x12 #x07 #x74 #x65 #x73 #x74 #x69 #x6E #x67)))
        (assert-true (equalp tser5 *tser5-bytes*))
        (assert-true (equalp tser6 *tser6-bytes*))
        (assert-true (equalp tser7 *tser7-bytes*))
        (macrolet ((slots-equalp (obj1 obj2 &rest slots)
                     (proto-impl::with-gensyms (vobj1 vobj2)
                       (proto-impl::with-collectors ((forms collect-form))
  