From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <8dd291e254f1e26b6cce215fd0c949c9@terzarima.net> From: Charles Forsyth Date: Mon, 10 Jan 2011 15:06:02 +0000 To: 9fans@9fans.net In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] fs performance Topicbox-Message-UUID: 9376f74c-ead6-11e9-9d60-3106f5b1d025 I think it's fair to say that the IO path for fossil is > considerably slower than the IO path for kernel-based file systems in > Linux: slower as in multiples of 10, not multiples. There's a fair > amount of copying, allocation, and bouncing in and out of the kernel, for common applications you'd certainly hope that linux is many times faster than some systems, because it's loading things like this: % size * text data bss dec hex filename 44,520,643 105232 350084 44975959 2ae4757 chrome 9527 472 8 10007 2717 chrome-sandbox 2,049,594 12784 1089440 3151818 3017ca libffmpegsumo.so 11,711,965 221500 192368 12125833 b90689 libgcflashplayer.so 18,376,687 122092 96344 18595123 11bbd33 libpdf.so % file chrome chrome: i386 ELF executable is it statically linked, i wonder? no, all that comes attached to this: % ldd chrome linux-gate.so.1 => (0x00c08000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00a2d000) libdl.so.2 => /lib/libdl.so.2 (0x0050c000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0089a000) libXss.so.1 => /usr/lib/libXss.so.1 (0x0076e000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00835000) librt.so.1 => /lib/librt.so.1 (0x00110000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00119000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00eea000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00eae000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x004e9000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00510000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00552000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00c92000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x004f5000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00689000) libnss3.so.1d => /usr/lib/libnss3.so.1d (0x008a4000) libnssutil3.so.1d => /usr/lib/libnssutil3.so.1d (0x00865000) libsmime3.so.1d => /usr/lib/libsmime3.so.1d (0x00605000) libplc4.so.0d => /usr/lib/libplc4.so.0d (0x004fa000) libnspr4.so.0d => /usr/lib/libnspr4.so.0d (0x00d5c000) libpthread.so.0 => /lib/libpthread.so.0 (0x0062a000) libz.so.1 => /lib/libz.so.1 (0x009d7000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00644000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00772000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x007e9000) libpng12.so.0 => /lib/libpng12.so.0 (0x0080a000) libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0x009ec000) libresolv.so.2 => /lib/libresolv.so.2 (0x00674000) libcups.so.2 => /usr/lib/libcups.so.2 (0x00b4a000) libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x00b94000) libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00758000) libasound.so.2 => /usr/lib/libasound.so.2 (0x00f81000) libexpat.so.1 => /lib/libexpat.so.1 (0x00c09000) libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x00845000) libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x00c30000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x004ff000) libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00503000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x21b78000) libm.so.6 => /lib/libm.so.6 (0x00c6c000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0087e000) libc.so.6 => /lib/libc.so.6 (0x1bf3d000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00d27000) /lib/ld-linux.so.2 (0x00dfe000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x0076a000) libXi.so.6 => /usr/lib/libXi.so.6 (0x009b5000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x009c3000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x009cb000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x0082f000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00e88000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00cd4000) libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x0c8cc000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00cef000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00a1d000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00d90000) libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00a21000) libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00a25000) libpcre.so.3 => /lib/libpcre.so.3 (0x00e1c000) libplds4.so => /usr/lib/libplds4.so (0x00d15000) libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0x19467000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00e51000) libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x06660000) libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0x00d19000) libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0x00d41000) libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x00d51000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00d56000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00df0000) libselinux.so.1 => /lib/libselinux.so.1 (0x00e8e000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x12d2b000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x015b3000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x00df6000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00e80000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00dfa000) libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x00ec7000)