What's the difference between kernel of stable release and trunk?

trunk's kernel is 100kb bigger than release's.
we have a third party bootloader called breed and cannot flash trunk in breed because the 100kb bigger.
hope to know how to reduce the kernel size.

What is dw33d's release?

Are you talking about a router and it's OEM firmware? Likely those still use some older kernel version like 2.6 or 3.x that were somewhat smaller than 4.x.

release : https://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/nand/lede-17.01.4-ar71xx-nand-domywifi-dw33d-squashfs-sysupgrade.bin
trunk : https://downloads.lede-project.org/snapshots/targets/ar71xx/nand/lede-ar71xx-nand-domywifi-dw33d-squashfs-sysupgrade.bin
kernel size have 100kb difference

The kernel won't get any smaller with the switch to v4.9 (supposed to happen this weekend for ar71xx), so you really need to fix your boot loader if it's limiting you that way.

LEDE release builds do disable KERNEL_KALLSYMS, which does shrink the kernel at the expense of readability/ usability of kernel oopses. But if 100 KB pose a problem for your bootloader, you'll be in trouble with kernel 4.9 and 4.14, regardless of KALLSYMS or not.

but both kernel of release and trunk are 4.4.so i just wonder why they have the 100kb difference.

Like slh said, there are kernel compilation options that affect the kernel binary size. Release builds are made smaller by sacrificing some debugging capabilities.