Skip to content

Commit

Permalink
refs #6: Optimize.
Browse files Browse the repository at this point in the history
 * Uses the latest version of libev (4.2.22 instead of 4.2.15)

   - To use default settings, install it inside /usr/local.
     (Run ./configure --prefix=/usr/local && make && sudo make install)

   - This does not show significant performance changes.

 * Uses blocking calls to ev_run() when waiting for new batch objects
   available, and invokes ev_break() when we release batch objects.

   - This reduces excessive ev_run() polling overheads and improves the
     performance by 30%.  (Still, the absolute number is too low...)

 * Uses already-dynamic-casted references in scan_offloadable_elements().

   - This reduces CPU cycles used by scan_offloadable_elements(),
     but still no performance gains.

 * Tried no-opping GPU kernel execution, but it does not give
   any performance improvments.

   - This means that current bottleneck is not the computation itself.
  • Loading branch information
achimnol committed Jan 12, 2016
1 parent 309ab57 commit 26922c9
Show file tree
Hide file tree
Showing 41 changed files with 60,998 additions and 22 deletions.
9 changes: 9 additions & 0 deletions 3rdparty/libev/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.dep
.deps
.libs
Makefile
config.h
config.log
config.status
libtool
stamp-h1
517 changes: 517 additions & 0 deletions 3rdparty/libev/Changes

Large diffs are not rendered by default.

37 changes: 37 additions & 0 deletions 3rdparty/libev/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
All files in libev are
Copyright (c)2007,2008,2009,2010,2011,2012,2013 Marc Alexander Lehmann.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Alternatively, the contents of this package may be used under the terms
of the GNU General Public License ("GPL") version 2 or any later version,
in which case the provisions of the GPL are applicable instead of the
above. If you wish to allow the use of your version of this package only
under the terms of the GPL and not to allow others to use your version of
this file under the BSD license, indicate your decision by deleting the
provisions above and replace them with the notice and other provisions
required by the GPL in this and the other files of this package. If you do
not delete the provisions above, a recipient may use your version of this
file under either the BSD or the GPL.
20 changes: 20 additions & 0 deletions 3rdparty/libev/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
AUTOMAKE_OPTIONS = foreign

VERSION_INFO = 4:0:0

EXTRA_DIST = LICENSE Changes libev.m4 autogen.sh \
ev_vars.h ev_wrap.h \
ev_epoll.c ev_select.c ev_poll.c ev_kqueue.c ev_port.c ev_win32.c \
ev.3 ev.pod Symbols.ev Symbols.event

man_MANS = ev.3

include_HEADERS = ev.h ev++.h event.h

lib_LTLIBRARIES = libev.la

libev_la_SOURCES = ev.c event.c
libev_la_LDFLAGS = -version-info $(VERSION_INFO)

ev.3: ev.pod
pod2man -n LIBEV -r "libev-$(VERSION)" -c "libev - high performance full featured event loop" -s3 <$< >$@
Loading

0 comments on commit 26922c9

Please sign in to comment.