Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-15 Thread Nir Soffer
On Tue, Feb 15, 2022 at 12:18 AM Nir Soffer  wrote:

> On Mon, Feb 14, 2022 at 3:22 PM Eric Blake  wrote:
>
>> On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
>> > Add unit tests and benchmarks for AioBuffer. The tests are trivial but
>> > they server as running documentation, and they point out important
>>
>> serve
>>
>
> Fixed
>
>
>>
>> > details about the type.
>> >
>> > The benchmarks show the efficiency of allocating a new buffer, zeroing
>> > it, and interfacing with Go code.
>> >
>> > These tests will also ensure that we don't break anything by the next
>> > changes.
>> >
>> > To run the benchmarks use:
>> >
>> > $ go test -run=xxx -bench=.
>> > goos: linux
>> > goarch: amd64
>> > pkg: libguestfs.org/libnbd
>> > cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
>> > BenchmarkMakeAioBuffer-12  6871759   157.2 ns/op
>> > BenchmarkAioBufferZero-1217551 69552 ns/op
>> > BenchmarkFromBytes-12 9632139112 ns/op
>> > BenchmarkAioBufferBytes-12   69375 16410 ns/op
>> > PASS
>> > oklibguestfs.org/libnbd   5.843s
>> >
>> > To make sure the benchmarks will not break, we run them in "make check"
>> > with a very short timeout. For actual performance testing run "go test"
>> > directly.
>>
>> Sounds good to me.
>>
>
> Thanks, I'll push tomorrow if you don't have more comments.
>

Pushed
as 
28137eea9b78ca32fce97f8c68483f447b861bc9..9099657ef541a635eae0d6d79080ad5bb0bc3281
___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-14 Thread Nir Soffer
On Mon, Feb 14, 2022 at 3:22 PM Eric Blake  wrote:

> On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
> > Add unit tests and benchmarks for AioBuffer. The tests are trivial but
> > they server as running documentation, and they point out important
>
> serve
>

Fixed


>
> > details about the type.
> >
> > The benchmarks show the efficiency of allocating a new buffer, zeroing
> > it, and interfacing with Go code.
> >
> > These tests will also ensure that we don't break anything by the next
> > changes.
> >
> > To run the benchmarks use:
> >
> > $ go test -run=xxx -bench=.
> > goos: linux
> > goarch: amd64
> > pkg: libguestfs.org/libnbd
> > cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
> > BenchmarkMakeAioBuffer-12  6871759   157.2 ns/op
> > BenchmarkAioBufferZero-1217551 69552 ns/op
> > BenchmarkFromBytes-12 9632139112 ns/op
> > BenchmarkAioBufferBytes-12   69375 16410 ns/op
> > PASS
> > oklibguestfs.org/libnbd   5.843s
> >
> > To make sure the benchmarks will not break, we run them in "make check"
> > with a very short timeout. For actual performance testing run "go test"
> > directly.
>
> Sounds good to me.
>

Thanks, I'll push tomorrow if you don't have more comments.

Nir
___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-14 Thread Eric Blake
On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
> Add unit tests and benchmarks for AioBuffer. The tests are trivial but
> they server as running documentation, and they point out important

serve

> details about the type.
> 
> The benchmarks show the efficiency of allocating a new buffer, zeroing
> it, and interfacing with Go code.
> 
> These tests will also ensure that we don't break anything by the next
> changes.
> 
> To run the benchmarks use:
> 
> $ go test -run=xxx -bench=.
> goos: linux
> goarch: amd64
> pkg: libguestfs.org/libnbd
> cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
> BenchmarkMakeAioBuffer-12  6871759   157.2 ns/op
> BenchmarkAioBufferZero-1217551 69552 ns/op
> BenchmarkFromBytes-12 9632139112 ns/op
> BenchmarkAioBufferBytes-12   69375 16410 ns/op
> PASS
> oklibguestfs.org/libnbd   5.843s
> 
> To make sure the benchmarks will not break, we run them in "make check"
> with a very short timeout. For actual performance testing run "go test"
> directly.

Sounds good to me.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-12 Thread Richard W.M. Jones
On Sat, Feb 12, 2022 at 01:05:29AM +0200, Nir Soffer wrote:
> On Fri, Feb 11, 2022 at 9:08 PM Nir Soffer  wrote:
> >
> > On Fri, Feb 11, 2022 at 1:22 PM Richard W.M. Jones  
> > wrote:
> > >
> > > On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
> > > > Add unit tests and benchmarks for AioBuffer. The tests are trivial but
> > > > they server as running documentation, and they point out important
> > > > details about the type.
> > > >
> > > > The benchmarks show the efficiency of allocating a new buffer, zeroing
> > > > it, and interfacing with Go code.
> > > >
> > > > These tests will also ensure that we don't break anything by the next
> > > > changes.
> > > >
> > > > To run the benchmarks use:
> > > >
> > > > $ go test -run=xxx -bench=.
> > > [...]
> > > > +# Run the benchmarks with 10 milliseconds timeout to make sure they do
> > > > +# not break by mistake, without overloading the CI. For performance
> > > > +# testing run "go test" directly.
> > > > +$GOLANG test -run=XXX -bench=. -benchtime=10ms
> > >
> > > -run param is a regexp matching the names of the tests to run.  It
> > > might be best to use something like this instead:
> > >
> > >   go test -run= -bench=.
> > >
> > > because elsewhere we use "XXX" to mark code that needs to be fixed.
> >
> > The intent of this command is to run only the benchmark, using -run=XXX
> > to match no test. I agree this is a poor choice for this project since we 
> > use
> > XXX for other purposes.
> >
> > >
> > > Apart from this the whole series seems fine to me, ACK.
> >
> > Thanks, I'll push this with a better regex.
> 
> Updated using this change:
> 
> $ git diff -U3 aio-buffer-v2..
> diff --git a/golang/run-tests.sh b/golang/run-tests.sh
> index 3a07b23a..82dcca56 100755
> --- a/golang/run-tests.sh
> +++ b/golang/run-tests.sh
> @@ -28,7 +28,9 @@ requires nbdkit --version
>  # The -v option enables verbose output.
>  $GOLANG test -count=1 -v
> 
> -# Run the benchmarks with 10 milliseconds timeout to make sure they do
> -# not break by mistake, without overloading the CI. For performance
> +# Run the only benchmarks with 10 milliseconds timeout to make sure they
> +# do not break by mistake, without overloading the CI. For performance
>  # testing run "go test" directly.
> -$GOLANG test -run=XXX -bench=. -benchtime=10ms
> +# The -run=- parameter is the way to match no test, assuming that no test or
> +# sub test contains "-" in the name.
> +$GOLANG test -run=- -bench=. -benchtime=10ms
> 
> I'm waiting a few days in case Eric wants to comment.

I admit that I misread the original patch and thought this was a
comment (with "XXX" as a placeholder), rather than a command that
runs.  I think your updated version is better.

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-11 Thread Nir Soffer
On Fri, Feb 11, 2022 at 9:08 PM Nir Soffer  wrote:
>
> On Fri, Feb 11, 2022 at 1:22 PM Richard W.M. Jones  wrote:
> >
> > On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
> > > Add unit tests and benchmarks for AioBuffer. The tests are trivial but
> > > they server as running documentation, and they point out important
> > > details about the type.
> > >
> > > The benchmarks show the efficiency of allocating a new buffer, zeroing
> > > it, and interfacing with Go code.
> > >
> > > These tests will also ensure that we don't break anything by the next
> > > changes.
> > >
> > > To run the benchmarks use:
> > >
> > > $ go test -run=xxx -bench=.
> > [...]
> > > +# Run the benchmarks with 10 milliseconds timeout to make sure they do
> > > +# not break by mistake, without overloading the CI. For performance
> > > +# testing run "go test" directly.
> > > +$GOLANG test -run=XXX -bench=. -benchtime=10ms
> >
> > -run param is a regexp matching the names of the tests to run.  It
> > might be best to use something like this instead:
> >
> >   go test -run= -bench=.
> >
> > because elsewhere we use "XXX" to mark code that needs to be fixed.
>
> The intent of this command is to run only the benchmark, using -run=XXX
> to match no test. I agree this is a poor choice for this project since we use
> XXX for other purposes.
>
> >
> > Apart from this the whole series seems fine to me, ACK.
>
> Thanks, I'll push this with a better regex.

Updated using this change:

$ git diff -U3 aio-buffer-v2..
diff --git a/golang/run-tests.sh b/golang/run-tests.sh
index 3a07b23a..82dcca56 100755
--- a/golang/run-tests.sh
+++ b/golang/run-tests.sh
@@ -28,7 +28,9 @@ requires nbdkit --version
 # The -v option enables verbose output.
 $GOLANG test -count=1 -v

-# Run the benchmarks with 10 milliseconds timeout to make sure they do
-# not break by mistake, without overloading the CI. For performance
+# Run the only benchmarks with 10 milliseconds timeout to make sure they
+# do not break by mistake, without overloading the CI. For performance
 # testing run "go test" directly.
-$GOLANG test -run=XXX -bench=. -benchtime=10ms
+# The -run=- parameter is the way to match no test, assuming that no test or
+# sub test contains "-" in the name.
+$GOLANG test -run=- -bench=. -benchtime=10ms

I'm waiting a few days in case Eric wants to comment.

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-11 Thread Nir Soffer
On Fri, Feb 11, 2022 at 1:22 PM Richard W.M. Jones  wrote:
>
> On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
> > Add unit tests and benchmarks for AioBuffer. The tests are trivial but
> > they server as running documentation, and they point out important
> > details about the type.
> >
> > The benchmarks show the efficiency of allocating a new buffer, zeroing
> > it, and interfacing with Go code.
> >
> > These tests will also ensure that we don't break anything by the next
> > changes.
> >
> > To run the benchmarks use:
> >
> > $ go test -run=xxx -bench=.
> [...]
> > +# Run the benchmarks with 10 milliseconds timeout to make sure they do
> > +# not break by mistake, without overloading the CI. For performance
> > +# testing run "go test" directly.
> > +$GOLANG test -run=XXX -bench=. -benchtime=10ms
>
> -run param is a regexp matching the names of the tests to run.  It
> might be best to use something like this instead:
>
>   go test -run= -bench=.
>
> because elsewhere we use "XXX" to mark code that needs to be fixed.

The intent of this command is to run only the benchmark, using -run=XXX
to match no test. I agree this is a poor choice for this project since we use
XXX for other purposes.

>
> Apart from this the whole series seems fine to me, ACK.

Thanks, I'll push this with a better regex.

Nir

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



Re: [Libguestfs] [PATCH libnbd v2 1/9] golang: tests: Add test for AioBuffer

2022-02-11 Thread Richard W.M. Jones
On Fri, Feb 11, 2022 at 03:21:21AM +0200, Nir Soffer wrote:
> Add unit tests and benchmarks for AioBuffer. The tests are trivial but
> they server as running documentation, and they point out important
> details about the type.
> 
> The benchmarks show the efficiency of allocating a new buffer, zeroing
> it, and interfacing with Go code.
> 
> These tests will also ensure that we don't break anything by the next
> changes.
> 
> To run the benchmarks use:
> 
> $ go test -run=xxx -bench=.
[...]
> +# Run the benchmarks with 10 milliseconds timeout to make sure they do
> +# not break by mistake, without overloading the CI. For performance
> +# testing run "go test" directly.
> +$GOLANG test -run=XXX -bench=. -benchtime=10ms

-run param is a regexp matching the names of the tests to run.  It
might be best to use something like this instead:

  go test -run= -bench=.

because elsewhere we use "XXX" to mark code that needs to be fixed.

Apart from this the whole series seems fine to me, ACK.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs