Giter VIP home page Giter VIP logo

Comments (4)

nigeltao avatar nigeltao commented on July 28, 2024

I'm just curious how this particular gif was created.

I'm not 100% confident that I remember the details, but I suspect that it was created by the byzanz tool.

this yields new performance numbers which compare quite favorably

Thanks, but since we all have different hardware, I can't really learn much from these raw numbers without knowing a comparison point (on the same hardware, obviously). For example, numbers for "the old rust" or "wuffs/gif" or "C/giflib". When comparing two different Benchmarketc runs, I use the benchstat program to derive summary statistics (e.g. standard deviations and p-values).

from wuffs.

HeroicKatora avatar HeroicKatora commented on July 28, 2024

Thanks, but since we all have different hardware, I can't really learn much from these raw numbers without knowing a comparison point (on the same hardware, obviously). For example, numbers for "the old rust" or "wuffs/gif" or "C/giflib".

the numbers for gcc -O3 test/c/gif.c && ./a.out -bench:

Benchmarkwuffs_gif_decode_1k_bw/gcc10	  200000	    1567 ns/op	     653.388 MB/s
Benchmarkwuffs_gif_decode_1k_color_full_init/gcc10	  100000	    5489 ns/op	     183.617 MB/s
Benchmarkwuffs_gif_decode_1k_color_part_init/gcc10	  100000	    4161 ns/op	     242.213 MB/s
Benchmarkwuffs_gif_decode_10k_bgra/gcc10	   10000	   52387 ns/op	     769.650 MB/s
Benchmarkwuffs_gif_decode_10k_indexed/gcc10	   10000	   41503 ns/op	     242.873 MB/s
Benchmarkwuffs_gif_decode_20k/gcc10	    5000	   67273 ns/op	     285.401 MB/s
Benchmarkwuffs_gif_decode_100k_artificial/gcc10	    1500	  219455 ns/op	     628.392 MB/s
Benchmarkwuffs_gif_decode_100k_realistic/gcc10	    1000	  548069 ns/op	     251.617 MB/s
Benchmarkwuffs_gif_decode_1000k_full_init/gcc10	     100	 3924560 ns/op	     254.992 MB/s
Benchmarkwuffs_gif_decode_1000k_part_init/gcc10	     100	 3922270 ns/op	     255.141 MB/s
Benchmarkwuffs_gif_decode_anim_screencap/gcc10	     100	 3348490 ns/op	    1389.342 MB/s
Benchmarkwuffs_gif_decode_1k_bw/gcc10	  200000	    1575 ns/op	     650.028 MB/s
Benchmarkwuffs_gif_decode_1k_color_full_init/gcc10	  100000	    5475 ns/op	     184.106 MB/s
Benchmarkwuffs_gif_decode_1k_color_part_init/gcc10	  100000	    4183 ns/op	     240.922 MB/s
Benchmarkwuffs_gif_decode_10k_bgra/gcc10	   10000	   52488 ns/op	     768.163 MB/s
Benchmarkwuffs_gif_decode_10k_indexed/gcc10	   10000	   41521 ns/op	     242.767 MB/s
Benchmarkwuffs_gif_decode_20k/gcc10	    5000	   67409 ns/op	     284.828 MB/s
Benchmarkwuffs_gif_decode_100k_artificial/gcc10	    1500	  218344 ns/op	     631.588 MB/s
Benchmarkwuffs_gif_decode_100k_realistic/gcc10	    1000	  549226 ns/op	     251.087 MB/s
Benchmarkwuffs_gif_decode_1000k_full_init/gcc10	     100	 3917780 ns/op	     255.434 MB/s
Benchmarkwuffs_gif_decode_1000k_part_init/gcc10	     100	 3929240 ns/op	     254.689 MB/s
Benchmarkwuffs_gif_decode_anim_screencap/gcc10	     100	 3374310 ns/op	    1378.710 MB/s
Benchmarkwuffs_gif_decode_1k_bw/gcc10	  200000	    1561 ns/op	     655.825 MB/s
Benchmarkwuffs_gif_decode_1k_color_full_init/gcc10	  100000	    5495 ns/op	     183.422 MB/s
Benchmarkwuffs_gif_decode_1k_color_part_init/gcc10	  100000	    4154 ns/op	     242.633 MB/s
Benchmarkwuffs_gif_decode_10k_bgra/gcc10	   10000	   52682 ns/op	     765.343 MB/s
Benchmarkwuffs_gif_decode_10k_indexed/gcc10	   10000	   41623 ns/op	     242.171 MB/s
Benchmarkwuffs_gif_decode_20k/gcc10	    5000	   67333 ns/op	     285.147 MB/s
Benchmarkwuffs_gif_decode_100k_artificial/gcc10	    1500	  218626 ns/op	     630.775 MB/s
Benchmarkwuffs_gif_decode_100k_realistic/gcc10	    1000	  547527 ns/op	     251.867 MB/s
Benchmarkwuffs_gif_decode_1000k_full_init/gcc10	     100	 3935070 ns/op	     254.311 MB/s
Benchmarkwuffs_gif_decode_1000k_part_init/gcc10	     100	 3914220 ns/op	     255.666 MB/s
Benchmarkwuffs_gif_decode_anim_screencap/gcc10	     100	 3373890 ns/op	    1378.882 MB/s
Benchmarkwuffs_gif_decode_1k_bw/gcc10	  200000	    1569 ns/op	     652.351 MB/s
Benchmarkwuffs_gif_decode_1k_color_full_init/gcc10	  100000	    5478 ns/op	     183.978 MB/s
Benchmarkwuffs_gif_decode_1k_color_part_init/gcc10	  100000	    4161 ns/op	     242.211 MB/s
Benchmarkwuffs_gif_decode_10k_bgra/gcc10	   10000	   53005 ns/op	     760.678 MB/s
Benchmarkwuffs_gif_decode_10k_indexed/gcc10	   10000	   41800 ns/op	     241.147 MB/s
Benchmarkwuffs_gif_decode_20k/gcc10	    5000	   67582 ns/op	     284.098 MB/s
Benchmarkwuffs_gif_decode_100k_artificial/gcc10	    1500	  218334 ns/op	     631.617 MB/s
Benchmarkwuffs_gif_decode_100k_realistic/gcc10	    1000	  549995 ns/op	     250.736 MB/s
Benchmarkwuffs_gif_decode_1000k_full_init/gcc10	     100	 3917530 ns/op	     255.450 MB/s
Benchmarkwuffs_gif_decode_1000k_part_init/gcc10	     100	 3950690 ns/op	     253.306 MB/s
Benchmarkwuffs_gif_decode_anim_screencap/gcc10	     100	 3356460 ns/op	    1386.043 MB/s
Benchmarkwuffs_gif_decode_1k_bw/gcc10	  200000	    1562 ns/op	     655.420 MB/s
Benchmarkwuffs_gif_decode_1k_color_full_init/gcc10	  100000	    5486 ns/op	     183.725 MB/s
Benchmarkwuffs_gif_decode_1k_color_part_init/gcc10	  100000	    4160 ns/op	     242.286 MB/s
Benchmarkwuffs_gif_decode_10k_bgra/gcc10	   10000	   52965 ns/op	     761.255 MB/s
Benchmarkwuffs_gif_decode_10k_indexed/gcc10	   10000	   41722 ns/op	     241.597 MB/s
Benchmarkwuffs_gif_decode_20k/gcc10	    5000	   67457 ns/op	     284.622 MB/s
Benchmarkwuffs_gif_decode_100k_artificial/gcc10	    1500	  220192 ns/op	     626.289 MB/s
Benchmarkwuffs_gif_decode_100k_realistic/gcc10	    1000	  549098 ns/op	     251.146 MB/s
Benchmarkwuffs_gif_decode_1000k_full_init/gcc10	     100	 3960640 ns/op	     252.670 MB/s
Benchmarkwuffs_gif_decode_1000k_part_init/gcc10	     100	 3916360 ns/op	     255.526 MB/s
Benchmarkwuffs_gif_decode_anim_screencap/gcc10	     100	 3403920 ns/op	    1366.717 MB/s

In other words, the performance difference is no longer ×7 but rather ~×2.3.

from wuffs.

HeroicKatora avatar HeroicKatora commented on July 28, 2024

I'm not 100% confident that I remember the details, but I suspect that it was created by the byzanz tool.

Thanks, I'll have a look.

from wuffs.

HeroicKatora avatar HeroicKatora commented on July 28, 2024

Heh, I should just have read your source code... Since you made the same observation but more accurately reported it.

https://github.com/google/wuffs/blob/master/std/gif/decode_gif.wuffs#L889-L906

Sorry for the noice 🙂

from wuffs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.